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 toReact 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