集成友盟推送android studio,android studio集成友盟推送U-Push SDK

1、创建应用

请在 http://push.umeng.com 上使用应用包名创建应用,获取应用对应的AppKey和Umeng Message Secret。

获取应用对应的AppKey和Umeng Message Secret,如下图:2、导入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文件下载链接

导入thirdparties\thirdparties_android_1.0.7目录下的utdid4all-1.1.5.3_proguard.jar到app中libs目录下。

3、配置Appkey和Secret

在工程的Application Module的AndroidManifest.xml中的标签下添加:

把上述的UMENG_APPKEY和UMENG_MESSAGE_SECRET的值修改为和自己应用对应的值。

4、添加Channel ID

你可以用Channel ID来标识App的推广渠道,作为推送消息时给用户分组的一个维度。设置方法如下,在Application Module的AndroidManifest.xml中的标签下添加:

在app build.gradle中配置渠道

productFlavors {

/*配置渠道*/

productFlavors {

yingyongbao {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"]

}

wandoujia {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]

}

xiaomi {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]

}

}

}

5、  配置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。

6 、 初始化PushSDK

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

}

});

注意:

请勿在调用register方法时做进程判断处理(主进程和channel进程均需要调用register方法才能保证长连接的正确建立)。

若有需要,可以在Application的onCreate方法中创建一个子线程,并把mPushAgent.register这一行代码放到该子线程中去执行(请勿将PushAgent.getInstance(this)放到子线程中)。

device token是友盟+生成的用于标识设备的id,长度为44位,不能定制和修改。同一台设备上不同应用对应的device token不一样。

如需手动获取device token,可以调用mPushAgent.getRegistrationId()方法(需在注册成功后调用)。

2  统计应用启动数据

在所有的Activity 的onCreate 方法或在应用的BaseActivity的onCreate方法中添加:

PushAgent.getInstance(context).onAppStart();

注意:

此方法与统计分析sdk中统计日活的方法无关!请务必调用此方法!

如果不调用此方法,不仅会导致按照"几天不活跃"条件来推送失效,还将导致广播发送不成功以及设备描述红色等问题发生。可以只在应用的主Activity中调用此方法,但是由于SDK的日志发送策略,有可能由于主activity的日志没有发送成功,而导致未统计到日活数据。

register不成功,返回错误信息s=-11,s1=accs bindapp error,可查看https://blog.csdn.net/lknlll/article/details/78133392解决。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值