开发者社区 问答 正文

移动推送Android SDK:为什么Android推送的到达率比iOS低很多?



1.问题


同样接入阿里云移动推送,为什么Android的推送到达率比iOS低很多?

2.问题原因


Android端推送和iOS端推送存在很大的区别。iOS推送统一接入APNS服务,属于系统级通道,到达率普遍在99%以上。Android端碎片化现象较重,大多国内厂商都剥离了Google GCM/FCM系统服务,同时对进程保活和弹窗也有严格的限制,所以才导致Android端到达率比iOS低很多。

3.解决方案


Android端到达率比iOS低很多是现状,但阿里云移动推送致力于持续提升Android端推送到达率,您可以从以下两个方面进行优化。

  • 确认是否正确接入移动推送,错误的接入对到达率会有较大影响,相关排查请参考:Android推送失败排查步骤
  • 接入辅助通道可有效提升特定品牌的到达率。针对各厂商ROM管控较严的现状,阿里云移动推送提供辅助通道SDK,帮助用户快速接入各家厂商推送,在特定品牌手机上达到系统级推送效果。目前移动推送已接入小米、华为、GCM辅助通道,其他品牌正在接入中。接入细节请参考:移动推送辅助通道配置

展开
收起
猫饭先生 2017-10-24 09:30:19 1704 分享 版权
阿里云 AI 助理回答

针对您提到的两个问题,以下是对问题的解答及解决方案的补充:

  1. 问题原因分析

    • iOS推送机制:iOS设备通过Apple Push Notification Service (APNs)接收推送通知,这是一个集中且高效的系统级服务。由于苹果对系统的严格控制,一旦应用被安装在iOS设备上,APNs通道就能确保极高的消息到达率,通常接近100%。
    • Android推送机制:与iOS不同,Android系统因为其开放性,导致了设备品牌和ROM的碎片化现象严重。许多厂商定制了自己的Android系统,并对后台进程、网络连接以及通知显示进行了各自的限制,这直接影响了推送消息的送达。Google的Firebase Cloud Messaging (FCM)虽然提供了一种标准的推送方式,但在很多非原生Android系统中并不适用或效果打折。
  2. 提升Android端推送到达率的解决方案

    • 正确接入阿里云移动推送:首先确保您的应用程序按照官方文档正确集成了阿里云移动推送SDK。错误的集成方式可能导致消息无法正常发送或接收。参考Android推送失败排查步骤,进行细致检查和调整。
    • 利用辅助通道:阿里云移动推送提供了针对特定手机品牌的辅助通道SDK,如小米、华为等,这些辅助通道能够绕过第三方ROM的限制,直接使用厂商提供的推送服务,从而显著提高到达率。配置辅助通道时,请遵循移动推送辅助通道配置指南,确保每个渠道的正确设置。
    • 优化应用保活策略:由于Android系统对后台进程的限制,开发者需要采取策略来保持推送服务的活跃状态,比如使用前台服务、JobScheduler或者AlarmManager等技术手段,但需注意不要过度消耗用户设备资源,以免影响用户体验。
    • 用户互动提升权限:鼓励用户将应用加入到电池优化白名单、通知许可等,这样可以减少操作系统对应用后台运行和接收通知的限制。
    • 监控与反馈:利用阿里云移动推送提供的监控工具,持续跟踪推送数据,包括到达率、打开率等关键指标,及时发现并解决潜在问题。

通过上述措施,尽管Android平台的推送环境复杂多变,但仍然可以有效提升推送消息的到达率,接近甚至达到与iOS相媲美的水平。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答