从托盘中删除 Firebase 通知(Android,Unity SDK)

Remove Firebase Notifications from tray (Android, Unity SDK)

我成功实现了 Firebase Unity SDK 的通知(由云功能发送)。我对通知的理解是,如果应用程序打开并接受它(它有数据和通知部分),它根本不应该出现在通知托盘中,但实际上所有通知都堆积在托盘中。我设法提供了一个 CollapseKey 并根据消息标签至少在那里显示了最新的一个,但是只要应用程序在前台(以及当设备进入睡眠状态时),实际上通过托盘通知是没有意义的。 所以我想做的是从 pausing/sleeping 主动删除有关应用程序启动或恢复的任何通知。这有可能吗?我在 Unity SDK 中没有找到任何 API。

谢谢,habitoti

看起来这也是 Android 本身的问题,并且已经有一个很好的 Stack Overflow post on it. If you're unable or uncomfortable with writing a native Android plugin (I actually create an Android messaging plugin in this article 作为例子),我想我有一个纯粹的 Unity 解决方案。

首先,您需要引入 Mobile Notifications package(该文档用于预览,但看起来 1.0.3 是稳定的)。

然后您应该可以调用 CancellAllNotifications,如所列 here。这是一个静态函数,所以您需要的所有代码是:

AndroidNotificationCenter.CancellAllNotifications();

LMK 如果适合你!

--帕特里克