Suivi de la livraison des messages iOS
Il existe une méthode d’API dans Pushwoosh qui suit la livraison des notifications push. Les applications iOS ne prennent pas en charge cette méthode nativement, car les notifications push sur iOS sont gérées par le système d’exploitation (OS), et non par le SDK Pushwoosh. Cependant, vous pouvez implémenter le suivi de livraison en ajoutant la Pushwoosh Notification Service Extension pour le suivi de la livraison des pushs à votre projet. Vous trouverez ici les étapes pour implémenter le suivi de la livraison des messages pour les applications iOS.
Ajouter la Notification Service Extension
Anchor link toDans Xcode, sélectionnez File > New > Target…
Sélectionnez Notification Service Extension et cliquez sur Next.

- Saisissez le nom du produit et cliquez sur Finish.
- Cliquez sur Cancel à l’invite Activate scheme.

En annulant, vous maintenez Xcode en mode de débogage pour votre application, au lieu de l’extension que vous venez de créer. Si vous l’avez activé par accident, vous pouvez revenir au débogage de votre application dans Xcode.
Dépendances pour la Notification Service Extension (CocoaPods uniquement)
Anchor link toNote : Si vous utilisez Swift Package Manager pour gérer les dépendances, vous pouvez sauter cette étape, car les dépendances sont ajoutées automatiquement.
Ouvrez votre Podfile
et ajoutez la dépendance pour la cible :
target 'NotificationServiceExtension' do use_frameworks! pod 'PushwooshXCFramework'end
Exécutez les commandes suivantes dans le terminal pour installer les dépendances :
rm -rf Podfile.lockpod deintegratepod setuppod repo updatepod install
Ajouter du code pour le suivi des événements de livraison de message
Anchor link to- Ajoutez le code suivant à votre fichier NotificationService.m :
import UserNotificationsimport PushwooshFramework
class NotificationService: UNNotificationServiceExtension {
var contentHandler: ((UNNotificationContent) -> Void)? var bestAttemptContent: UNMutableNotificationContent?
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { PWNotificationExtensionManager.shared().handle(request, contentHandler: contentHandler) }}
#import "PWNotificationExtensionManager.h"
@interface NotificationService : UNNotificationServiceExtension
@end
@implementation NotificationService
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler { [[PWNotificationExtensionManager sharedManager] handleNotificationRequest:request contentHandler:contentHandler];}
- (void)serviceExtensionTimeWillExpire { // Called just before the extension is 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.}
@end
- Ajoutez Pushwoosh_APPID à votre info.plist de la Notification Service Extension.
<key>Pushwoosh_APPID</key> <string>XXXXX-XXXXX</string>
Partagez vos commentaires avec nous
Anchor link toVos commentaires nous aident à créer une meilleure expérience, nous serions donc ravis de connaître votre avis si vous rencontrez des problèmes lors du processus d’intégration du SDK. Si vous rencontrez des difficultés, n’hésitez pas à nous faire part de vos réflexions via ce formulaire.