集成步骤:

一、.下载3.1.0SDK


二、.

  1. 获取应用对应的AppKey和Umeng Message Secret,如下图:


三、导入PushSDK

  1. 把下载的zip文件解压缩(解压后的文件路径不能有中文)。
  2. 把解压缩后得到的目录下的PushSDK当做Module导入到自己的工程,如下图所示:


注意:


  • PushSDK 3.0默认只提供armeabi和x86两种so文件夹,若主工程中的so文件夹与PushSDK下的so文件夹不一致,则可以有两种方式处理(选择一种即可):删除主工程下多余的so文件夹,与PushSDK下的so文件夹保持一致。 
    在官网PushSDK下载处,下载全平台so文件,添加缺少的so文件夹至 PushSDK下,使PushSDK的so文件夹与主工程的so文件夹保持一致。
  • 支持全平台SO文件下载支持全平台SO文件下载链接

在上面链接中的平台下载全部的so库,然后在主工程下必须添加so库。如图:

主工程                                                                                pushSDK


ios 友盟分享提示未知错误 友盟推送文档_so文件

ios 友盟分享提示未知错误 友盟推送文档_so文件_02

四、配置Appkey和Secret

<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_APPKEYUMENG_MESSAGE_SECRET的值修改为和自己应用对应的值。

  添加Channel ID(必须添加否则收不到driverrtoken)每台设备仅识别首次安装激活的渠道。


<Application>标签下添加:

<meta-data
    android:name="UMENG_CHANNEL"
    android:value="Channel ID" >
</meta-data>




六、配置build.gralde

  1. 在Application Module的build.gradle文件的

dependencies

  1. 下添加

compile project(':PushSDK')

  1. 请确保Application Module的build.gradle文件中的

applicationId

  1. 与应用包名

package

  1. 一致。

注意:

  • 若主工程的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) {

    }
});

  
  

  
  
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);