安卓应用集成微信分享

官方文档

  • 微信开放平台

  • 本文的介绍的是cocos2dx安卓平台接入微信分享功能(PS:微信登陆功能要给钱才能有)。参考的文档在“资源中心”->“移动应用”->“接入指南”->“Android接入指南”。

创建应用

登录微信开放平台后,“管理中心”->“移动应用”->“创建移动应用”。

创建应用的过程还挺繁琐的,需要手持身份证的照片,还需要APP的运行流程图。我记得以前没这么复杂的。

还有就是未上架的应用在使用登陆、分享等功能的时候,都有1天100次这样的限制。

假设你创建好了应用并且审核通过了,就会得到AppID和AppSecret。

“分享到朋友圈”和“发送给朋友”这两个功能是默认给你使用的。

但是“微信登录”、“微信支付”等功能是要认证过的开发者才有的。那么认证开发者需要什么呢?钱。

代码里要做的

  1. 用 Android Studio 打开工程,在模块级的 build.gradle 文件中添加微信所需的依赖项
    implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'

    官方文档上写的 + ,有时候同步不下来,在 External Libraries 那里没看到微信的包。
    然后参考了这篇文章
    也就是去这里wechat-sdk 就能看到最新的版本号。然后把加号改成版本号就行了。我这会儿用的是 6.6.23

  2. 在 AndroidManifest.xml 文件里需要申请权限。

  3. 在程序启动时注册到微信。大概是这个样子:

    public class AppActivity extends Cocos2dxActivity {
    
        // APP_ID 替换为你的应用从官方网站申请到的合法appID
        private static final String APP_ID = "你的APP ID";
        // IWXAPI 是第三方app和微信通信的openApi接口
        public static IWXAPI api;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // DO OTHER INITIALIZATION BELOW
            regToWx();
        }
        public void regToWx() {
            // 通过WXAPIFactory工厂,获取IWXAPI的实例
            api = WXAPIFactory.createWXAPI(this, APP_ID, false);
            // 将应用的appId注册到微信
            api.registerApp(APP_ID);
        }
    }
  4. 发送文本给朋友的示例

    public class AppActivity extends Cocos2dxActivity {
    
        public static void share_text_to_friend(final String s) {
            //初始化一个 WXTextObject 对象,填写分享的文本内容
            WXTextObject textObj = new WXTextObject();
            textObj.text = s;
    
            //用 WXTextObject 对象初始化一个 WXMediaMessage 对象
            WXMediaMessage msg = new WXMediaMessage();
            msg.mediaObject = textObj;
            msg.description = s;
    
            SendMessageToWX.Req req = new SendMessageToWX.Req();
            req.transaction = String.valueOf(System.currentTimeMillis());  //transaction字段用与唯一标示一个请求
            req.message = msg;
            req.scene = WXSceneSession;
    
            //调用api接口,发送数据到微信
            api.sendReq(req);
        }
    }
  5. 到这里,应该能拉起微信分享了。如果提示“签名不对,请检查签名是否与开放平台上填写的一致。”
    在“资源中心”->“资源下载”->“Android资源下载”->“签名生成工具”。
    用这个apk输入你的报名,用得到的字符串,更新应用签名。