Unity接入android版的微信sdk记要

发表于2017-09-22
评论0 6.2k浏览

一、微信SDK登录无法调起,微信SDK无法接收回调的几种解决办法

下面说的第2小点真的是浪费了我整天的时间 
参考:http://www.cnblogs.com/yejiurui/p/6900376.html

平时在开发中,有些开发者经常会遇到微信登录SDK登录时,无法调起微信客户端,以及登录完毕后无法回调的情况 
这些情况,大概原因如下,请对号入座: 
1.包名和签名,跟微信后台登记的不一样,导致无法调起微信 
2.回调类WXEntryActivity 的包名和 application Id不一致,导致无法回调

针对上面情况的简短解答: 
1、仔细检查微信后台登记的包名和签名是否正确!然后再测试 
2、使用Android Studio开发后,Application Id和package Name 可以不一致,但是你的微信回调类,谨记一点要跟微信后台登记注册的包名一致,否则无法回调!!很多人栽倒这上面

二、android studio导出jar给uinty用

1、先随便创建一个android studios工程,包名什么都随便。 
2、再在这个工程中新建一个android library的module. 
这个module创建时要指定一具包名,对它的包名只有一个要求,就是只不和unity工程的包名相同就好。 
3、然后将你要引用的其它jar包导入 
4、一般的java类都可以创建在这个module的默认包名下面。 
5、但注意上面的第2小点提到的。你要创建一个包名为: 

。。。
。。。
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/classes.jar')
    compile files('libs/wechat-sdk-android-with-mta-1.3.5.jar')
}
task makeJar(type: Copy) {
    delete 'build/libs/mylibs.jar'
    from('build/intermediates/bundles/release/')
    into('build/libs/')
    include('classes.jar')
    include('wechat-sdk-android-with-mta-1.3.5.jar')
    rename ('classes.jar', 'mylibs.jar')
}
makeJar.dependsOn(build)
// gradlew makeJar 用这个命令行来生成jar包

三、微信sdk登录,流程

// 1、读取本地保存的 access_token
//      1.1 本地有,验证是否有效
//          1.1.1 有效,ok返回
//          1.1.2 无效,走 refresh_token 逻辑
//      1.2 本地没有,获取 access_token 注:这走用户授权页面
//          成功返回后,保存 access_token 和 refresh_token                   
// 2、读取地保存的 refresh_token
//      2.1 如果本地有refresh_token,用它来刷新 access_token
//          2.1.1 如果 refresh_token 有效,会得到新的  access_token 和 refresh_token
//                  保存新的  access_token 和 refresh_token
//                  ok返回
//          2.1.2 如果 refresh_token 无效,重新获取 access_token 注:这走用户授权页面
//                  成功返回后,保存 access_token 和 refresh_token 
//      2.2 本地没有refresh_token,获取 access_token 注:这走用户授权页面 
//          成功返回后,保存 access_token 和 refresh_token 。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

0个评论