我自己继承过FCM(国外app)百度云推送,阿里云推送,小米推送,华为推送,友盟推送,目前这几类推送方式。本文主讲友盟推送方式的集成步骤;
大家可以根据官网网址进行集成:官网如下:
https://developer.umeng.com/docs/66632/detail/98581

我自己采取的是在线集成方式:步骤如下
IDE:Android Studio
1)在公司里:让产品运营申请友盟账号。(也可以自己申请,添加相关资料既可);
2)应用申请Appkey(详细操作路径:U-Push官网->应用->新建应用->创建新应用)
3)获取应用对应的Appkey和Umeng Message Secret,这两个值请务必留意,在后续SDK初始化中需要用到。
好准备工作做好之后:我们开始进行sdk的快速接入:
在您的Android Studio工程的App模块的build.gradle配置脚本中添加maven远程依赖,导入最新版本PushSDK:
(大家对照官网,以最新的sdk版本为主,一下依赖是我这边此次接入功能时候最新依赖而已)
请查看您项目中com.android.tools.build:gradle配置,如果版本号<3.0.0,请使用如下配置脚本添加远程依赖://PushSDK必须依赖基础组件库,所以需要加入对应依赖

compile ‘com.umeng.umsdk:common:2.1.0’
 //PushSDK必须依赖utdid库,所以需要加入对应依赖
 compile ‘com.umeng.umsdk:utdid:1.1.5.3’
 //PushSDK
 compile ‘com.umeng.umsdk:push:6.0.1’

请查看您项目中com.android.tools.build:gradle配置,如果版本号>=3.0.0,请使用如下配置脚本添加远程依赖:

//PushSDK必须依赖基础组件库,所以需要加入对应依赖
 implementation ‘com.umeng.umsdk:common:2.1.0’
 //PushSDK必须依赖utdid库,所以需要加入对应依赖
 implementation ‘com.umeng.umsdk:utdid:1.1.5.3’
 //PushSDK
 implementation ‘com.umeng.umsdk:push:6.0.1’

在工程build.gradle配置脚本中buildscript和allprojects段中添加【友盟+】sdk 新maven仓库地址

buildscript {
 repositories {
 google()
 jcenter()
 maven { url ‘https://dl.bintray.com/umsdk/release’ }
 }
 dependencies {
 classpath ‘com.android.tools.build:gradle:3.1.4’
// NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}
 allprojects {
 repositories {
 google()
 jcenter()
 mavenCentral()
 maven { url ‘https://dl.bintray.com/umsdk/release’ }
 }
 }

好,依赖集成好之后,我们准备sdk的初始化工作:
1:务必在工程的自定义Application类的 onCreate() 方法中做SDK代码初始化工作。
// 在此处调用基础组件包提供的初始化函数 相应信息可在应用管理 -> 应用信息 中找到 http://message.umeng.com/list/apps
// 参数一:当前上下文context;
// 参数二:应用申请的Appkey(需替换);
// 参数三:渠道名称;
// 参数四:设备类型,必须参数,传参数为UMConfigure.DEVICE_TYPE_PHONE则表示手机;传参数为UMConfigure.DEVICE_TYPE_BOX则表示盒子;默认为手机;
// 参数五:Push推送业务的secret 填充Umeng Message Secret对应信息(需替换)
UMConfigure.init(this, “替换为Appkey,服务后台位置:应用管理 -> 应用信息 -> Appkey”, “Umeng”, UMConfigure.DEVICE_TYPE_PHONE, “替换为秘钥信息,服务后台位置:应用管理 -> 应用信息 -> Umeng Message Secret”);

:2:Push注册在UMConfigure.init方法之后注册,注册成功后可获取deviceToken,进行消息下发。调用代码如下所示:
UMConfigure.init(this, “替换为Appkey,服务后台位置:应用管理 -> 应用信息 -> Appkey”, “Umeng”, UMConfigure.DEVICE_TYPE_PHONE, “替换为秘钥信息,服务后台位置:应用管理 -> 应用信息 -> Umeng Message Secret”);

//获取消息推送代理示例
 PushAgent mPushAgent = PushAgent.getInstance(this);
 //注册推送服务,每次调用register方法都会回调该接口
 mPushAgent.register(new IUmengRegisterCallback() {
 @Override
 public void onSuccess(String deviceToken) {
 //注册成功会返回deviceToken deviceToken是推送消息的唯一标志
 Log.i(TAG,"注册成功:deviceToken:--------> " + deviceToken);
 }
 @Override
 public void onFailure(String s, String s1) {
 Log.e(TAG,"注册失败:--------> " + “s:” + s + “,s1:” + s1);
 }
 });


注意:deviceToken是【友盟+】消息推送生成的用于标识设备的id,长度为44位,不能定制和修改。同一台设备上不同应用对应的deviceToken不一样。获取deviceToken的值后,可进行消息推送测试!

应用数据统计接口:
在所有的Activity 的onCreate 方法或在应用的BaseActivity的onCreate方法中添加:
PushAgent.getInstance(context).onAppStart();
注:该方法是【友盟+】Push后台进行日活统计及多维度推送的必调用方法,请务必调用!

消息推送
好,捯此为止:我们已经顺利获取deviceToken!我们马上可以向这台设备推送消息了~(我们一开始可以用控制台进行测试,后期在和自己的服务端对调,既可以判断是我们客户端问题还是服务器端问题,可以判断谁没有集成好)

添加测试设备:

在【友盟+】消息推送服务Push后台的“测试模式”中填写获取到的deviceToken,将该设备添加为测试设备:

Android 友盟分享 android友盟推送集成_推送


Android 友盟分享 android友盟推送集成_Android 推送_02

在测试消息中新建消息,详细过程如下所示,详细过程如下所示:

Android 友盟分享 android友盟推送集成_Android 推送_03

接入完成

此时在我们的测试手机上可以看到您刚才的推送消息!