首页 > 解决方案 > Firebase 云消息传递报告错误

问题描述

我正在向我的应用程序发送云消息,但 Firebase-CF-Reports 告诉我不会收到它们:

但我确信有些设备确实收到了它们。例如我自己的。因此,报告中出现了问题。

我在这里这里读到了这个问题,但我已经有了一个分析标签,我用我的云消息发送。

这就是我使用 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(尽管仍然只过滤我的 android 应用程序Apps=),我会得到:

在此处输入图像描述

但这些数字仍然没有任何意义。我还在自己的设备上打开了一些通知。我不敢相信只收到了 18 份。

有谁知道我做错了什么?

我在我的颤振应用程序中使用这个 fcm-sdk:

firebase_messaging: ^9.1.2

标签: firebaseflutterpush-notificationfirebase-cloud-messaging

解决方案


尽管我没有在官方文档中找到这一点,但我在此答案的评论中找到了此讨论中的信息。事实证明,订阅 FCM 中的主题不一定是永久性的。所以不要给用户订阅一次主题。而是在每个应用程序启动时都这样做,尽管它是

“在技术上没有必要。这可能取决于您的用例。例如,如果您想要一个所有用户都是成员的全局主题,您必须确保他们订阅了它。当应用程序启动保证了这一点。”

  • -@AL。

自从我改变了这一点,比以前更多的人收到了通知。只有开放计数仍然不适合我。它始终为零。


推荐阅读