开发者社区 问答 正文

emas离线,难道不是指的应用被kill的么?这样阿里推送的还能正常推送么?

emas离线,难道不是指的应用被kill的么?这样阿里推送的还能正常推送么?

展开
收起
真的很搞笑 2023-07-08 20:43:56 193 分享 版权
4 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在 Android 平台上,当应用程序被 kill 掉时,系统会停止应用程序的进程,此时应用程序无法接收到推送消息。但是,您可以通过允许 EMAS SDK 启用自启动机制、增加进程保活等方法,使应用程序在被 kill 掉后,仍能够接收到离线推送消息。

    需要注意的是,阿里推送服务的离线推送功能,也需要您在应用程序中进行相关配置和集成。具体来说,您需要在 EMAS 控制台中配置阿里推送服务的相关参数,并在应用程序中集成阿里推送 SDK。如果您需要支持应用程序被 kill 掉后的离线推送功能,还需要根据具体情况进行相应的配置和优化。

    2023-07-09 21:08:27
    赞同 展开评论
  • 值得去的地方都没有捷径

    对于 EMAS(阿里移动推送),如果应用被 kill 或处于后台状态,推送消息可能无法立即送达。然而,一旦应用重新启动或回到前台,则可以正常接收到推送消息。

    阿里移动推送的实现原理是通过与移动设备建立长连接,在设备在线时实时传递推送消息。但是,当应用被 kill 或处于后台时,长连接将会中断,无法实时接收到推送消息。

    为了弥补这个问题,EMAS 提供了离线推送的功能。离线推送是指当设备处于离线状态时,将推送消息保存在推送服务端,等待设备重新上线后再次尝试投递。当应用重新启动或用户打开应用时,可以通过拉取离线消息来获取未实时送达的推送消息。

    需要注意的是,如果应用长时间处于离线或设备不在线,离线消息可能会有一定的延迟。因此,对于重要的实时通知,建议在应用启动后主动进行一次后台接口拉取最新消息。

    总结一下,即使应用被 kill 或处于后台状态,EMAS 仍然可以发送推送消息,但消息的实时性会有一定的延迟,需要应用重新启动或回到前台才能接收到。为了更好地处理离线情况,可以使用 EMAS 提供的离线推送功能。

    2023-07-09 11:57:19
    赞同 展开评论
  • 对于EMAS(阿里云移动推送服务),离线通常指设备处于无法联网或应用被关闭的状态,而不一定是应用被kill。在这种情况下,阿里云推送服务仍然可以通过系统级别的通道向设备发送离线消息。

    当设备重新联网或应用重新启动时,设备会与阿里云推送服务建立连接,并接收到之前未能及时推送的离线消息。这样可以确保用户在离线期间错过的消息能够被正确地推送到设备上。

    需要注意的是,推送服务的可靠性和成功率可能会受到设备网络状况、操作系统限制以及其他因素的影响。虽然阿里云推送服务会尽力保证消息的送达,但在某些情况下,如极端离线时间过长或设备遇到异常情况等,可能会导致部分消息无法准确地送达给设备。

    2023-07-08 23:00:36
    赞同 展开评论
  • emas 自己集成好了各个厂商的SDK,f44df71123acda1f05adf34e4d7a08c5.png
    也是借助的厂商通道,此回答整理自钉群“【移动推送】技术支持3群-应用研发平台EMAS”

    2023-07-08 20:49:35
    赞同 展开评论