【问题标题】:Remove Firebase Notifications from tray (Android, Unity SDK)从托盘中删除 Firebase 通知(Android、Unity SDK)
【发布时间】:2020-03-04 10:31:37
【问题描述】:

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

谢谢,习惯

【问题讨论】:

    标签: android firebase unity3d firebase-cloud-messaging


    【解决方案1】:

    看起来这也是 Android 本身的问题,并且已经有一个很好的 Stack Overflow 帖子。如果你对编写原生 Android 插件不能或不满意(我实际上在 this article 中创建了一个 Android 消息插件作为示例),我想我有一个纯 Unity 解决方案。

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

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

    AndroidNotificationCenter.CancellAllNotifications();
    

    LMK 如果这对你有用!

    --帕特里克

    【讨论】:

    • 我现在使用的是 CancelAllDisplayNotifications(),但效果很好!非常感谢您的提示!
    • 有什么办法可以避免使用 API 19 (Android 4.4) 来实现这个功能?到目前为止,我使用了 4.1(API 16),甚至包括 Firebase SDK。我刚刚看到我的应用程序的很多活动设备仍然是
    • 我认为我可能已经在 Twitter 上回答了这个问题,所以这是我复制/粘贴的一个可能错误的答案:通过 JNI 完成所有工作会更有效.我打赌你可以从 AndroidJavaSclass.CallStatic 调用它:developer.android.com/reference/androidx/core/app/… 然后你需要按照这里的说明来拉取 androidx.core:medium.com/firebase-developers/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 2023-03-15
    • 2011-04-05
    相关资源
    最近更新 更多