android - 通过 Cloud Messaging 禁用 Firebase 云消息传递到托盘
问题描述
我已经研究了这个话题一段时间,但我似乎无法理解。显然谷歌还没有为此制作用户界面,这就是我所理解的。所以这就是问题所在。
我喜欢偶尔向我的应用用户(100k+)发送云消息。用户可以选择关闭这些通知,如果应用程序在前台,这可以正常工作。
但作为背景,Firebase 没有给我任何处理这个问题的方法。即使用户在应用程序中禁用了消息,该消息也将始终进入托盘。可以理解的是,通知永远不会到达应用程序。
我读过人们的回复,我们应该直接从我们自己的服务器发送此类消息。是的,我有自己的服务器,而且我确实直接从服务器向我的用户发送了很多消息。我维护了一个包含所有 fcm 代码的数据库。
但我想知道是否有办法通过firebase控制台实现这一点。很高兴将所有消息都放在一个地方,例如 ios 和 android。谷歌还将向我们展示统计数据,这些统计数据对于分析哪些通知效果更好也很重要。
我在这里看到了一个可能的答案,How can I disable firebase notification on android client app,但它看起来非常不合常规。
任何帮助,将不胜感激。
解决方案
要禁用通知,只需添加
FirebaseMessaging.getInstance (). UnsubscribeFromTopic ("Topic_Name");
注意:这些必须事先订阅主题
再次启用通知使用这个
FirebaseMessaging.getInstance (). SubscribeToTopic ("Topic_Name");
推荐阅读
- compiler-errors - 在 Microsoft Dynamics 365 中,为什么我不能内联 FormDataSource 的实例?
- macos - 为 Bazel 构建设置 MacOS 目标版本
- image - Flutter:在图像包中,如何将从 copyCrop() 返回的裁剪图像保存到路径?
- java - SonarQUBE 和 compareTo 日期
- c# - 如何通过坐标更改导入的 STL 文件的位置
- javascript - 无法从 ibm-watson IamTokenManager 获取身份验证令牌
- odoo - 如何在 Odoo14 中存储登录用户
- python - 我的 tensorflow 没有检测到我的 gpu 并使用我的 cpu(机器学习)
- xapi - 如何将包含一些交互的 xAPI 语句写入问题页面
- c# - 如何在参数化查询中传递模式名称