Firebase 云消息传递报告错误
Posted
技术标签:
【中文标题】Firebase 云消息传递报告错误【英文标题】:Firebase Cloud Messaging Reports wrong 【发布时间】:2021-07-20 19:51:42 【问题描述】:我正在向我的应用发送云消息,但 Firebase-CF-Reports 告诉我不会收到它们:
但我确信某些设备确实会收到它们。例如我自己的。所以报告中出现了问题。
我在here 和here 读到过这个问题,但我已经有了一个分析标签,我将它与我的云消息一起发送。
这就是我使用 java-admin-sdk 发送通知的方式:
Message message = Message.builder()
.setTopic(topic)
.setandroidConfig(AndroidConfig.builder()
.setPriority(AndroidConfig.Priority.HIGH)
.build())
.setApnsConfig(ApnsConfig.builder()
.setAps(Aps.builder()
.setMutableContent(true)
.setContentAvailable(true)
.build())
.putHeader("apns-push-type", "background")
.putHeader("apns-priority", "5")
.putHeader("apns-topic", "my.bundle.id")
.build())
.putData("\"content\"", contentString)
.putData("\"actionButtons\"", actionButtonsString)
.setFcmOptions(FcmOptions.withAnalyticsLabel("SendToAll"))
.build();
另外有趣的是,如果我不过滤 Platform/Channel
(尽管仍然只过滤我的带有 Apps=
的 Android 应用程序),我会得到:
但是这些数字仍然没有任何意义。我还在自己的设备上打开了一些通知。我不敢相信只收到了 18 个。
有人知道我做错了什么吗?
我在我的 Flutter 应用中使用了这个 fcm-sdk:
firebase_messaging: ^9.1.2
【问题讨论】:
【参考方案1】:尽管我在官方文档中没有找到这一点,但我在此答案 here 的 cmets 中找到了此讨论中的信息。事实证明,订阅 FCM 中的主题不一定是永久性的。所以不要给用户订阅一次主题。而是在每次应用启动时都这样做,尽管它是
-@AL.“在技术上不是必需的。这可能取决于您的用例。对于 例如,如果您想要一个所有用户都是其成员的全局主题, 你必须确保他们订阅了它。把 应用启动时的订阅方法保证了这一点。”
自从我改变了这一点,收到通知的人比以前多得多。只有开放计数仍然不适合我。它始终为零。
【讨论】:
以上是关于Firebase 云消息传递报告错误的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 云消息传递:我们无法注册默认服务工作者错误
适用于 iOS 的 Xamarin Firebase 云消息传递(appDelegate)RemoteMessageDelegate 错误