我正在向我的应用程序发送云消息,但 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
答案 0 :(得分:0)
尽管我没有在官方文档中找到这个,但我在这个答案的评论中找到了这个讨论中的信息here。事实证明,订阅 FCM 中的主题不一定是永久性的。所以不要让用户订阅一个主题一次。而是在每个应用程序启动时都这样做,尽管它是
<块引用>“技术上没有必要。这可能取决于您的用例。对于 例如,如果您想要一个所有用户都是其成员的全局主题, 你必须确保他们订阅了它。把 应用启动时的 subscribe 方法保证了这一点。”
自从我改变了这一点后,收到通知的人比以前多得多。只有开放计数仍然对我不起作用。它始终为零。