Android厂商推送冲突了。。。,字节跳动架构师讲解Android开发

推送已经成为当下大部分App的必备功能了,相信大家每天都会收到新闻、聊天消息、普通App的活动等消息推送,而为了提升推送的到达率,大家也做了各种优化,最初应用进程被杀后,就收不到推送了,所以前几年就出了各种应用保活的方法,而Android 8.0以后应用保活的“妙招”就很难生效了。

为了提升推送的到达率,当应用被杀后大家都会选择走厂商的推送通道,各大厂商在系统级别会有一个长链接来统一处理推送消息,从而确保当应用被杀后你也能顺利收到推送,下图描述了小米的厂商推送流程。

通知栏消息和透传消息

通知栏消息:很好理解,就是收到推送自动显示到通知栏的消息。

透传消息:顾名思义就是直接把消息内容传到客户端,对用户来说是透明的,收到消息后是否显示及显示形式由客户端控制,使用起来更加灵活,很多第三方SDK中称之为自定义消息。一般App中的自定义消息也都是用的透传消息,App收到通知后可通过拿到的消息通知的类型,以及需要前往的页面进行相应处理。

##   问题由来

最开始我们App中使用网易云信来支持聊天业务;使用极光推送来处理业务的推送消息,由于上述Android版本的限制,进程保活变得困难,也是不推荐的方式。这也导致了应用被杀后消息收不到,所以极光和云信都陆续提供了自家关于厂商推送的接入方案。由于业务需要我们先接入了极光的厂商推送,极光针对不同厂商提供的厂商推送SDK进行了封装,你只需要引入对应封装好的包就行,如下:

dependencies {

implementation ‘cn.jiguang.sdk:jpush:3.3.9’

implementation ‘cn.jiguang.sdk:jcore:2.1.6’

implementation ‘cn.jiguang.sdk.plugin:xiaomi:3.3.9’

implementation ‘cn.jiguang.sdk.plugin:huawei:3.3.9’

implementation ‘cn.jiguang.sdk.plugin:oppo:3.3.9’

}

以小米为例,我们看看极光引入的cn.jiguang.sdk.plugin:xiaomi:3.3.9 arr包是如何工作的:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值