Anleitung zur erweiterten Integration des iOS SDK 7.0+
Dieser Abschnitt enthält Informationen zur erweiterten Integration des Pushwoosh iOS SDK.
Hintergrundmodi
Anchor link toUm diese Funktionalität zu aktivieren, müssen Sie Ihrem Projekt Hintergrundmodi hinzufügen.
Schritte zur Aktivierung der Hintergrundmodi
Anchor link to- Öffnen Sie Ihr Projekt in Xcode und wählen Sie es im Project Navigator aus.
- Wählen Sie Ihr App-Ziel im linken Bereich aus.
- Navigieren Sie zum Tab Signing & Capabilities.
- Klicken Sie auf die Schaltfläche + Capability in der oberen linken Ecke.
- Suchen Sie nach Background Modes und wählen Sie es aus der Liste aus.
- Aktivieren Sie im Abschnitt Background Modes die Option Remote notifications, indem Sie das Kontrollkästchen aktivieren.
Nach Abschluss kann Ihre App Push-Benachrichtigungen, einschließlich stiller Benachrichtigungen, verarbeiten, während sie im Hintergrund läuft.
Vordergrundmodi
Anchor link toStandardmäßig zeigt das Pushwoosh iOS SDK das Benachrichtigungsbanner an, wenn die App im Vordergrund ausgeführt wird.
Sie können dieses Verhalten steuern, indem Sie das folgende boolesche Flag in Ihrem Code setzen (z. B. in Ihrer AppDelegate):
// Set false to disable foreground notifications, true to enable itPushwoosh.configure.showPushnotificationAlert = true// Set 0 to disable foreground notifications, 1 to enable it[[Pushwoosh configure] setShowPushnotificationAlert:0];Log-Level
Anchor link toDas Pushwoosh iOS SDK unterstützt die folgenden Logging-Levels:
NONE- Keine Logs vom SDK.ERROR- Zeigt nur Fehlermeldungen in der Konsole an.WARNING- Zeigt zusätzlich zu Fehlern auch Warnungen an.INFO- Enthält informative Nachrichten (Standardeinstellung).DEBUG- Enthält detaillierte Debug-Informationen.
Standardmäßig ist der Logging-Level auf INFO eingestellt, um sicherzustellen, dass das SDK relevante Informationen liefert, ohne die Entwicklerkonsole zu überladen.
Um den Logging-Level zu ändern, aktualisieren Sie den Schlüssel Pushwoosh_LOG_LEVEL in der Info.plist-Datei Ihrer App:
<key>Pushwoosh_LOG_LEVEL</key><string>YOUR_LOG_LEVEL</string>Alternativ können Sie den Log-Level mit dem folgenden Code-Snippet ändern:
Pushwoosh.Debug.setLogLevel(.PW_LL_DEBUG)Ersetzen Sie YOUR_LOG_LEVEL durch den gewünschten Level (z. B. DEBUG oder ERROR).
Benutzerdefinierter UNNotificationCenterDelegate
Anchor link toWenn Sie Ihren eigenen UNNotificationCenterDelegate verwenden möchten (zum Beispiel für lokale Benachrichtigungen), sollten Sie das Pushwoosh SDK darüber informieren, um ein korrektes Verhalten sicherzustellen. Sie können dies mit der Eigenschaft notificationCenterDelegateProxy der Pushwoosh-Instanz tun:
Pushwoosh.configure?.notificationCenterDelegateProxy.add(my_delegate)[Pushwoosh.configure.notificationCenterDelegateProxy addNotificationCenterDelegate:my_delegate];Implementieren Sie dann die UNNotificationCenterDelegate-Methoden in Ihrem Delegate:
func userNotificationCenter( _ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { if (!PWMessage.isPushwooshMessage(notification.request.content.userInfo)) { // Handle your notification completionHandler(UNNotificationPresentationOptions.alert) }}
func userNotificationCenter( _ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { if (!PWMessage.isPushwooshMessage(response.notification.request.content.userInfo)) { // Handle your notification completionHandler() }}- (void)userNotificationCenter:(UNNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler { if (![PWMessage isPushwooshMessage:notification.request.content.userInfo]) { // Handle your message completionHandler(UNNotificationPresentationOptionAlert); }}
- (void)userNotificationCenter:(UNNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)(void))completionHandler { if (![PWMessage.isPushwooshMessage:response.notification.request.content.userInfo]) { // Handle your message completionHandler(); }}Lazy Initialization von Pushwoosh
Anchor link toDas Flag Pushwoosh_LAZY_INITIALIZATION verhindert die automatische Initialisierung des Pushwoosh SDK beim Start der Anwendung. Dies ermöglicht eine bessere Kontrolle darüber, wann die Dienste des Pushwoosh SDK gestartet werden.
Wenn dieses Flag aktiviert ist, startet das Pushwoosh SDK seine Dienste erst, wenn die Methoden des Pushwoosh iOS SDK explizit aufgerufen werden.
Fügen Sie den folgenden Eintrag zur Info.plist hinzu:
<key>Pushwoosh_LAZY_INITIALIZATION</key><true/>Anwendungsfälle
-
Kontrollierte SDK-Initialisierung – Das Flag Pushwoosh_LAZY_INITIALIZATION ermöglicht es, den Start des Pushwoosh SDK zu verzögern, was mehr Kontrolle darüber gibt, wann Push-Dienste aktiviert werden.
-
Verzögerte Push-Aktivierung – In einigen Anwendungen sollten Push-Benachrichtigungen nur unter bestimmten Bedingungen initialisiert werden. Die Aktivierung dieses Flags stellt sicher, dass das Pushwoosh SDK nur dann startet, wenn es explizit angefordert wird.
-
Benutzerspezifische Push-Konfiguration – Einige Anwendungen erfordern möglicherweise die Anpassung der Push-Benachrichtigungseinstellungen basierend auf Benutzereinstellungen oder Kontoeinstellungen. Mit der Lazy Initialization startet das Pushwoosh SDK erst, nachdem die entsprechende Konfiguration festgelegt wurde.
Vollständige Liste der Info.plist-Eigenschaften
Anchor link to| Eigenschaft | Beschreibung | Mögliche Werte |
|---|---|---|
Pushwoosh_APPID | Legt die Pushwoosh-Anwendungs-ID für den Produktions-Build fest. | XXXXX-XXXXX Typ: String |
Pushwoosh_APPID_Dev | Legt die Pushwoosh-Anwendungs-ID für den Entwicklungs-Build fest. | XXXXX-XXXXX Typ: String |
Pushwoosh_SHOW_ALERT | Zeigt eine Benachrichtigung im Vordergrund an. | YES (Standard) / NO Typ: Boolean |
Pushwoosh_ALERT_TYPE | Legt den Stil der Benachrichtigung fest. | BANNER (Standard) / ALERT / NONE Typ: String |
Pushwoosh_BASEURL | Überschreibt die Basis-URL des Pushwoosh-Servers. | https://cp.pushwoosh.com/json/1.3/ (Standard) Typ: String |
Pushwoosh_AUTO_ACCEPT_DEEP_LINK_FOR_SILENT_PUSH | Wenn YES, werden Deep Links, die in stillen Pushes empfangen werden, automatisch verarbeitet. | YES (Standard) / NO Typ: Boolean |
Pushwoosh_ALLOW_SERVER_COMMUNICATION | Erlaubt dem SDK, Netzwerkanfragen an Pushwoosh-Server zu senden. | YES (Standard) / NO Typ: Boolean |
Pushwoosh_ALLOW_COLLECTING_DEVICE_DATA | Erlaubt dem SDK, Gerätedaten (Betriebssystemversion, Locale und Modell) zu sammeln und an den Server zu senden. | YES (Standard) / NO Typ: Boolean |
Pushwoosh_ALLOW_COLLECTING_DEVICE_OS_VERSION | Erlaubt dem SDK, die Betriebssystemversion des Geräts zu sammeln und an den Server zu senden. | YES (Standard) / NO Typ: Boolean |
Pushwoosh_ALLOW_COLLECTING_DEVICE_LOCALE | Erlaubt dem SDK, die Locale des Geräts zu sammeln und an den Server zu senden. | YES (Standard) / NO Typ: Boolean |
Pushwoosh_ALLOW_COLLECTING_DEVICE_MODEL | Erlaubt dem SDK, das Gerätemodell zu sammeln und an den Server zu senden. | YES (Standard) / NO Typ: Boolean |
Pushwoosh_LOG_LEVEL | Logging-Level des Pushwoosh SDK. Details finden Sie unter Log-Level steuern. | NONE / ERROR / WARNING / INFO (Standard) / DEBUG / VERBOSE Typ: String |
Pushwoosh_PURCHASE_TRACKING_ENABLED | Erlaubt dem SDK, In-App-Käufe zu verfolgen. Erforderlich für den Customer Journey Builder. | YES / NO (Standard) Typ: Boolean |