跳转到主要内容
PRODUCT DOCUMENTS

快速找到所需文档,高效完成接入与排障

浏览产品文档与友盟 Skill,展开目录并阅读正文。

自动集成文档

前言

【友盟+】消息推送SDK 自动集成文档

开发环境

  • JDK 1.7及以上

  • Android Studio 3.6及以上

  • Android minSdkVersion 14

  • Gradle 4.6及以上

快速集成

1-1

1. 申请Appkey

参考:新手指引

2. 接入SDK

  1. 在根目录build.gradle中添加maven仓库

    allprojects {
        repositories {
            mavenCentral()
            ...
        }
    }
  2. 在app/build.gradle中添加组件

    dependencies {
        api 'com.umeng.umsdk:common:+'
        api 'com.umeng.umsdk:asms:+'
        api 'com.umeng.umsdk:push:+'
        api 'com.umeng.umsdk:uyumao:+'//可选,如要使用地理围栏推送功能则必选
    }

3. 使用SDK

  1. 在自定义Application类onCreate()方法中初始化,可参考3分钟示例项目

    public class MyApplication extends MultiDexApplication {
    
        @Override
        public void onCreate() {
            super.onCreate();
            //友盟日志输出开关
            UMConfigure.setLogEnabled(true);
            //预初始化
            UMConfigure.preInit(this, appkey, channel);
            //是否同意隐私政策
            boolean agreed = ...;
            if (!agreed) {
                return;
            }
            //建议在子线程中初始化
            new Thread(new Runnable() {
                @Override
                public void run() {
                    init(getApplicationContext());
                }
            }).start();
        }
    
        public static void init(final Context context) {
            // 初始化配置,应用配置信息:http://message.umeng.com/list/apps
            // 参数1:上下文context;
            // 参数2:应用申请的Appkey;
            // 参数3:应用发布渠道;
            // 参数4:设备类型,UMConfigure.DEVICE_TYPE_PHONE:手机;UMConfigure.DEVICE_TYPE_BOX:盒子;默认为手机
            // 参数5:Push推送业务的secret,填写Umeng Message Secret对应信息
            UMConfigure.init(context, appkey, channel, UMConfigure.DEVICE_TYPE_PHONE, messageSecret);
    
            // 注册推送
            PushAgent api = PushAgent.getInstance(context);
            ...
            api.register(new UPushRegisterCallback() {
                @Override
                public void onSuccess(String deviceToken) {
                    Log.i(TAG, "deviceToken: " + deviceToken);
                    //注册厂商通道
                    registerDevicePush(context);
                }
    
                @Override
                public void onFailure(String errCode, String errDesc) {
                    Log.e(TAG, "register failed! " + "code:" + errCode + ",desc:" + errDesc);
                }
            });
        }
    }
    说明
    • deviceToken是推送平台生成的用于标识设备的id,长度为44位

    • 同一台设备上不同应用对应的deviceToken不一样

    • 获取deviceToken后,才可以进行消息推送测试

    • 注册成功后,可通过SDK接口获取deviceToken:PushAgent.getInstance(context).getRegistrationId()

  2. 应用活跃统计

    在App的SplashActivity或MainActivity中onCreate()方法添加

    PushAgent.getInstance(this).onAppStart();
    重要
    • 该方法是推送平台多维度推送决策必调用的方法,请务必调用

    • 需在用户同意隐私政策协议之后调用,否则会出现合规问题

4. 消息推送测试

恭喜您已经顺利获取deviceToken,可以通过推送消息平台向这台设备推送消息了~

5. 接入完成

此时在您的测试手机上可以验证和处理推送消息了!

至此您已完整集成了【友盟+】消息推送SDK,更多高级功能请参考高级功能集成文档