友盟推送使用指南

在这里推荐使用Android Studio自动导入代码的形式来使用。

通过在Android Studio工程的app模块的build.gradle配置脚本中添加maven远程依赖,导入最新版本PushSDK。

//PushSDK必须依赖基础组件库,所以需要加入对应依赖
compile 'com.umeng.sdk:common:1.5.3'
//PushSDK必须依赖utdid库,所以需要加入对应依赖
compile 'com.umeng.sdk:utdid:1.1.5.3'
//PushSDK
compile 'com.umeng.sdk:push:4.2.0'

如果无法正常集成请在工程目录下的build.gradle添加如下配置:

allprojects {
    repositories {
          mavenCentral()
    }
}

添加权限

<!-- 必须的权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<!-- 推荐的权限 -->
<!-- 添加如下权限,以便使用更多的第三方SDK和更精准的统计数据 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

新建自己的Application

package com.zl.umtest;

import android.app.Application;
import android.content.Context;
import android.util.Log;

import com.umeng.commonsdk.UMConfigure;
import com.umeng.message.IUmengRegisterCallback;
import com.umeng.message.PushAgent;
import com.umeng.message.UmengMessageHandler;
import com.umeng.message.entity.UMessage;

/**
 * Created by Administrator on 2018/8/28.
 */

public class MyApp extends Application {
    private static final String TAG = "MyApp";

    @Override
    public void onCreate() {
        super.onCreate();
        /**
         * 初始化common库
         * 参数1:上下文,不能为空
         * 参数2:APPKEY
         * 参数3:Channel ID
         * 参数4:设备类型,UMConfigure.DEVICE_TYPE_PHONE为手机、UMConfigure.DEVICE_TYPE_BOX为盒子,默认为手机
         * 参数5:Push推送业务的secret
         */
        UMConfigure.init(this, "5b8492b2b27b0a6372000055", "UmengTest", UMConfigure.DEVICE_TYPE_PHONE, "d1ac6aabe09bd690a2bcd7bbcd06c0ba");
        /**
         * 设置组件化的Log开关
         * 参数: boolean 默认为false,如需查看LOG设置为true
         */
        UMConfigure.setLogEnabled(true);

        PushAgent mPushAgent = PushAgent.getInstance(this);
        //注册推送服务,每次调用register方法都会回调该接口
        mPushAgent.register(new IUmengRegisterCallback() {

            @Override
            public void onSuccess(String deviceToken) {
                //注册成功会返回device token
                Log.e(TAG, deviceToken);
            }

            @Override
            public void onFailure(String s, String s1) {

            }
        });
        UmengMessageHandler messageHandler = new UmengMessageHandler() {
            /**
             * 通知的回调方法
             * @param context
             * @param msg
             */
            @Override
            public void dealWithNotificationMessage(Context context, UMessage msg) {
                //调用super则会走通知展示流程,不调用super则不展示通知
                super.dealWithNotificationMessage(context, msg);
            }
        };
        mPushAgent.setMessageHandler(messageHandler);
    }
}

修改清单文件,将name指向你新建的Application,并添加UMENG_APPKEY、UMENG_MESSAGE_SECRET.

  <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:name=".MyApp"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
                <meta-data
            android:name="UMENG_APPKEY"
            android:value="5b8492b2b27b0a6372000055"/>
        <meta-data
            android:name="UMENG_MESSAGE_SECRET"
            android:value="d1ac6aabe09bd690a2bcd7bbcd06c0ba" />
</application>

到这里集成算是搞定了,我们可以运行一下试试。

有几点需要注意一下呀,
第一:确保运行程序的设备已经联网并可正常使用。
第二:保证UMENG_APPKEY和UMENG_MESSAGE_SECRET正确无误。
以上两点要求有一点达不到就会提示注册不成功,无法获取到device token,并且log中显示accs bindapp error。
比如我就犯了傻啦,调试了半天一直在报accs bindapp error,在网上找了各种办法都不行,最后一看mdzz手机没联网,打开wifi连上公司无线问题顺利解决,成功拿到device token推送测试成功收到消息。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值