美文网首页Cocos CreatorCocosCocos Creator
CocosCreator-【微信SDK】Android平台-An

CocosCreator-【微信SDK】Android平台-An

作者: 伏波Rinnsio1xy | 来源:发表于2018-03-22 16:56 被阅读481次

    Cococs Creator的微信SDK的接入方法其实和cocos2d-x的lua、cpp接入方式一样,Cococs Creator调用安卓的java步骤要更简单,下面我们开始进入ccc接入微信sdk登录的正确方式。登录当中的获取相关的数据信息的流程,微信开发平台说的很清楚了,我们这个笔记只会把接入中的重点突出说明,如果你接入sdk中有其他问题,可以下方留言。

    一、注意事项

    1.要测试微信SDK的登录,发布的时候不能发Debug版本,不然是拉取不了code和微信客户端也打不开的,请发布release版本,密钥库也是审核的密钥库和签名,还有包名都要一致

    2.WXEntryActivity所在目录必须是wxapi目录,wxapi目录必须是包名所在目录:我的包名是org.cocos.unkchess


    3.AndroidManifest.xml 配置文件需要增加WXEntryActivity的启动,AndroidManifest.xml 在安卓目录下,修改如下:

    android:exproted = "true"必须要

    二、准备工作

    1.需要在微信开发平台申请app的APP_ID, APP_SECRET这个需要自行先审核好

    2.下载好微信sdk的“libammsdk.jar”放入到安卓工程的libs下面

    3.编写WXEntryActivity,网上很多现成的可以拷贝修改

    4.Cococs Creator  JS调用Java:jsb.reflection.callStaticMethod(WXEntryActivity目录, Java的方法名字, 参数类型,参数内容)

    如:

      jsb.reflection.callStaticMethod("org/cocos/unkchess/wxapi/WXEntryActivity","RegisterAppID", "Ljava/lang/String;", app_id)

    5.Cococs Creator Java调用 JS: Cocos2dxJavascriptJavaBridge.evalString()

    如:Cocos2dxJavascriptJavaBridge.evalString("cc.Client.WechatPlatformManager.wechatOnRespone(\"" + s_code + "\")");;其中"cc.Client.WechatPlatformManager.wechatOnRespone()" 是我js端的一个函数,s_code是传递到js的参数内容。

    注意:Cocos2dxJavascriptJavaBridge.evalString(“js代码”)必须在runOnGLThread 线程里面进行调用,否则微信登录返回app会黑屏,并且崩溃重启。

    6.微信需要的3个URL地址格式:

    var TOKEN_CODE_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code"

    var USER_INFO_URL      = "https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s"

    var REFRESH_TOKEN_URL  = "https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=%s&grant_type=refresh_token&refresh_token=%s"

    7.js中格式化字符串:cc.js.formatStr(字符, 格式的内容)如:var str = cc.js.formatStr("hello %s",world)

    二、WXEntryActivity的编写(只截登录部分的代码)

    WXEntryActivity 的初始在AppActivity里:

    四 、WXEntryActivity 登录核心部分

    1.发送auth请求:scope, state 见微信开发的发送格式

    2.返回成功后调用了Cocos2dxJavascriptJavaBridge.evalString("cc.Client.WechatPlatformManager.wechatOnRespone(" + s_code + ")");将微信返回后的code返回的js层,然后进行下一步操作。

    3.获取了code后后面的操作就非常简单了,其中的一个重点就是在js中请求url内容的方式如下:

    通过XMLHttpRequest来操作就可以了。

    4.获取到了code==>通过code获取refresh_token ==>然后获取用户信息。(见微信开发文档,这里开发者都应该很清楚了)

    下一个篇章,是cocos creator发布接入ios的微信sdk的登录。

    相关文章

      网友评论

      • 吃过多少面包:最近也在做类似的事情,以前一直用anySDK接入各种渠道,方便给个联系方式交流一下吗

      本文标题:CocosCreator-【微信SDK】Android平台-An

      本文链接:https://www.haomeiwen.com/subject/panxwttx.html