Suivi de la livraison des messages iOS
Il existe une méthode API dans Pushwoosh qui suit la livraison des notifications push. Les applications iOS ne prennent pas en charge cette méthode par défaut, car les notifications push sous iOS sont gérées par le système d’exploitation, et non par le SDK Pushwoosh. Cependant, vous pouvez implémenter le suivi de la livraison en ajoutant l’extension de service de notification Pushwoosh pour le suivi de la livraison des push à votre projet. Vous trouverez ici les étapes pour implémenter le suivi de la livraison des messages pour les applications iOS.
Ajouter l’extension de service de notification
Anchor link to-
Dans 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 débogage pour votre application, au lieu de l’extension que vous venez de créer. Si vous l’avez activée par accident, vous pouvez revenir au débogage de votre application dans Xcode.
Dépendances pour l’extension de service de notification (CocoaPods uniquement)
Anchor link toRemarque : si vous utilisez Swift Package Manager pour gérer les dépendances, vous pouvez ignorer 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'endExécutez les commandes suivantes dans le terminal pour installer les dépendances :
rm -rf Podfile.lockpod deintegratepod setuppod repo updatepod installAjouter le code pour le suivi des événements de livraison de messages
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 d’extension de service de notification.
<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 vous entendre 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.