官网写的其实蛮详细了,对比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
网友评论