Android 后台应用保活、消息推送

3、针对以往Android版本的各种保活技术回顾

Android P之前为了搞定客户的投诉:“为什么微信能收到消息而你们的IM却不能?”,为了解决这个“痛点”,广大的Android开发者们只能让各种黑科技轮番上场、各显神通,最典型的:比如曾今在手机QQ上的1像素保活(虽然QQ官方从没正面承认过)、后台无限播放无声音的音频、应用互相拉活等,大家都耳熟能详。

下面就是即时通讯网整理过的各种典型保活需求和思路,可以回顾学习一下:

应用保活终极总结(一):Android6.0以下的双进程守护保活实践

应用保活终极总结(二):Android6.0及以上的保活实践(进程防杀篇)

应用保活终极总结(三):Android6.0及以上的保活实践(被杀复活篇)

Android进程保活详解:一篇文章解决你的所有疑问

Android端消息推送总结:实现原理、心跳保活、遇到的问题等

深入的聊聊Android消息推送这件小事

为何基于TCP协议的移动端IM仍然需要心跳保活机制?

微信团队原创分享:Android版微信后台保活实战分享(进程保活篇)

微信团队原创分享:Android版微信后台保活实战分享(网络保活篇)

移动端IM实践:实现Android版微信的智能心跳机制

移动端IM实践:WhatsApp、Line、微信的心跳策略分析

4、国内各种Android厂商级推送通道出现了

为了响应Android原版中对省电策略、用户体验等设计,也为了避免各种保活乱象,国内主流的Android手机厂商在阉割了谷歌原版的GCM(FCM)推送通道之后(悲剧!),依靠自身的技术力量构建起来各家自有的推送通道。

下面是国内主流Android厂商的推送服务开发者入口:

1)小米消息推送服务

2)华为消息推送服务端(Huawei Mobile Services)

3)魅族消息推送服务

4)OPPO消息推送服务

5)vivo消息推送服务(建设中..)。

看到上面这串厂商系统级推送通道列表,相信你已经露出了你那排洁白的牙齿了 ^_^。。。

如果剧情都能像都市爱情小说那样——“男女主角从此过上了幸福美满的生活...”,那就完美了!

但是(这个但是真的很讨厌),不要高兴的太早,理想情况下对接厂商通道确实很爽,但现实很骨感。

对接厂商通道带来的麻烦,远比你想像的要多:

1)你得一家一家下载SDK、注册开发者账号、搞手机端对接、搞服务端对接;

2)各厂商的SDK都打包在一个APP里,可能存在各种兼容性问题;

3)因为ROOM版本问题,即使同一个厂商的手机的同一套SDK也存在新旧ROOM的兼容性问题;

4)这一堆的SDK,各种jar包让你的APP莫名变大了不少;

5)服务端要对接各种厂商的推送后台,各家的技术水平、SDK水准、服务稳定性参差不齐,对接起来难受吧;

6)有些手机小厂并没有自已的推送通道,你自建的推送能道还不能扔。

凡此种种,对接厂商通道并不轻松。

不过:如果公司不排斥使用第3方通送方案的话,现阶段这种混乱状况下,可以考虑直接用第3方的服务,比腾讯的信鸽推送为例(首先申明,我没收信鸽的好处费,只是举个例子!),信鸽推送的方案也是一家一家对接第3方的厂商通道道+自有通道(《[资讯] 信鸽新版上线:号称Android首家统一推送服务》),对于开发者来说信鸽的实现思路其实跟我们想的是一样的。但好处是:别人有专门的团队死磕这件破事,比你自已一个人带来的效果要好多了。

Android P正式版即将到来:后台应用保活、消息推送的真正噩梦

https://www.cnblogs.com/imstudy/p/9407410.html

原文地址:https://www.cnblogs.com/bluestorm/p/10683724.html