(stille) Push-Benachrichtigungen lösen keine didReceiveRemoteNotification ausIOS

Programmierung für iOS
Guest
 (stille) Push-Benachrichtigungen lösen keine didReceiveRemoteNotification aus

Post by Guest »

Für einige unserer Push-Benachrichtigungen, die wir über Firebase versenden, müssen wir eine Empfangsbestätigung an unser Backend senden. Um dies zu erreichen, senden wir Hintergrundbenachrichtigungen, senden dann die Nachrichten-ID an unser Backend und zeigen die Benachrichtigung in application(_:didReceiveRemoteNotification:fetchCompletionHandler:) an. Aus irgendeinem Grund funktionierte dies nicht mehr, da didReceiveRemoteNotification nie aufgerufen zu werden scheint.
Wir senden die Nachrichten, für die wir eine Bestätigung benötigen, im Wesentlichen wie folgt:

Code: Select all

        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());
Wir haben die Hintergrundmodi „Hintergrundabruf“ und „Remote-Benachrichtigungen“ aktiviert:
Image
„Regelmäßige“ (sichtbare) Benachrichtigungen werden einwandfrei zugestellt.
Wir verwenden Capacitor und sein PushNotifications-Plugin, falls das relevant ist.
Was übersehen wir/machen wir falsch?
Wir haben versucht, es zu deaktivieren der FirebaseAppDelegateProxy, wie in einigen Suchergebnissen vorgeschlagen, war jedoch erfolglos.
Wir haben auch versucht, UNUserNotificationCenterDelegate zu unserem AppDelegate hinzuzufügen, was dazu führte didReceiveRemoteNotification wird nur für sichtbare Benachrichtigungen aufgerufen, während die App im Vordergrund ist.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post