Nachverfolgung der Zustellung von iOS-Nachrichten
Es gibt eine API-Methode in Pushwoosh, die die Zustellung von Push-Benachrichtigungen verfolgt. iOS-Apps unterstützen diese Methode nicht standardmäßig, da Push-Benachrichtigungen in iOS vom Betriebssystem und nicht vom Pushwoosh SDK gehandhabt werden. Sie können die Zustellungsverfolgung jedoch implementieren, indem Sie die Pushwoosh Notification Service Extension für die Nachverfolgung der Push-Zustellung zu Ihrem Projekt hinzufügen. Hier finden Sie die Schritte zur Implementierung der Nachverfolgung der Nachrichtenzustellung für iOS-Apps.
Notification Service Extension hinzufügen
Anchor link to-
Wählen Sie in Xcode File > New > Target…
-
Wählen Sie Notification Service Extension und klicken Sie auf Next.
- Geben Sie den Produktnamen ein und klicken Sie auf Finish.
- Klicken Sie in der Activate scheme-Aufforderung auf Cancel.
Indem Sie abbrechen, stellen Sie sicher, dass Xcode weiterhin Ihre App debuggt und nicht die gerade erstellte Extension. Wenn Sie sie versehentlich aktiviert haben, können Sie in Xcode wieder zum Debuggen Ihrer App zurückwechseln.
Abhängigkeiten für die Notification Service Extension (nur CocoaPods)
Anchor link toHinweis: Wenn Sie den Swift Package Manager zur Verwaltung von Abhängigkeiten verwenden, können Sie diesen Schritt überspringen, da die Abhängigkeiten automatisch hinzugefügt werden.
Öffnen Sie Ihre Podfile und fügen Sie die Abhängigkeit für das Ziel hinzu:
target 'NotificationServiceExtension' do use_frameworks! pod 'PushwooshXCFramework'endFühren Sie die folgenden Befehle im Terminal aus, um die Abhängigkeiten zu installieren:
rm -rf Podfile.lockpod deintegratepod setuppod repo updatepod installCode zur Verfolgung von Nachrichtenzustellungs-Events hinzufügen
Anchor link to- Fügen Sie den folgenden Code zu Ihrer NotificationService.m-Datei hinzu:
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- Fügen Sie Pushwoosh_APPID zu Ihrer Notification Service Extension info.plist hinzu.
<key>Pushwoosh_APPID</key> <string>XXXXX-XXXXX</string>Teilen Sie uns Ihr Feedback mit
Anchor link toIhr Feedback hilft uns, die Benutzererfahrung zu verbessern. Daher würden wir uns freuen, von Ihnen zu hören, falls Sie während des SDK-Integrationsprozesses auf Probleme stoßen. Sollten Sie Schwierigkeiten haben, zögern Sie bitte nicht, uns Ihre Gedanken über dieses Formular mitzuteilen.