集成步骤:
一、.下载3.1.0SDK
点击打开链接http://download.csdn.net/detail/yhy123456q/9800981
二、.
- 获取应用对应的AppKey和Umeng Message Secret,如下图:
三、导入PushSDK
- 把下载的zip文件解压缩(解压后的文件路径不能有中文)。
- 把解压缩后得到的目录下的PushSDK当做Module导入到自己的工程,如下图所示:
在上面链接中的平台下载全部的so库,然后在主工程下必须添加so库。如图:注意:
- PushSDK 3.0默认只提供armeabi和x86两种so文件夹,若主工程中的so文件夹与PushSDK下的so文件夹不一致,则可以有两种方式处理(选择一种即可):删除主工程下多余的so文件夹,与PushSDK下的so文件夹保持一致。
在官网PushSDK下载处,下载全平台so文件,添加缺少的so文件夹至 PushSDK下,使PushSDK的so文件夹与主工程的so文件夹保持一致。- 支持全平台SO文件下载支持全平台SO文件下载链接
主工程 pushSDK
四、配置Appkey和Secret
在工程的Application Module的AndroidManifest.xml中的<Application>
标签下添加:
<meta-data
android:name="UMENG_APPKEY"
android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx">
</meta-data>
<meta-data
android:name="UMENG_MESSAGE_SECRET"
android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx">
</meta-data>
把上述的UMENG_APPKEY
和UMENG_MESSAGE_SECRET
的值修改为和自己应用对应的值。
五、 添加Channel ID(必须添加否则收不到driverrtoken)每台设备仅识别首次安装激活的渠道。
你可以用Channel ID来标识App的推广渠道,作为推送消息时给用户分组的一个维度。设置方法如下,在Application Module的AndroidManifest.xml中的<Application>
标签下添加:
<meta-data
android:name="UMENG_CHANNEL"
android:value="Channel ID" >
</meta-data>
六、配置build.gralde
- 在Application Module的build.gradle文件的
dependencies
下添加compile project(':PushSDK')
。 - 请确保Application Module的build.gradle文件中的
applicationId
与应用包名package
一致。
注意:
- 若主工程的targetSdkVersion为23及以上,请在代码中遵循Android 6.0的运行时权限机制申请存储权限(
WRITE_EXTERNAL_STORAGE
),否则在Android 6.0及以上机型可能出现无法选举宿主的情况。Android Plugin Version(com.android.tools.build:gradle)
推荐使用1.5.0及以上版本,使用过旧的版本可能由于编译问题导致无法获取device token。
七、 初始化PushSDK
3.2.6.1 注册推送服务
务必
在工程的Application类的 onCreate()
方法中注册推送服务,无论推送是否开启都需要调用此方法:
PushAgent mPushAgent = PushAgent.getInstance(this);
//注册推送服务,每次调用register方法都会回调该接口
mPushAgent.register(new IUmengRegisterCallback() {
@Override
public void onSuccess(String deviceToken) {
//注册成功会返回device token
}
@Override
public void onFailure(String s, String s1) {
}
});
八。自定义行为:(即、点击通知栏消息后的处理)
必须写在oncreate( )中:
UmengNotificationClickHandler notificationClickHandler = new UmengNotificationClickHandler() { @Override public void dealWithCustomAction(Context context, UMessage msg) { if (!TextUtils.isEmpty(msg.toString())) { Intent intent = new Intent(context, LotteryDetailActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); String url = msg.extra.get("url"); Log.i("YHY","url="+url); Bundle bundle = new Bundle(); bundle.putString("url", url); intent.putExtras(bundle); startActivity(intent); } } }; mPushAgent.setNotificationClickHandler(notificationClickHandler);自己写的demo下载 :
点击打开链接http://download.csdn.net/detail/yhy123456q/9801128