Zum Inhalt springen

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
  1. Wählen Sie in Xcode File > New > Target…

  2. Wählen Sie Notification Service Extension und klicken Sie auf Next.

  1. Geben Sie den Produktnamen ein und klicken Sie auf Finish.
  1. 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 to

Hinweis: 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:

Podfile
target 'NotificationServiceExtension' do
use_frameworks!
pod 'PushwooshXCFramework'
end

Führen Sie die folgenden Befehle im Terminal aus, um die Abhängigkeiten zu installieren:

Terminal window
rm -rf Podfile.lock
pod deintegrate
pod setup
pod repo update
pod install

Code zur Verfolgung von Nachrichtenzustellungs-Events hinzufügen

Anchor link to
  1. Fügen Sie den folgenden Code zu Ihrer NotificationService.m-Datei hinzu:
import UserNotifications
import 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)
}
}
  1. 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 to

Ihr 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.