好菜!看得好爽!|

Nyanyan

园龄:6年5个月粉丝:3关注:2

Unity对接安卓微信登录

Unity对接安卓微信登录

微信开放平台

首先得注册一个微信开放平台账号

管理中心-添加应用,这个应用官网也是必填的,对个人开发者不是很友好,我自己随便建了个官网,官网不能太简单,太简单审核不给通过

然后官网里面一定要有几行大字,和你填写的移动应用名称一致,不然审核也不给你过。

一天大概审一次,今天没过基本等明天。

第一个页面填完后,第二个页面的应用签名(使用unity生成的keystore文件获取,最后有方式)、包名(全局统一)非常重要,一定要和你Unity里面的一模一样,不然就和我一样好不容易过了结果签名不一致,然后修改签名又等一天审核。

 审核过后,就可以申请开通微信登录功能了

 

没有开发者资质调用次数也有限制,资质300一年

 到这里我们微信开放平台的东西就弄完了,你就可以拿到AppID和AppSecret了

安卓相关操作

 先在Android Studio新建一个空项目

 包名就是这个Package name一定要保持!!!

 然后再新建Moudle,记得改包名,我这截的图是没改之前的

 导入下列这些文件,在导入classes.jar和wechat-sdk时右键选一下as library,这两个文件没有左边的下拉图标的话就说明还没导进来

 然后再修改我们创建的Module下的build.gradle,引入这两个jar包,可以修改一下minSdk版本,as默认的后面unity打包会报错,先提前修改一下

 修改APPID,这个是你上面微信开放平台申请的

  修改APPID

现在就可以打包我们的安卓插件了,Make Moudule开始打包

 复制这两个文件到Unity目录下

 然后用压缩工具打开arr文件,删除arr文件libs文件夹下的classes.jar文件就行了(这个classes文件,我看教程里面使用的是unity编辑器里面的,但我的编辑器的classes文件大小不对,不清楚原因,后面直接用roy大佬项目里面的classes文件就可以了,还有就是classes文件的目录也可以不太一致,我这边只需要删掉libs里面的classes.jar就行了,视频教程里面还得删一些东西,具体原因没去研究)

 到这里安卓插件包就生成到unity下了

Unity相关操作

工程直接用的unity_roy大佬的工程,脚本就一个WXLogin,自行修改一下APPID和SECRET就可以进行unity的安卓打包了

记得在ProjectSetting里面设置一下keystore,可以自己生成一个keystore,第一步微信开放平台里面的签名就是用这个keystore文件获取的,这个签名如果和开放平台提交的不一致的话也无法登录

unity打包如果报错的话,确认一下gradle版本是不是正确,我unity都是用的2021的默认配置,没有改动过,如果可以打包但是apk运行闪退的话,就用AS连模拟器看一下具体报错,一般是因为依赖引入、各种版本号导致的问题,看具体报错进行排查

 打包运行应该就能登录了

参考文章

相关工程源码都在roy老师群里获取,查考以下视频教程

Unity2022接入微信登录和微信分享_哔哩哔哩_bilibili

记录

各种工具版本号

Android Studio:2022.2.1

AS Gradle Plugin Version:8.0.2

AS Gradle Version:8.0

Unity:2021.3.25f1c1

Unity Gradle:6.1.1

JDK:1.8

Unity配置基本按照2021.3.25默认设置

查看keystore信息,获取签名

把上面创建的keystore文件复制到你java目录下的keytool文件所在目录下(如C:\Program Files\Java\jdk1.8.0_151\bin),然后运行下面的命令(keystore名字改成你自己的)就可以获取签名了

keytool -list -v -keystore test.keystore

unity中要有Android代码中对应的GameObject,如下图中的WXLoginObject,不然可能没有响应

 2023/11/20 新项目重新对接记录 记得修改unity发布设置,使用自定义的配置,照下图进行修改

 build之后应该有AndroidManifest、gradleTemplate、mainTemplate这几个文件,还有个导入的arr包

mainTemplate添加这一行依赖,否则可能报错Unable to get provider androidx.core.content.FileProvider: java.lang.ClassNotFoundException: Didn't find class "androidx.core.content.FileProvider"

implementation 'androidx.appcompat:appcompat:1.2.0'

 

本文作者:Nyanyan

本文链接:https://www.cnblogs.com/nyan/p/17552824.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Nyanyan  阅读(1206)  评论(0编辑  收藏  举报
   
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起