android集成友盟推送遇到的问题

           在自身项目集成友盟推送时,参考了官方文档的教程

           

导入 PushSDK

  1. 把下载的 zip 文件解压缩(解压后的文件路径不能有中文)

  2. 把解压缩后得到的目录下的 PushSDK 当做 Module 导入到自己的工程

  3. 在之前的 AndroidManifest.xml 的基础上添加

    data
    android:name="UMENG_MESSAGE_SECRET"
    android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
    
  4. 编辑 build.gradle 添加模块

    dependencies{
    // ...
    compileproject(':PushSDK')
    }
    

权限配置

若主工程的 targetSdkVersion 为 23 及以上,需要运行时申请 存储权限 ( WRITE_EXTERNAL_STORAGE ),否则在 Android 6.0 及以上机型可能出现无法选举宿主的情况。

注册服务

在工程的 Application 类的 onCreate() 方法中注册推送服务,无论推送是否开启都需要调用此方法:

PushAgent mPushAgent = PushAgent.getInstance(this);
// 注册推送服务,每次调用 register 方法都会回调该接口
mPushAgent.register(newIUmengRegisterCallback() {

@Override
publicvoidonSuccess(String deviceToken){
// 注册成功会返回 device token
 }

@Override
publicvoidonFailure(String s, String s1){

 }
但是按照上述步骤后,一直获取不到
deviceToken
最后在APP moduel的build的 defaultConfig领域中加入

ndk {
      abiFilters "armeabi","x86"
}
在gradle.properties 文件里面添加 android.useDeprecatedNdk=true 后重新编译即可
解决了收不到推送消息的问题

你可能感兴趣的:(android集成友盟推送遇到的问题)