Zum Inhalt springen

iOS SDK: Erweiterte Integrationsanleitung

Dieser Abschnitt enthält Informationen zur erweiterten Integration des Pushwoosh iOS SDK.

Hintergrundmodi

Anchor link to

Um diese Funktionalität zu aktivieren, müssen Sie Ihrem Projekt Hintergrundmodi hinzufügen.

Schritte zur Aktivierung der Hintergrundmodi

Anchor link to
  1. Öffnen Sie Ihr Projekt in Xcode und wählen Sie es im Projektnavigator aus.
  2. Wählen Sie Ihr App-Ziel im linken Bereich aus.
  3. Navigieren Sie zum Tab Signing & Capabilities.
  4. Klicken Sie auf die Schaltfläche + Capability in der oberen linken Ecke.
  5. Suchen und wählen Sie Background Modes aus der Liste aus.
  6. 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 to

Standardmäß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 it
Pushwoosh.sharedInstance().showPushnotificationAlert = true

Protokollierungsstufe

Anchor link to

Das 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 to

Wenn 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)

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()
}
}

Pushwoosh Lazy Initialization

Anchor link to

Das 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

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

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

  3. 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
EigenschaftBeschreibungMögliche Werte
Pushwoosh_APPIDLegt die Pushwoosh-Anwendungs-ID für den Produktions-Build fest.XXXXX-XXXXX
Typ: String
Pushwoosh_APPID_DevLegt die Pushwoosh-Anwendungs-ID für den Entwicklungs-Build fest.XXXXX-XXXXX
Typ: String
Pushwoosh_SHOW_ALERTZeigt eine Benachrichtigung im Vordergrund an.JA (Standard) / NEIN
Typ: Boolesch
Pushwoosh_ALERT_TYPELegt 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_PUSHWenn JA, werden Deep Links, die in stillen Push-Benachrichtigungen empfangen werden, automatisch verarbeitet.JA (Standard) / NEIN
Typ: Boolesch
Pushwoosh_ALLOW_SERVER_COMMUNICATIONErmöglicht dem SDK, Netzwerkanfragen an Pushwoosh-Server zu senden.JA (Standard) / NEIN
Typ: Boolesch
Pushwoosh_ALLOW_COLLECTING_DEVICE_DATAErmö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_VERSIONErmö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_LOCALEErmö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_MODELErmöglicht dem SDK, das Gerätemodell zu sammeln und an den Server zu senden.JA (Standard) / NEIN
Typ: Boolesch
Pushwoosh_LOG_LEVELProtokollierungsstufe des Pushwoosh SDK. Details finden Sie unter Protokollierungsstufe.NONE / ERROR / WARNING / INFO (Standard) / DEBUG / VERBOSE
Typ: String
Pushwoosh_PURCHASE_TRACKING_ENABLEDErmöglicht dem SDK, In-App-Käufe zu verfolgen. Erforderlich für den Customer Journey Builder.JA / NEIN (Standard)
Typ: Boolesch