iOS SDK: Erweiterte Integrationsanleitung
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 Projektnavigator 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 und wählen Sie Background Modes 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, 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 läuft.
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.sharedInstance().showPushnotificationAlert = true// Set 0 to disable foreground notifications, 1 to enable it[[Pushwoosh sharedInstance] setShowPushnotificationAlert:0];Protokollierungsstufe
Anchor link toDas Pushwoosh iOS SDK unterstützt die folgenden Protokollierungsstufen:
NONE- Keine Logs vom SDK.ERROR- Zeigt nur Fehlermeldungen in der Konsole an.WARNING- Zeigt Warnungen zusätzlich zu Fehlern an.INFO- Enthält Informationsmeldungen (Standardeinstellung).DEBUG- Enthält detaillierte Debug-Informationen.
Standardmäßig ist die Protokollierungsstufe auf INFO eingestellt, wodurch sichergestellt wird, dass das SDK relevante Informationen liefert, ohne die Entwicklerkonsole zu überladen.
Um die Protokollierungsstufe 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 die Protokollierungsstufe mit dem folgenden Code-Snippet ändern:
Pushwoosh.Debug.setLogLevel(.PW_LL_DEBUG)Ersetzen Sie YOUR_LOG_LEVEL durch die gewünschte Stufe (z. B. DEBUG oder ERROR).
Benutzerdefinierter UNNotificationCenterDelegate
Anchor link toWenn Sie Ihren eigenen UNNotificationCenterDelegate verwenden möchten (z. B. für lokale Benachrichtigungen), sollten Sie das Pushwoosh SDK darüber informieren, um ein korrektes Verhalten zu gewährleisten. Dies können Sie mit der Eigenschaft notificationCenterDelegateProxy der Pushwoosh-Instanz tun:
Pushwoosh.sharedInstance()?.notificationCenterDelegateProxy.add(my_delegate)[Pushwoosh.sharedInstance.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(); }}Pushwoosh Lazy Initialization
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 Pushwoosh iOS SDK-Methoden explizit aufgerufen werden.
Fügen Sie den folgenden Eintrag zu Info.plist hinzu:
<key>Pushwoosh_LAZY_INITIALIZATION</key><true/>Anwendungsfälle
-
Kontrollierte SDK-Initialisierung – Das Flag Pushwoosh_LAZY_INITIALIZATION ermöglicht die Verzögerung des SDK-Starts von Pushwoosh, wodurch eine bessere Kontrolle darüber gegeben ist, 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 bei expliziter Anforderung startet.
-
Benutzerspezifische Push-Konfiguration – Einige Anwendungen erfordern möglicherweise die Anpassung der Push-Benachrichtigungseinstellungen basierend auf Benutzerpräferenzen oder Kontoeinstellungen. Mit der verzögerten Initialisierung startet das Pushwoosh SDK erst, nachdem die entsprechende Konfiguration ermittelt 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. | JA (Standard) / NEIN Typ: Boolesch |
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 JA, werden Deep Links, die in stillen Push-Benachrichtigungen empfangen werden, automatisch verarbeitet. | JA (Standard) / NEIN Typ: Boolesch |
Pushwoosh_ALLOW_SERVER_COMMUNICATION | Ermöglicht dem SDK, Netzwerkanfragen an Pushwoosh-Server zu senden. | JA (Standard) / NEIN Typ: Boolesch |
Pushwoosh_ALLOW_COLLECTING_DEVICE_DATA | Ermöglicht dem SDK, Gerätedaten (OS-Version, Gebietsschema und Modell) zu sammeln und an den Server zu senden. | JA (Standard) / NEIN Typ: Boolesch |
Pushwoosh_ALLOW_COLLECTING_DEVICE_OS_VERSION | Ermöglicht dem SDK, die OS-Version des Geräts zu sammeln und an den Server zu senden. | JA (Standard) / NEIN Typ: Boolesch |
Pushwoosh_ALLOW_COLLECTING_DEVICE_LOCALE | Ermöglicht dem SDK, das Gebietsschema des Geräts zu sammeln und an den Server zu senden. | JA (Standard) / NEIN Typ: Boolesch |
Pushwoosh_ALLOW_COLLECTING_DEVICE_MODEL | Ermöglicht dem SDK, das Gerätemodell zu sammeln und an den Server zu senden. | JA (Standard) / NEIN Typ: Boolesch |
Pushwoosh_LOG_LEVEL | Protokollierungsstufe des Pushwoosh SDK. Details finden Sie unter Protokollierungsstufe. | NONE / ERROR / WARNING / INFO (Standard) / DEBUG / VERBOSE Typ: String |
Pushwoosh_PURCHASE_TRACKING_ENABLED | Ermöglicht dem SDK, In-App-Käufe zu verfolgen. Erforderlich für den Customer Journey Builder. | JA / NEIN (Standard) Typ: Boolesch |