开发者社区 问答 正文

移动推送Android SDK:如果用户将应用进程手动杀死,推送的消息还能送达么?



1. 问题


正确接入推送SDK,并且在应用中也初始化成功了,如果用户将应用进程手动杀死,推送的消息还能送达么?

2. 问题原因


不同的ROM对应用进程的权限管理限制不同,部分ROM环境下应用进程可以被拉起响应推送信息,部分机型受限无法被拉起。我们的工作就是持续地优化上述场景提升推送到达率。

3.解决方案

  • SDK有自动保活机制,但是该机制不是立即生效的,应用被杀死后可以多观察一段之间(5分钟左右),看应用是否可以自启动
  • 如果您的设备是小米或者华为,建议配置小米和华为辅助通道以及小米托管弹窗,可以提升到达率。相关文档:小米/华为系统推送支持
  • 阿里云移动推送会持续努力优化应用保活能力,提升应用到达率。并在相关方案成熟后第一时间发布,建议关注推送SDK版本更新

展开
收起
猫饭先生 2017-10-23 14:05:11 1937 分享 版权
阿里云 AI 助理回答

当用户手动杀死应用进程后,推送消息是否能送达取决于多个因素,包括设备的ROM类型、系统权限管理、以及您采取的保活策略等。阿里云移动推送(Push Service)通过优化技术来提高消息送达率,但确实存在一些挑战,尤其是在那些对后台进程有严格限制的设备上。

  1. 自动保活机制:阿里云推送SDK内置了一定程度的自动保活机制,旨在帮助应用在被杀死后有机会重新启动并接收推送消息。不过,如您所述,这并不保证立即生效,可能需要几分钟的时间来观察应用是否能够成功自启动。

  2. 小米/华为辅助通道与托管弹窗:对于小米和华为这类对系统权限管理较为严格的设备,建议您配置使用小米/华为的辅助推送通道。这些辅助通道是基于厂商提供的系统级服务,即使应用不在前台或被杀死,也能提高消息送达的可能性。特别是小米托管弹窗功能,可以在不依赖应用进程的情况下直接展示通知给用户,显著提升到达率。

  3. 关注SDK更新:阿里云持续优化其推送服务,包括增强应用保活能力和探索新的解决方案。因此,定期检查并升级到最新版本的SDK是非常重要的,以确保您的应用能够利用最新的优化成果和技术支持。

  4. 开发者最佳实践

    • 确保应用的权限设置正确,尤其是与通知相关的权限。
    • 在应用的文档或首次启动时,引导用户开启通知权限,这对于接收推送至关重要。
    • 考虑在应用内实现逻辑,比如在用户打开应用时检查是否有未送达的通知,并做相应处理。

综上所述,虽然不能保证在所有情况下都能成功送达消息给手动杀死进程的用户,但通过上述措施可以显著提升消息的到达率。不断的技术优化和合理的策略配置是应对这一挑战的关键。

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