大家早上好,我已经好几个小时没找到解决办法了。
我使用“PushNotifications”电容器插件(https://capacitor.ionicframework.com/docs/apis/push-notifications/)来监听来自Firebase的推送通知(包括通知和数据类型),通知的监听非常好,即使在应用程序被杀或在后台的情况下,一切都按预期进行。
问题如下:
我想在收到通知时打开应用程序,如果它在后台或如果它已被杀死。
1.在应用程序处于前台时收到通知的情况下,我可以使用addListener(eventName: "pushNotificationReceived", callback)
运行自定义代码,并且在任何情况下都没有问题,因为应用程序是打开的。
1.如果应用程序在后台时收到通知,我可以强制应用程序保持backgroundMode活动(https://ionicframework.com/docs/native/background-mode),并在收到通知时将应用程序带到前台。(尽管我真的不喜欢它,因为它很耗电)
1.如果appkilled,我还没有找到解决问题的方法。
似乎没有办法挂钩自定义代码能够运行时,推送通知到达时,它是在后台接收或与应用程序杀死,你有没有遇到过这个问题?
谢谢大家!
4条答案
按热度按时间zysjyyx41#
我的解决方案是添加:FCM_PLUGIN_ACTIVITY操作到AndroidManifest.xml
此外,在服务器上,您应该在推送通知对象中包含该操作:
在你的ionic项目中,你可以像下面这样处理pushNotificationActionPerformed,然后导航到所需的路由:
要在应用打开时处理接收推送通知,您需要处理pushNotificationReceived,并在需要时自己显示一个吐司。
91zkwejq2#
我遇到了同样的问题,并在AndroidManifest.xml中使用以下行修复了它
zte4gxcn3#
对于我们来说,如果我们另外安装了FCM插件(https://github.com/capacitor-community/fcm),我们需要iOS的后台通知(即使在应用程序被杀死后)也可以工作。
h9a6wy2h4#
我有同样的问题.这是如何发送消息的技术基础.这里是一个PHP函数,从服务器发送通知到设备.“数据”是消息发送到应用程序,“通知”被发送到Android操作系统.