android studio
cocos creator 1.9.3
第三方工具shareSDK
1.先说下实现微信登入的思路,我按照写demo的思路说下。第一步,用 cocos creator创建一个场景,里面添加微信登入按钮,给按钮绑定事件,函数里面就一句代码jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity","weChatLogin","()V");然后保存场景,构建,编译。如果不知道怎么打包的话可以去官方文档查看。
用android studio 打开编译后的文件 也就是jsb-link,在这个地方,红色圈内的文件 在你用android studio导入的时候会变成其他的图标的 如果不知道怎么用AS导入项目的话 上网查下吧
导入之后会是这样的界面
这时候你会发现你的界面里的东西没有我的多,这时候你要去shareSDK官网下载sdk,如图 红圈内是要注意你要做哪种的IOS还是安卓的,我的是安卓的,点击后会弹出各个平台的SDK 你要哪种就选上
下载后解压 找到QuickIntegrater.jar 双击得到sample文件夹
看到里面的Sample的文件夹了吗?点击进去,里面的文件要全部拖到之前打开的android studio 项目界面 如图有几个要点说明下 箭头1 是切换项目的显示状态 箭头2 是 直接将sample里的文件 拖过去 在app文件下就行了 然后要选中里面的jar包 右键 选 as libray 如图2 我这边是已经添加了 讲到里是在右键后的下面几行箭头3 直接将 sample里的文件 拖过去 你会发现有一个文件夹名字是一样的,那你就将sample里同名的文件夹里的东西拖到那里面 箭头4 不能直接将sample里的assets文件夹直接拖过去 要新建一个文件夹main将assets放入后 在将main文件夹托过去箭头5 点开sample里的src文件夹,将cn文件夹拖过去最后重新点击箭头1 切换回这样的界面 如图 3
接下来是配置清单了 如图 将下面的代码添加到清单里
继续配置清单 1,2,3,4的代码添加到清单里3中的mon appid 和 mobappsecret 是要自己去shareSDK官方注册申请的大家申请后改成自己的就行了 1 --------------------------android:name="com.mob.MobApplication"2 ---------------------
5.在shareSDK.xml里修改微信的appid 和appsecret
6.在AppActivity里添加代码 如图
继续添加 如图 不过要主要红色部分可以不用复制进去,那只是我要切换场景 你只有一个场景的话就不用复制了 复制后如果代码是红色的话 把鼠标到上面 alt +enter 可以导入相关的包 这样就不会报错了public static void weChatLogin(){ //判断是否存在授权凭条的客户端 if(!weChat.isClientValid()) { //更新安卓端的UI界面必须要调用runOnUiTread()的方法 pAppActivity.runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(pAppActivity,"微信客户端不存在,请先下载",Toast.LENGTH_SHORT).show(); } }); return; } //判断是否已经存在授权状态 if(weChat.isAuthValid()){ //清理授权缓存 // weChat.removeAccount(true); //微信用户已经授权 抛出提示 pAppActivity.runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(pAppActivity,"用户已经授权过了",Toast.LENGTH_SHORT).show(); } }); //切换场景 //java调用js端的代码 // 一定要在 GL 线程中执行 pAppActivity.runOnGLThread(new Runnable() { @Override public void run() { Cocos2dxJavascriptJavaBridge.evalString("cc.director.loadScene('hall_scene');"); } }); return; } //微信登入回调 weChat.setPlatformActionListener(new PlatformActionListener() { @Override//登入成功 public void onComplete(Platform platform, int i, HashMap
由于微信登入要打包 需要 签名 我用的是shareSDK官方的DEMO里的//appId "wx4868b35061f87885"// appSecret "64020361b8ec4c99936c0e3999a9f249"//包名 cn.sharesdk.demo//mon appid 和 mobappsecret 要去shareSDK官方申请 // 大家参考看shareSDK微信分享的步骤 具体不明白的 可以问他们家客服
微信登入 测试的话要打包安装到手机上测试的
微信登入 签名和包名要和微信开发平台上注册的要一致 大家不舍得掏钱就用shareSDK他们家的 不过包名和签名要和他们家一致 具体可以问他们客服要