Passer au contenu

Configuration des badges pour React Native

Étant donné que le plugin React Native ne contient pas l’en-tête PWNotificationExtensionManager, vous devez effectuer plusieurs étapes supplémentaires pour implémenter les Badges pour votre projet React Native.

1. Ajoutez une Notification Service Extension (File -> New -> Target…)

Anchor link to

2. Sélectionnez la « Notification Service Extension »

Anchor link to

3. Mettez à jour le code de la Notification Service Extension comme suit :

Anchor link to
#import "NotificationService.h"
#import <Pushwoosh/PWNotificationExtensionManager.h>
@interface NotificationService ()
@property (nonatomic, strong) void (^contentHandler)(UNNotificationContent *contentToDeliver);
@property (nonatomic, strong) UNMutableNotificationContent *bestAttemptContent;
@end
@implementation NotificationService
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
self.contentHandler = contentHandler;
self.bestAttemptContent = [request.content mutableCopy];
[[PWNotificationExtensionManager sharedManager] handleNotificationRequest:request contentHandler:contentHandler];
}
- (void)serviceExtensionTimeWillExpire {
// Called just before the extension will be terminated by the system.
// Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used.
self.contentHandler(self.bestAttemptContent);
}
@end

4. Liez les dépendances à une cible

Anchor link to

React Native ne lie pas automatiquement toutes les dépendances requises à une cible créée manuellement, vous devez donc mettre à jour les Build Phases de la cible et fournir les informations nécessaires :

Cliquez simplement sur le signe + sous Compile Sources et Link Binary With Libraries et recherchez les bibliothèques/frameworks requis.

5. Ajoutez la capacité App Groups aux deux cibles dans Xcode et définissez le même groupe pour l’application et l’extension :

Anchor link to

6. Ajoutez la clé PW_APP_GROUPS_NAME aux info.plists des deux cibles. La valeur est le nom de votre groupe d’applications :

Anchor link to