【问题标题】:OnMessageReceived Not Triggered When Application Closed (HMS Pushkit)应用关闭时未触发 OnMessageReceived(HMS Pushkit)
【发布时间】:2021-08-28 12:40:30
【问题描述】:

我已将华为的Pushkit,推送通知服务集成到我的 Xamarin 应用程序中,我已经在应用程序在前台运行时测试了通知,它按预期工作。

但是,当应用程序关闭并尝试发送通知时,我的消息服务中的OnMessageReceived 方法不会被触发。

根据可以找到here的文档:

无论您的应用是在前台运行还是 背景,如果你覆盖了 onMessageReceived 方法 DemoHmsMessageService类,你的app可以获取数据消息 内容只要您发送数据消息即可。

在我看来,这意味着应该触发OnMessageReceived 方法,只要您发送数据消息

是我遗漏了什么,还是我误解了上面引用的段落?

提前致谢! ????

【问题讨论】:

  • "close" 和 "background" 是两个不同的东西。您正在测试哪种场景?
  • 我正在测试当应用程序被用户明确关闭时的场景,我相信正确的技术术语可能会被“杀死”,而不是强制停止,但我知道通知不起作用在这种情况下。
  • 如果用户杀死了应用程序它没有运行期间,所以我不希望任何代码触发
  • 好的,我明白了,还有没有呢?因为例如使用 FCM,即使用户关闭应用程序,我也可以轻松处理通知。
  • 我不知道,我从来没有使用过 PushKit。我会参考他们的文档或支持论坛寻求帮助

标签: xamarin xamarin.forms huawei-mobile-services huawei-push-notification


【解决方案1】:

Push kit 支持两种类型的消息 - 通知消息和数据消息。

OnMessageReceived 将触发数据消息接收消息。

对于数据消息,如果应用程序关闭,用户可能不会收到消息。根据文档:

https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/funtion-description-0000001050148080

数据信息的传递取决于您的居民身份 应用程序。 Push Kit 不能保证高的数据消息传递率, 因为它可能会受到Android系统限制以及是否 应用正在后台运行。

可能是因为电池优化。

对于通知消息,无论应用驻留状态如何,即使应用未启动,也可以发送通知。

【讨论】:

  • 我同意这确实是真的,如果我没记错的话,可以申请在关闭应用时接收数据消息,可以吗?
  • 技术上可以。
猜你喜欢
  • 2018-06-11
  • 1970-01-01
  • 2020-12-20
  • 1970-01-01
  • 2020-12-19
  • 1970-01-01
  • 2016-10-09
  • 1970-01-01
  • 2016-05-07
相关资源
最近更新 更多