手动集成文档
开发环境
Android Studio 3.0以上
Android minSdkVersion: 14
Gradle: 4.4以上
快速集成

1. 申请Appkey
参考:新手指引
2. 接入Push SDK
访问【友盟+】官网SDK下载地址,选择Android平台SDK下载页面,选择对应业务SDK进行下载,并把下载的zip文件解压
把解压后push目录下的所有文件拷贝到项目工程app/libs目录
app/build.gradle文件中添加sdk组件依赖
dependencies {
api fileTree(dir: 'libs', include: ['*.jar'])
api fileTree(dir: 'libs', include: ['*.aar'])
}3. 基础接口引入
在自定义Application类的onCreate()中初始化SDK,3分钟示例中已提供了延迟初始化实现
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
initUmengSDK();
}
/**
* 初始化友盟SDK
*/
private void initUmengSDK() {
//日志开关
UMConfigure.setLogEnabled(true);
//预初始化
PushHelper.preInit(this);
//是否同意隐私政策
boolean agreed = ...;
if (!agreed) {
return;
}
boolean isMainProcess = UMUtils.isMainProgress(this);
if (isMainProcess) {
//启动优化:建议在子线程中执行初始化
new Thread(new Runnable() {
@Override
public void run() {
PushHelper.init(getApplicationContext());
}
}).start();
} else {
//若不是主进程(":channel"结尾的进程),直接初始化sdk,不可在子线程中执行
PushHelper.init(getApplicationContext());
}
}
}主进程和子进程(:channel)均需要调用推送注册接口,否则退到后台会有收不到消息的问题。
2. 在UMConfigure.init方法后调用注册接口,注册成功后可获取deviceToken
public class PushHelper {
public static void init(Context context) {
...
//获取消息推送实例
PushAgent pushAgent = PushAgent.getInstance(context);
//注册推送服务,每次调用register方法都会回调该接口
pushAgent.register(new UPushRegisterCallback() {
@Override
public void onSuccess(String deviceToken) {
//注册成功会返回deviceToken deviceToken是推送消息的唯一标志
Log.i(TAG, "注册成功:deviceToken:--> " + deviceToken);
}
@Override
public void onFailure(String errCode, String errDesc) {
Log.e(TAG, "注册失败:--> " + "code:" + errCode + ", desc:" + errDesc);
}
});
...
}
}deviceToken是推送平台生成的用于标识设备的id,长度为44位
同一台设备上不同应用对应的deviceToken不一样
获取deviceToken的值后,才可以进行消息推送测试
3. 应用活跃统计
在App的SplashActivity或MainActivity中onCreate()方法添加
if (hasAgreementAgreed) {
PushAgent.getInstance(this).onAppStart();
}该方法是推送平台多维度推送决策必调用的方法,请务必调用
需在用户同意隐私政策协议之后调用,否则会出现合规问题
4. 消息推送测试
恭喜您已经顺利获取deviceToken,可以通过推送消息平台向这台设备推送消息了~
5. 接入完成
此时在您的测试手机上可以验证和处理推送消息了!
至此您已完整集成了【友盟+】消息推送SDK,更多高级功能请参考高级功能集成文档
有关集成问题的Toast提示说明:如果您的app测试完毕,需要正式上线时,可以通过UMConfigure.setLogEnabled(false)方法关闭sdk的相关提示,关闭后就不会有Toast提示了