集成友盟推送

基于   友盟基础库common:2.0.2'     友盟push:5.0.2'       android studio 2.2.3   gradle 2.14.1

介绍下选择友盟的原因,一个字,多渠道打包。友盟支持多包名,什么意思呢?就是只创建一个应用,然后就可以随便在这个应用上增加包名(200~300),不用增加一个包名又要创建一个应用,像我们这种有多少客户就有多少包名的来说,就决定是他了。极光跟信鸽都不支持多包名。

然后说下功能,目测了下,有启动广告、自定义通知、全屏消息、对话框消息,等等,简单测试了下,挺有意思,功能够用。但是这些我暂时都用不到,以后慢慢再增加吧。主要用他的另一个功能,就是其它有集成友盟的可以相互拉起进程,呃,好像路走偏了。。。。。

接下来说下集成,我是用自动集成的方式,没办法,懒,手动集成要配置的东西有点多,而且还要依赖一个叫push的library,项目里多一个不相干的module,处男座能忍,处女座也忍不了啊。

最后说下具体集成,用屁股想也知道分两步,依赖----配置,其中配置包括在友盟控制台创建应用,生成key相关的东西,还有就是在项目里配置生成的key。然后不用屁股想也知道配置完成后就是初始化了。一步步来。

控制台创建应用不说了,申请过微信分享或是百度地图key的都应该很熟悉,跟着做就可以了。

依赖

首先在project的build.gradle里添加仓库,注意是在相应节点添加就可以了,不要整个复制把原来项目里的覆盖了。

buildscript {
    repositories {
        maven { url 'https://dl.bintray.com/umsdk/release' }
    }
}
allprojects {
    repositories {
        maven { url 'https://dl.bintray.com/umsdk/release' }
    }
}

然后在app的build.gradle的dependencies节点添加依赖,如果你的gradle版本>=3.0.0,把下面的compile换成implementation。

//基础组件库(必需)
compile 'com.umeng.umsdk:common:2.0.2'
//PushSDK(必需)
compile 'com.umeng.umsdk:push:5.0.2'
compile 'com.umeng.umsdk:utdid:1.1.5.3'

关于第三个依赖'com.umeng.umsdk:utdid:1.1.5.3',如果项目里集成了支付宝支付,那这个依赖就不用了。如果没有集成支付宝,那这个依赖是必需的。依赖都完成后同步一下。

初始化

在项目Application的oncreate()里初始化,初始化也很简单。

UMConfigure.init(this, Appkey, 渠道名称,UMConfigure.DEVICE_TYPE_PHONE, Umeng Message Secret);
        PushAgent mPushAgent = PushAgent.getInstance(this);
        mPushAgent.setResourcePackageName(资源包名);
        mPushAgent.register(new IUmengRegisterCallback() {
            @Override
            public void onSuccess(String token) {
                Log.i("lxx", "onSuccess: " + token);
            }

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

输入参数解释

Appkey 和Umeng Message Secret在创建应用的时候会生成,直接复制相应字段填入就好了。

渠道名称:我是用的包名全称,解释一下,有一种场景,比如你打包了华为跟小米两个渠道的包,但是只创建了一个应用,利用多包名,因为控制台发消息是以应用为单位发的,这种情况如果你想单独给华为或是单独给小米渠道下载的app发消息,就可以用到这个渠道名称了。先看下控制台发消息时的筛选,在这里填入初始化时输入参数里相应的渠道名称就可以了。

调用完初始化后,还有这么一句

mPushAgent.setResourcePackageName(资源包名);

对于多包名来说,这句话很重要,要不然会收不到推送。这句是用来设置资源目录的。默认情况下applicationId和AndroidManifest里的package是一样的,但是多渠道打包的时候,会修改applicationId的值,这个时候applicationId跟package就不一样了。所以要设置一下。 

接下来是注册,在回调里会返回一个token,这个token可以用来标识一台具体的设备,每个设备的都不一样。所以可以利用这个值给某台设备发推送。

 

好了,到此,最简单的推送就配置完了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值