(静默)推送通知不会触发didReceiveRemoteNotification

问题描述 投票:0回答:1

我们需要向后端发送一些推送通知的收据确认,这些通知是使用 Firebase 发送的。为了实现这一点,我们发送后台通知,然后将消息 id 发送到后端并在

application(_:didReceiveRemoteNotification:fetchCompletionHandler:)
中显示通知。由于某种原因,这停止工作,因为
didReceiveRemoteNotification
似乎从未被调用。 我们基本上发送需要确认的消息,如下所示:

        final var apnsConfig =
                ApnsConfig.builder()
                        .setAps(Aps.builder().setContentAvailable(true).build())
                        .putAllHeaders(Map.of("apns-push-type", "background", "apns-priority", "5"))
                        .putCustomData("customDataKey", "customDataValue")
                        .build();

        final var multicastMessageBuilder =
                MulticastMessage.builder()
                        .setApnsConfig(apnsConfig)
                        .addAllTokens(
                                fcmEntities.stream()
                                        .map(FcmMessageEntity::getFcmRegistrationToken)
                                        .toList());

        multicastMessageBuilder.putAllData(
                Map.of(
                        "notificationTitle",
                        notificationTitle,
                        "notificationBody",
                        notificationBody));

        final var batchResponse =
                FirebaseMessaging.getInstance(firebaseService.getFirebaseApp())
                        .sendEachForMulticast(multicastMessageBuilder.build());

我们启用了“后台获取”和“远程通知”后台模式: a screenshot showing the

“常规”(可见)通知发送良好。

我们使用 Capacitor 及其 PushNotifications 插件以防相关。

我们错过了什么/做错了什么?

我们尝试按照一些搜索结果的建议禁用 FirebaseAppDelegateProxy,但没有成功。

我们还尝试将

UNUserNotificationCenterDelegate
添加到我们的 AppDelegate,这导致仅当应用程序位于前台时才在可见通知上调用
didReceiveRemoteNotification

ios iphone firebase-cloud-messaging capacitor
1个回答
0
投票

看来问题是我们在模拟器上测试的。

在实际设备上运行良好。

© www.soinside.com 2019 - 2024. All rights reserved.