有个应用研发平台EMAS问题请教下,对于通过厂商离线发送的消息,这个消息 id 如何指定?我的需求是通过 activeNotifications 拿到消息列表时,里面的消息 id 是我指定的。 我测了下在线时通过 AndroidNotificationNotifyId 这个参数可以做到。但是离线后这个参数就不起作用了。另外我大概看了小米和华为的服务端都是支持传 notify_id 的,现在有用到吗? 或者需要做什么别的设置?
在EMAS移动推送服务中,对于通过厂商离线发送的消息,消息ID通常是由推送服务自动生成的,而不是由开发者直接指定的。
如果您希望通过activeNotifications
拿到具有特定消息ID的消息列表,您可能需要采取其他策略,例如:
需要注意的是,由于离线推送的通知首先会被存储在服务器端,待设备上线后再进行推送,因此即使服务端支持指定notify_id,也可能不会直接传递这个自定义的notify_id至客户端。此保您的指定离线消息的消息ID,但您可以通过上述方法来间接实跟踪。
在阿里云移动推送服务中,对于通过厂商离线发送的消息,您可以通过notify_id
来指定消息ID。不过,这个参数在离线情况下是否生效,可能取决于具体的手机厂商推送服务的实现。
为了确保notify_id
在离线状态下也能正确工作,您可以采取以下几个步骤:
notify_id
参数,并且了解如何正确使用该参数。notify_id
在离线推送时是否按预期工作。您可以尝试发带有不同notify_id
的消息,并通过activeNotifications
口获取消息列表,检查返回的消息ID是否符合您指定的notify_id
。综上所述,您可以尝试上述步骤来解决离线推送消息ID指定的问题。如果问题依然存在,可能需要进一步的技术支持来诊断问题所在。
针对您提到的问题,在EMAS移动推送中,对于通过厂商离线发送的消息,其消息ID通常是由推送服务自动生成的,并非由开发者直接指定。尽管部分厂商如小米和华为的推送服务可能支持在服务端指定notify_id,但在EMAS移动推送服务中,对于离线消息的处理并不保证完全传递或支持所有厂商特定的自定义参数。
当应用离线时,消息首先会被存储在服务器端,待设备上线后再进行推送。此时,即使服务端支持指定notify_id,在EMAS移动推送框架下的离线消息处理机制中,可能并不会直接传递这个自定义的notify_id至客户端。
若要实现您的需求,即在离线状态下也能通过activeNotifications拿到指定的消息ID,建议您查阅EMAS移动推送关于离线消息的相关文档或联系阿里云技术支持,了解是否提供了相应的解决方案或扩展配置来支持这种场景。同时,也可以尝试在厂商通道层面进行更深入的定制化开发,但这通常需要对接厂商的推送服务接口并遵循其规范。
在消息内容中包含自定义的标识符,然后在activeNotifications回调中通过解析消息内容来获取这个自定义标识符。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。