[英]Remote Push Notifications and terminated Apps
我的问题是有关终止该应用程序时iOS和Android设备上的标准远程推送通知的信息。
简而言之:
有不同的应用程序状态/模式:
有不同的通知类型:
对于前景,背景和暂停模式,它很明显,并且在iOS和Android上效果很好。 根据通知类型,文档中将说明预期的行为。
但是,当该应用终止时,iOS和Android的远程通知似乎存在本质区别。
对于iOS:如果该应用已终止(未挂起),则iOS系统会收到标准的远程通知,并将其显示在通知中心。 没有调用任何委托,并且该应用程序未置于后台模式(即使启用了远程推送后台模式也是如此)。 当用户单击通知时,将启动应用程序,并通过适当的委托提供通知对象。 总结:即使该应用被强制退出,用户仍可以在其设备上接收推送通知。
对于Android:应用终止后,通知中心不会显示标准的远程推送通知。 (该应用一旦启动并进入后台,通知就会正确接收并显示。
该文档非常不清楚,因为仅提到了前台和后台模式。 https://firebase.google.com/docs/cloud-messaging/concept-options https://firebase.google.com/docs/cloud-messaging/android/receive
有许多讨论得出的结论是,强制退出应用程序后,远程通知未显示在系统托盘(通知中心)中。 但是,关于设备重启后而不启动应用程序的预期行为的讨论很少。
但是,也有讨论表明即使应用程序已终止( 在应用程序关闭时未收到Android推送通知) ,远程推送仍始终显示在系统托盘中。 这与iOS的行为相同。
切入要点:即使应用程序已终止/强制退出/未运行,Android上是否也可以将远程推送通知发送到设备的系统托盘?
我现在可以回答我自己的问题:可以在应用未运行时将推送通知发送到Android设备(在通知中心)。
无法发送通知的问题是由华为的EMUI和特定的省电设置引起的。 在华为P8,P9以及可能带有EMUI的许多其他设备上,当应用程序不运行时,它们不会收到通知。 必须在节电设置中明确授权它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.