Skip to content


Zustellung von In-App-Nachrichten

Trigger-Typen

Mit unserem Produkt für In-App-Nachrichten können Sie die Anzeige von In-App-Nachrichten infolge verschiedener Event-Typen auslösen: Any Purchase, Specific Purchase, Session Start, Custom Event und Push Click. Darüber hinaus enthalten die Trigger Specific Purchase und Custom Event robuste Eigenschaftsfilter.

Zustellungssemantik

Alle In-App-Nachrichten, für die Nutzer:innen berechtigt sind, werden zu Beginn der Sitzung an das Gerät gesendet. Wenn durch ein Event zwei In-App-Nachrichten ausgelöst werden, wird die In-App-Nachricht mit der höheren Priorität angezeigt. Weitere Informationen zur Sitzungsstart-Semantik des SDK finden Sie unter Lebenszyklus einer Sitzung. Bei der Zustellung ruft das SDK die Assets per Prefetching ab, damit sie zum Trigger-Zeitpunkt sofort verfügbar sind und die Anzeigelatenz minimiert wird.

Wenn ein Trigger-Event mit mehr als einer in Frage kommenden In-App-Nachricht verknüpft ist, wird nur die In-App-Nachricht mit der höchsten Priorität zugestellt.

Bei In-App-Nachrichten, die sofort nach der Zustellung angezeigt werden (Sitzungsstart, Push-Klick), kann es zu einer gewissen Latenz kommen, da die Assets nicht per Prefetching abgerufen werden.

Mindestzeitintervall zwischen Triggern

Standardmäßig begrenzen wir In-App-Nachrichten auf einmal alle 30 Sekunden, um ein hochwertiges Nutzungserlebnis zu gewährleisten.

Sie können diesen Wert über ABKMinimumTriggerTimeIntervalKey im Parameter appboyOptions überschreiben, der an startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions: übergeben wird. Setzen Sie ABKMinimumTriggerTimeIntervalKey auf den ganzzahligen Wert, den Sie als Mindestzeit in Sekunden zwischen In-App-Nachrichten verwenden möchten:

1
2
3
4
5
// Sets the minimum trigger time interval to 5 seconds
[Appboy startWithApiKey:@"YOUR-API-KEY"
          inApplication:application
      withLaunchOptions:options
      withAppboyOptions:@{ ABKMinimumTriggerTimeIntervalKey : @(5) }];
1
Appboy.start(withApiKey: "YOUR-API-KEY", in:application, withLaunchOptions:launchOptions, withAppboyOptions:[ABKMinimumTriggerTimeIntervalKey : 5])

Wenn kein passender Trigger gefunden wird

Wenn Braze keinen passenden Trigger für ein bestimmtes Event findet, wird die Methode noMatchingTriggerForEvent:name: von ABKInAppMessageControllerDelegate aufgerufen. Implementieren Sie diese Methode in Ihrer Klasse, die das Delegate-Protokoll übernimmt, um dieses Szenario zu behandeln.

Lokale Zustellung von In-App-Nachrichten

Der In-App-Nachrichten-Stack

Anzeigen von In-App-Nachrichten

Wenn Nutzer:innen zum Empfang einer In-App-Nachricht berechtigt sind, wird dem ABKInAppMessageController die neueste In-App-Nachricht aus dem In-App-Nachrichten-Stack angeboten. Der Stack hält nur gespeicherte In-App-Nachrichten im Arbeitsspeicher und wird zwischen App-Starts aus dem angehaltenen Modus geleert.

Hinzufügen von In-App-Nachrichten zum Stack

Nutzer:innen sind in den folgenden Situationen zum Empfang einer In-App-Nachricht berechtigt:

  • Ein Trigger-Event für eine In-App-Nachricht wird ausgelöst
  • Sitzungsstart-Event
  • Die App wird über eine Push-Benachrichtigung geöffnet

Getriggerte In-App-Nachrichten werden auf den Stack gelegt, wenn ihr Trigger-Event ausgelöst wird. Wenn sich mehrere In-App-Nachrichten im Stack befinden und darauf warten, angezeigt zu werden, zeigt Braze die zuletzt empfangene In-App-Nachricht zuerst an (Last-in-first-out-Prinzip).

Rückgabe von In-App-Nachrichten an den Stack

Eine getriggerte In-App-Nachricht kann in den folgenden Situationen an den Stack zurückgegeben werden:

  • Die In-App-Nachricht wird ausgelöst, wenn sich die App im Hintergrund befindet.
  • Eine andere In-App-Nachricht ist derzeit sichtbar.
  • Die veraltete UI-Delegate-Methode beforeInAppMessageDisplayed:withKeyboardIsUp: wurde nicht implementiert und die Tastatur wird derzeit angezeigt.
  • Die Delegate-Methode beforeInAppMessageDisplayed: oder die veraltete UI-Delegate-Methode beforeInAppMessageDisplayed:withKeyboardIsUp: hat ABKDisplayInAppMessageLater zurückgegeben.

Verwerfen von In-App-Nachrichten

Eine getriggerte In-App-Nachricht wird in den folgenden Situationen verworfen:

  • Die Delegate-Methode beforeInAppMessageDisplayed: oder die veraltete UI-Delegate-Methode beforeInAppMessageDisplayed:withKeyboardIsUp: hat ABKDiscardInAppMessage zurückgegeben.
  • Das Asset (Bild oder ZIP-Datei) der In-App-Nachricht konnte nicht heruntergeladen werden.
  • Die In-App-Nachricht ist zur Anzeige bereit, hat aber die Timeout-Dauer überschritten.
  • Die Geräteausrichtung stimmt nicht mit der Ausrichtung der getriggerten In-App-Nachricht überein.
  • Die In-App-Nachricht ist eine Vollbild-In-App-Nachricht, enthält aber kein Bild.
  • Die In-App-Nachricht ist eine modale In-App-Nachricht, die nur ein Bild enthält, aber kein Bild vorhanden ist.

Manuelles Einreihen von In-App-Nachrichten in die Anzeigewarteschlange

Wenn Sie eine In-App-Nachricht zu anderen Zeitpunkten in Ihrer App anzeigen möchten, können Sie die oberste In-App-Nachricht auf dem Stack manuell anzeigen, indem Sie die folgende Methode aufrufen:

1
[[Appboy sharedInstance].inAppMessageController displayNextInAppMessage];
1
Appboy.sharedInstance()!.inAppMessageController.displayNextInAppMessage()

Erstellung und Anzeige von In-App-Nachrichten in Realtime

In-App-Nachrichten können auch lokal in der App erstellt und über Braze angezeigt werden. Dies ist besonders nützlich für die Anzeige von Nachrichten, die Sie in Realtime in der App auslösen möchten. Braze unterstützt keine Analytics für lokal erstellte In-App-Nachrichten.

1
2
3
4
5
  ABKInAppMessageSlideup *customInAppMessage = [[ABKInAppMessageSlideup alloc] init];
  customInAppMessage.message = @"YOUR_CUSTOM_SLIDEUP_MESSAGE";
  customInAppMessage.duration = 2.5;
  customInAppMessage.extras = @{@"key" : @"value"};
  [[Appboy sharedInstance].inAppMessageController addInAppMessage:customInAppMessage];
1
2
3
4
5
  let customInAppMessage = ABKInAppMessageSlideup.init()
  customInAppMessage.message = "YOUR_CUSTOM_SLIDEUP_MESSAGE"
  customInAppMessage.duration = 2.5
  customInAppMessage.extras = ["key": "value"]
  Appboy.sharedInstance()!.inAppMessageController.add(customInAppMessage)
New Stuff!