Zum Inhalt springen

Anleitung zur erweiterten Integration des iOS SDK 7.0+

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 Project Navigator 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 Sie nach Background Modes und wählen Sie es 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 Benachrichtigungen, 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 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 it
Pushwoosh.configure.showPushnotificationAlert = true

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

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

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

Lazy Initialization von Pushwoosh

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

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

  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 dann startet, wenn es explizit angefordert wird.

  3. 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
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.YES (Standard) / NO
Typ: Boolean
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 YES, werden Deep Links, die in stillen Pushes empfangen werden, automatisch verarbeitet.YES (Standard) / NO
Typ: Boolean
Pushwoosh_ALLOW_SERVER_COMMUNICATIONErlaubt dem SDK, Netzwerkanfragen an Pushwoosh-Server zu senden.YES (Standard) / NO
Typ: Boolean
Pushwoosh_ALLOW_COLLECTING_DEVICE_DATAErlaubt 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_VERSIONErlaubt dem SDK, die Betriebssystemversion des Geräts zu sammeln und an den Server zu senden.YES (Standard) / NO
Typ: Boolean
Pushwoosh_ALLOW_COLLECTING_DEVICE_LOCALEErlaubt dem SDK, die Locale des Geräts zu sammeln und an den Server zu senden.YES (Standard) / NO
Typ: Boolean
Pushwoosh_ALLOW_COLLECTING_DEVICE_MODELErlaubt dem SDK, das Gerätemodell zu sammeln und an den Server zu senden.YES (Standard) / NO
Typ: Boolean
Pushwoosh_LOG_LEVELLogging-Level des Pushwoosh SDK. Details finden Sie unter Log-Level steuern.NONE / ERROR / WARNING / INFO (Standard) / DEBUG / VERBOSE
Typ: String
Pushwoosh_PURCHASE_TRACKING_ENABLEDErlaubt dem SDK, In-App-Käufe zu verfolgen. Erforderlich für den Customer Journey Builder.YES / NO (Standard)
Typ: Boolean