我正在使用以下plugin在我的xamarin应用程序中实现和处理 FCM 推送通知,我面临着一个未解决的小问题。
我希望其他人已经弄清楚了,可以为我提供帮助。
尽管我将MainActivity
设置为LaunchMode
,但似乎在复制我的SingleTop
。
该库提供了一个名为 OnNotificationReceived
的事件。
当应用程序位于前台时,此事件将按预期触发,仅触发一次。
当我最小化应用程序时(让它在后台运行),将通知发送到设备并点击通知,它将按预期方式打开应用程序,但是如果在此之后我发送另一个通知,则应用程序处于在前景中, OnNotificationReceived
事件被触发两次。
我尝试将 NotificationActivityFlags
属性更改为SingleTop。
我尝试将MainActivity
的启动模式更改为SingleTop
我尝试运行他们提供的示例应用程序,以检查它是否做错了什么,并且仍然发生相同的事情。
将issue记录在其Github存储库中
以上均无效。
可以通过以下方式重现该问题:
从存储库下载样本,上面提供了链接
从Firebase用您自己的文件替换其google-services.json文件
安慰。
将应用程序示例的程序包名称更改为您自己的 已在Firebase上注册
按照我上面提到的步骤进行操作
答案 0 :(得分:0)
我希望这对以后的人有所帮助,否则我希望有人可以为我提供更好的解决方案。
为了吃蛋糕,基本上可以将通知对象保留在有效负载中而不是将其删除,并且必须进一步自定义有效负载以仅显示iOS通知,我更改了MainActivity
的(用户点击通知时启动的活动)启动模式为SingleInstance
。这样,我可以将通知对象保留在有效负载中,而不必担心两次触发 OnNotificationReceived
事件。