美文网首页
[那些年接过的第三方sdk]信鸽 cocos Android

[那些年接过的第三方sdk]信鸽 cocos Android

作者: 递归循环迭代 | 来源:发表于2019-11-05 14:31 被阅读0次

    官网写的其实蛮详细了,对比demo更是简单;前提条件去信鸽注册账号 4.x官方文档: https://xg.qq.com/docs/android_access/upgrade_guide.html

    1.在app build.gradle文件下配置 以下内容

    android {
        ......
        defaultConfig {
    
            //信鸽官网上注册的包名.注意application ID 和当前的应用包名以及 信鸽官网上注册应用的包名必须一致。
            applicationId "你的包名" 
            ......
    
            ndk {
                //根据需要 自行选择添加的对应cpu类型的.so库。 
                abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a' 
                // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
            }
    
            manifestPlaceholders = [
    
                XG_ACCESS_ID:"注册应用的accessid",
                XG_ACCESS_KEY : "注册应用的accesskey",
    
            ]
            ......
        }
        ......
    }
    
    dependencies {
        ......   
    
    //信鸽jar,不包含厂商通道
    implementation  'com.tencent.xinge:xinge:4.3.5-release'
    //jg包
    implementation'com.tencent.jg:jg:1.1'
    //wup包
    implementation 'com.tencent.wup:wup:1.0.0.E-Release'
    //mid包,minSdkVersion 14
    implementation 'com.tencent.mid:mid:4.0.7-Release'
    
    }
    

    2.androidmanifest.xml里配置监听

    <receiver android:name="完整的类名如:com.qq.xgdemo.receiver.MessageReceiver"
    android:exported="true" >
    <intent-filter>
    <!-- 接收消息透传 -->
    <action android:name="com.tencent.android.tpush.action.PUSH_MESSAGE" />
    <!-- 监听注册、反注册、设置/删除标签、通知被点击等处理结果 -->
    <action android:name="com.tencent.android.tpush.action.FEEDBACK" />
    </intent-filter>
    </receiver>
    

    3.把demo的messagereceiver文件复制过来
    4.appactivity里注册id和key

     XGPushConfig.enableOtherPush(getApplicationContext(), true);
     XGPushConfig.setHuaweiDebug(true);
     XGPushConfig.setMiPushAppId(getApplicationContext(), "APPID");
     XGPushConfig.setMiPushAppKey(getApplicationContext(), "APPKEY");
     XGPushConfig.setMzPushAppId(this, "APPID");
     XGPushConfig.setMzPushAppKey(this, "APPKEY");
    XGPushManager.registerPush(this, new XGIOperateCallback() {
    @Override
    public void onSuccess(Object data, int flag) {
    //token在设备卸载重装的时候有可能会变
    Log.d("TPush", "注册成功,设备token为:" + data);
    }
    @Override
    public void onFail(Object data, int errCode, String msg) {
    Log.d("TPush", "注册失败,错误码:" + errCode + ",错误信息:" + msg);
    }
    })
    

    5.proguard-rules.pro增加混淆代码过滤,不然可能会失效

    -keep public class * extends android.app.Service
    -keep public class * extends android.content.BroadcastReceiver
    -keep class com.tencent.android.tpush.** {*;}
    -keep class com.tencent.mid.** {*;}
    -keep class com.qq.taf.jce.** {*;}
    -keep class com.tencent.bigdata.** {*;}
    

    完成这些就可以在控制台发送通知了,可能不会那么即时,注意一下Android studdio的log有没有注册成功.
    需要修改的对比文件
    https://forum.cocos.org/t/android/85586

    相关文章

      网友评论

          本文标题:[那些年接过的第三方sdk]信鸽 cocos Android

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