1,获取应用对应的Appkey和Umeng Message Secret
登录友盟U-Push官网,创建一个新应用,如下:
如果你的应用之前已经集成了【友盟+】统计功能,就不用创建新的应用了,直接从已有应用中添加关联即可:
进入该应用后台,点击左侧菜单:应用管理 --> 应用信息,获取应用对应的Appkey和Umeng Message Secret,这两个值请务必留意,在后续SDK初始化中需要用到。
2,自动导入PushSDK(该方式不需要在官网下载SDK)
在app的build.gradle配置脚本中添加如下maven远程依赖,导入最新版本PushSDK:
//PushSDK必须依赖基础组件库,所以需要加入对应依赖
compile 'com.umeng.sdk:common:1.5.3'
//PushSDK必须依赖utdid库,所以需要加入对应依赖
compile 'com.umeng.sdk:utdid:1.1.5.3'
//PushSDK
compile 'com.umeng.sdk:push:4.2.0'
如果无法正常集成请在工程目录下的build.gradle添加如下配置:
allprojects {
repositories {
mavenCentral()
}
}
3,初始化PushSDK
在自定义Application类的 onCreate() 方法中执行init初始化方法,这里有两个重载的init方法可供选择:
1. UMConfigure.init(this, "第一步获取的appkey", "自定义的渠道号", UMConfigure.DEVICE_TYPE_PHONE, "第一步获取的secret");
2. UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "第一步获取的secret");
参数UMConfigure.DEVICE_TYPE_PHONE表示设备为手机。
可以看到两个重载的方法相比,少了appkey和渠道号两个参数,选择依据就是是否在清单文件Manifest的application标签中配置过了appKey和渠道号,如下:
<manifest>
<application ……>
……
<meta-data android:value="YOUR_APP_KEY" android:name="UMENG_APPKEY"/>
<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>
</application>
</manifest>
如果在Manifest文件中添加了如上配置,那么初始化时可选择使用方法1也可以选择方法2,此时方法2对应位置可以传入null,如果同时设置了则以代码中设置的为准,否则使用方法2。
渠道号命名规范建议:不要使用中文,空格,和纯数字
4,注册推送服务
务必在工程的自定义Application类的 onCreate() 方法中注册推送服务,无论推送是否开启都需要调用此方法:
PushAgent mPushAgent = PushAgent.getInstance(this);
//注册推送服务,每次调用register方法都会回调该接口
mPushAgent.register(new IUmengRegisterCallback() {
@Override
public void onSuccess(String deviceToken) {
// 注册成功会返回devicetoken
// 参数devicetoken是【友盟+】消息推送生成的用于标识设备的id,长度为44位,不能定制和修改。同一台设备上不同应用对应的device token不一样。
// 直接打印Toast不会生效
new Handler(getMainLooper()).post(new Runnable() {
@Override
public void run() {
Toast.makeText(MyApp.this, "deviceToken:"+deviceToken, Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onFailure(String s, String s1) {
}
});
如需在其他地方获取device token,可以调用mPushAgent.getRegistrationId()方法进行手动获取(需在注册成功后调用)。
5,应用数据统计接口
在所有的Activity 的onCreate 方法或在应用的BaseActivity的onCreate方法中添加如下代码:
PushAgent.getInstance(context).onAppStart();
该方法是【友盟+】Push后台进行日活统计及多维度推送的必调用方法,请务必调用!
经过以上5步的配置,运行应用我们可以发现此时已经成功获取到了deviceToken!接下来我们马上可以向这台设备推送消息了,接着往下看:
开始消息推送
1,添加测试设备
在【友盟+】消息推送服务Push后台的“测试模式”中填写上面获取到的deviceToken,将该设备添加为测试设备:
然后切换到“测试消息”选项,消息推送服务后台创建一条消息,详细过程如下所示:
然后在我们的手机上就可以成功接收到推送的消息了。
注意:
以上成功集成推送功能没有添加任何权限(网络权限也没有添加)也没有在libs目录下导入任何jar包,只要保证测试手机有网络即可。
至此我们已经详细讲解了如何快速集成友盟推送SDK,关于更多高级功能,请查看下一篇博客:友盟Push SDK高级功能详解。