← 资料库索引 ← 官方文档 原始链接 ↗ 🔍
官方文档

【友盟+】消息推送SDK 自动集成文档(U-Push) 原文标题:

发表时间:(页面未标注)采集时间:2026-10-09 10:35:12来源:developer.umeng.com原文语言:zh状态:完整

内容概要总结

本文是【友盟+】消息推送 SDK(U-Push)的 Android 自动集成文档,给出从申请 Appkey 到跑通推送的完整步骤。开发环境要求 JDK 1.7+、Android Studio 3.6+、minSdkVersion 14、Gradle 4.6+;集成方式为在根目录 build.gradle 添加 maven 仓库、在 app/build.gradle 引入 common/asms/push(可选 uyumao 地理围栏)组件,并在自定义 Application 的 onCreate 中先调用 UMConfigure.preInit 预初始化、在用户同意隐私政策后再调用 UMConfigure.init 正式初始化并注册推送。

文档重点说明了推送设备标识 deviceToken:它由推送平台生成用于标识设备,长度为 44 位,同一台设备上不同应用对应的 deviceToken 不一样,可通过 PushAgent.getInstance(context).getRegistrationId() 获取。此外要求在 SplashActivity/MainActivity 调用 PushAgent.getInstance(this).onAppStart() 做应用活跃统计,且必须在用户同意隐私政策协议之后调用,否则会有合规问题。

原文内容(原文即中文)

⚠ 说明:原站 developer.umeng.com 在本机网络下被阻断(SSL 连接被重置、ERR_CONNECTION_CLOSED),正文经备用抓取通道从同内容的 devs.umeng.com 镜像获取;正文为原始中文,未作删改。

前言

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

开发环境

  • JDK 1.7及以上
  • Android Studio 3.6及以上
  • Android minSdkVersion 14
  • Gradle 4.6及以上

快速集成

1. 申请Appkey

参考:新手指引

2. 接入SDK

  1. 在根目录build.gradle中添加maven仓库
allprojects {
    repositories {
        mavenCentral()
        ...
    }
}
  1. 在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()
  1. 应用活跃统计

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

PushAgent.getInstance(this).onAppStart();

重要

  • 该方法是推送平台多维度推送决策必调用的方法,请务必调用
  • 需在用户同意隐私政策协议之后调用,否则会出现合规问题

4. 消息推送测试

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

5. 接入完成

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

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