android studio 集成腾讯信鸽推送
此处先附上官网API:http://docs.developer.qq.com/xg/android_access/api.html
官网API写的挺全的,如果只是单单前端需要获取通知的话,以下内容就足够了。
一、官网注册
1、在信鸽官网注册账号,进行实名认证。
2、找到应用管理 →我的应用→新建应用

3.、填写配置

注意: (1) 应用名称可以自己随便写,当最好与自己项目名称一致。
(2) 应用包名必须使用你所要使用推送的项目 app包build.gradle中 applicationId的属性

4、下一步完成以后,就在官网注册好了。

注意:这里的ACCESS ID 和 ACCESS KEY 等会在 android studio中集成的时候会用到。
二、android studio集成
这里只讲通过jcenter远程仓库自动接入,不需要在项目中导入jar包和so文件。
1、确认android studio的 Project 根目录的主 gradle 中配置了jcenter支持。(新建project默认配置就支持)

2、在 app下build.gradle做androidManifest的替换变量

android {
......
defaultConfig {
applicationId "com.xxx.xxx" //JPush上注册的包名.
......
ndk {
//选择要添加的对应cpu类型的.so库
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'
// 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
}
manifestPlaceholders = [
XG_ACCESS_ID:"注册应用的accessid",
XG_ACCESS_KEY : "注册应用的accesskey",
]
......
}
......
}
这里的XG_ACCESS_ID和XG_ACCESS_KEY就是刚才我们提到的集成会用到的accessId和accessKey。
3、在 app下的build.gradle中添加依赖

//完整的信鸽依赖三个都必须有,如果发生依赖冲突请根据对应的依赖版本号选择高版本的依赖。(使用jcenter自动接入请确认libs 中没有信鸽的相关jar包)
//是否需要信鸽采集安装列表 自行二选一
//采集安装列表
compile 'com.tencent.xinge:xinge:3.1.2-a-alpha'
//不采集安装列表
compile 'com.tencent.xinge:xinge:3.1.2-b-alpha'
//wup包
compile 'com.tencent.wup:wup:1.0.0.E-alpha'
//mid包
compile 'com.tencent.mid:mid:3.9.0-alpha'
**注意***
如果在添加以上 abiFilter 配置之后android Studio出现以下提示:
NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin.
则在 Project 根目录的gradle.properties文件中添加:
android.useDeprecatedNdk=true
4、在我的项目中,我是创建了一个BaseApplication 继承 Application,这样只要在app启动的时候直接就启用了信鸽推送了。在BaseApplication中重写onCreate方法,调用initXGPush();。 这里需要注意的是需要在AndroidManifest中对application进行name属性配置

private voidinitXGPush(){
XGPushConfig.enableDebug(this,true);
XGPushManager.registerPush(this, newXGIOperateCallback() {
@Override
public voidonSuccess(Object data, intflag) {
//token在设备卸载重装的时候有可能会变
Log.e("TPush","注册成功,设备token为:"+ data);
}
@Override
public voidonFail(Object data, interrCode,String msg) {
Log.e("TPush","注册失败,错误码:"+ errCode +",错误信息:"+ msg);
}
});
//设置账号
XGPushManager.registerPush(getApplicationContext(),"XINGE");
// 设置标签
XGPushManager.setTag(this,"XINGE");
}
如果是详细按照我写的步骤集成的话,腾讯信鸽就算集成好了。接下来,就可以在官网进行消息推送了。