Zum Inhalt springen

Stille Push-Benachrichtigungen

Erfahren Sie, wie Sie stille Push-Benachrichtigungen für das Braze SDK einrichten können.

Voraussetzungen

Bevor Sie dieses Feature nutzen können, müssen Sie das Android Braze SDK integrieren. Sie müssen auch Push-Benachrichtigungen einrichten.

Stille Push-Benachrichtigungen einrichten

Stille Benachrichtigungen sind über die Braze Messaging-API verfügbar. Um sie zu nutzen, müssen Sie das Flag send_to_sync im Android-Push-Objekt auf true setzen und sicherstellen, dass keine title- oder alert-Felder gesetzt sind, da diese in Kombination mit send_to_sync zu Fehlern führen—Sie können jedoch Daten als extras innerhalb des Objekts einfügen.

Voraussetzungen

Bevor Sie dieses Feature nutzen können, müssen Sie das Braze Swift SDK integrieren. Sie müssen auch Push-Benachrichtigungen einrichten.

iOS-Einschränkungen

Das iOS-Betriebssystem kann Benachrichtigungen für einige Features einschränken. Beachten Sie, dass bei Schwierigkeiten mit diesen Features die Begrenzung stiller Benachrichtigungen durch iOS die Ursache sein könnte. Weitere Informationen finden Sie in der Apple-Dokumentation zu Instanzmethoden und nicht empfangenen Benachrichtigungen.

Stille Push-Benachrichtigungen einrichten

Um stille Push-Benachrichtigungen zum Auslösen von Hintergrundaufgaben zu verwenden, müssen Sie Ihre App so konfigurieren, dass sie Benachrichtigungen auch im Hintergrund empfangen kann. Fügen Sie dazu die Funktion „Background Modes“ über den Bereich Signing & Capabilities zum Hauptziel der App in Xcode hinzu. Aktivieren Sie das Kontrollkästchen Remote notifications.

Xcode zeigt das Kontrollkästchen „Remote notifications“ unter „Capabilities“.

Selbst wenn der Hintergrundmodus für Remote-Benachrichtigungen aktiviert ist, startet das System Ihre App nicht im Hintergrund, wenn die Nutzer:innen die Anwendung erzwungen beendet haben. Die Nutzer:innen müssen die Anwendung explizit starten oder das Gerät neu starten, bevor die App automatisch vom System im Hintergrund gestartet werden kann.

Weitere Informationen finden Sie unter Pushing Background Updates und der application:didReceiveRemoteNotification:fetchCompletionHandler:-Dokumentation.

Stille Push-Benachrichtigungen senden

Um eine stille Push-Benachrichtigung zu senden, setzen Sie das Flag content-available auf 1 in der Payload einer Push-Benachrichtigung.

Das Flag content-available kann sowohl im Braze-Dashboard als auch in unserem Apple-Push-Objekt in der Messaging-API gesetzt werden.

Das Braze-Dashboard mit dem Kontrollkästchen „content-available“ im Tab „Einstellungen“ des Push-Composers.

Wenn Sie eine stille Push-Benachrichtigung senden, möchten Sie möglicherweise auch einige Daten in die Benachrichtigungs-Payload aufnehmen, damit Ihre Anwendung auf das Ereignis verweisen kann. Das kann Ihnen einige Netzwerkanfragen ersparen und die Reaktionsfähigkeit Ihrer App verbessern.

Interne Push-Benachrichtigungen ignorieren

Braze verwendet stille Push-Benachrichtigungen, um bestimmte erweiterte Features wie Uninstall-Tracking intern zu verarbeiten. Wenn Ihre App automatische Aktionen bei Anwendungsstarts oder Hintergrund-Pushes durchführt, sollten Sie diese Aktivitäten so absichern, dass sie nicht durch interne Push-Benachrichtigungen ausgelöst werden.

Wenn Sie beispielsweise über eine Logik verfügen, die bei jedem Hintergrund-Push oder Anwendungsstart Ihre Server nach neuen Inhalten abfragt, möchten Sie möglicherweise verhindern, dass interne Pushes von Braze diese Aufrufe auslösen, um unnötigen Netzwerkverkehr zu vermeiden. Da Braze bestimmte Arten interner Pushes ungefähr zur gleichen Zeit an alle Nutzer:innen sendet, kann eine erhebliche Serverlast entstehen, wenn Netzwerkaufrufe beim Start durch interne Pushes nicht abgesichert werden.

Schritt 1: Automatische Aktionen in Ihrer App überprüfen

Überprüfen Sie Ihre Anwendung an folgenden Stellen auf automatische Aktionen und aktualisieren Sie Ihren Code, um interne Pushes von Braze zu ignorieren:

  1. Push-Empfänger. Hintergrund-Push-Benachrichtigungen rufen application:didReceiveRemoteNotification:fetchCompletionHandler: auf dem UIApplicationDelegate auf.
  2. Application Delegate. Hintergrund-Pushes können angehaltene Apps im Hintergrund starten und die Methoden application:willFinishLaunchingWithOptions: sowie application:didFinishLaunchingWithOptions: auf Ihrem UIApplicationDelegate auslösen. Überprüfen Sie die launchOptions dieser Methoden, um festzustellen, ob die Anwendung durch einen Hintergrund-Push gestartet wurde.

Schritt 2: Die interne Push-Hilfsmethode verwenden

Sie können die statische Hilfsmethode in Braze.Notifications verwenden, um zu prüfen, ob Ihre App einen internen Push von Braze empfangen hat oder dadurch gestartet wurde. Braze.Notifications.isInternalNotification(_:) gibt true für alle internen Push-Benachrichtigungen von Braze zurück, einschließlich Uninstall-Tracking und Synchronisierungsbenachrichtigungen für Feature-Flags.

Zum Beispiel:

func application(_ application: UIApplication,
                 didReceiveRemoteNotification userInfo: [AnyHashable : Any],
                 fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
  if (!Braze.Notifications.isInternalNotification(userInfo)) {
    // Gated logic here (for example pinging server for content)
  }
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {
  if (![BRZNotifications isInternalNotification:userInfo]) {
    // Gated logic here (for example pinging server for content)
  }
}

Voraussetzungen

Bevor Sie dieses Feature nutzen können, müssen Sie das Android Braze SDK integrieren. Sie müssen auch Push-Benachrichtigungen einrichten.

Stille Push-Benachrichtigungen einrichten

Stille Benachrichtigungen sind über die Braze Messaging-API verfügbar. Um sie zu nutzen, müssen Sie das Flag send_to_sync im Android-Push-Objekt auf true setzen und sicherstellen, dass keine title- oder alert-Felder gesetzt sind, da diese in Kombination mit send_to_sync zu Fehlern führen—Sie können jedoch Daten als extras innerhalb des Objekts einfügen.

New Stuff!