Häufige Fehlerbehebungsszenarien für Live-Aktivitäten troubleshoot-mobile-live

Auf dieser Seite Stellen Sie eine systematische Diagnose, warum Ihre Live-Aktivitäten nicht angezeigt, aktualisiert oder beendet werden können, um Profil-Token-, Kampagnenkonfigurations-, Payload- und Versandprobleme sowohl in unitären als auch in Broadcast-Anwendungsfällen zu beheben.

Szenario suchen find-your-scenario

Symptom oder Aufgabe
Beginnen Sie hier
Live-Aktivität startet nicht
Szenario 1: Profil und Token, dann Szenario 2: Kampagne und Payload
Konfigurationsprüfungen erfolgreich, aber Versand schlägt fehl
Szenario 3: fehlgeschlagene Sendungen
Einzelne iOS-Live-Aktivität beginnt, wird jedoch nicht aktualisiert oder beendet
Szenario 4: Token-Synchronisierung aktualisieren
Android Live-Aktivität beginnt, wird jedoch nicht aktualisiert oder beendet
Android-Registerkarten in Szenario 2 und Szenario 3
Überprüfen des Verarbeitungsstatus einer unitären Anfrage
Szenario 5: Ausführungsstatus-API
Broadcast startet, aktualisiert oder endet nicht
Szenario 6: Broadcast-Konfiguration
Einige Zielgruppenprofile empfangen die Sendung nicht
Szenario 7: Zielgruppenzugehörigkeit und -frische
Untersuchen von Produktionsproblemen oder Versand über einen längeren Zeitraum
Datensatzabfragen

Szenario 1: Probleme mit Profilen oder Push-Token scenario-1-profile-or-push-token-issues

[Gilt für einzelne und Broadcast-Anwendungsfälle]{class="badge informative"}

Die Trigger-API akzeptiert die Anfrage, aber die Live-Aktivität wird nicht angezeigt. Häufige Ursachen:

  • Profil ist in Adobe Experience Platform nicht vorhanden.
  • Das erforderliche Push-Token wurde nicht mit dem Profil synchronisiert: ein Live-Aktivitäts-Push-Token in iOS oder das standardmäßige FCM-Registrierungs-Token in Android.
  • Push-Token-Details enthalten eine falsche Konfiguration, z. B. eine falsche appId, Plattform oder iOS-attributeType.

Für Sendungen: Sie mehrere Zielgruppenprofile, um die Token-Registrierung zu überprüfen. Auf iOS werden Profil-Token-Prüfungen auf Remote-Startereignisse und nicht auf kanalbasierte Update- oder End-Ereignisse angewendet. Überprüfen Sie in Android auch das FCM-Themenabonnement des Geräts mit Szenario 6.

Überprüfen, ob das Profil vorhanden ist

Beginnen Sie bei iOS und Android mit dieser Prüfung. Bei Übertragungen wiederholen Sie den Vorgang für mehrere Zielgruppenprofile.

  1. Navigieren Sie in Journey Optimizer zu Kunde > Profile.
  2. Suchen Sie mithilfe des Namespace und des Identitätswerts aus Ihrer API-Anfrage.
  3. Wenn das Profil nicht gefunden wird, existiert es nicht oder die Aufnahme wurde nicht abgeschlossen. Erstellen Sie das Profil oder warten Sie, bis die Aufnahme abgeschlossen ist, bevor Sie die Live-Aktivität auslösen.
  4. Wenn das Profil gefunden wird, fahren Sie mit den Token-Prüfungen für Ihre Plattform fort.

Überprüfen des Push-Tokens

iOS

Vorab-Prüfungen

  • Voraussetzungen für das iOS-Programm:

    • iOS 16.1+
    • NSSupportsLiveActivities in Info.plist auf YES gesetzt
    • ActivityAttributes ordnungsgemäß implementiert.
  • Mobile SDK-Integration:

    • Adobe Experience Platform Mobile SDK (Messaging SDK 5.11.0+)
    • Messaging.registerLiveActivities implementiert und mit dem Live-Aktivitäts-Push-Token aufgerufen.

Debugging-Schritte

accordion
​1. Überprüfen, ob das Push-Token der Live-Aktivität synchronisiert ist

Sie können Assurance verwenden, um die Token-Registrierung zu überprüfen:

  1. Filtern Sie in Assurance über die Ereignisse-Liste oder suchen Sie eventType = "liveActivity.pushToStart" nach Ereignissen.
  2. Wählen Sie Ereignis aus und überprüfen Sie die Payload.
  3. Überprüfen Sie, ob die Werte für token, appId und attributeType vorhanden sind.
  4. Bestätigen Sie, dass das Ereignis erfolgreich gesendet wurde.

Sie können auch das Adobe Experience Platform-Profil einchecken.

  1. Rufen Sie in Adobe Experience Platform über Ihr Profil die Registerkarte Ereignisse auf.
  2. Nach liveActivity.pushToStart Ereignissen suchen.
  3. Überprüfen Sie den Zeitstempel und die Payload des Ereignisses.

Wenn keine Ereignisse gefunden werden, ruft die App Messaging.registerLiveActivities nicht korrekt auf. Korrigieren Sie die SDK-Integration.

accordion
​2. Token-Details im Profil validieren
  1. Rufen Sie von Profil aus die Registerkarte Attribute auf.

  2. Suchen Sie liveActivityPushNotificationDetails.

  3. Überprüfen Sie die Token-Konfiguration:

    code language-json
    {
       "liveActivityPushNotificationDetails": [
       {
          "appId": "com.example.myapp",
          "token": "abc123def456...",
          "platform": "apns",
          "denylisted": false,
          "attributeType": "OrderTrackingAttributes",
          "identity": {}
       }
       ]
    }
    

Validieren jedes Felds:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
Feld Anforderung Häufige Probleme
appId Muss genau mit der iOS-Bundle-Kennung übereinstimmen Unstimmigkeit zwischen Entwicklungs-/Produktions-Paket-IDs
attributeType Muss genau mit dem Namen der Swift-ActivityAttributes-Struktur übereinstimmen (Groß-/Kleinschreibung beachten) Tippfehler oder falscher Strukturname
platform Muss "apns" oder "apnsSandbox" sein Falscher Plattformwert
denylisted Muss false sein Token als ungültig markiert oder Benutzer hat sich abgemeldet
token Gültiges APNs-Push-Token Token abgelaufen oder App neu installiert

Wenn ein Feld falsch ist, aktualisieren Sie die Mobile App, registrieren Sie sich mithilfe von Messaging.registerLiveActivities erneut, warten Sie 5 bis 10 Minuten und überprüfen Sie dann erneut.

Wenn liveActivityPushNotificationDetails fehlt, wurde das Token noch nicht synchronisiert. Warten Sie 5-10 Minuten, nachdem Sie das liveActivity.pushToStart Ereignis in Assurance gesehen haben, und überprüfen Sie es dann erneut.

Android

Vorab-Prüfungen

  • Voraussetzungen für die Android-App:

    • Führen Sie die App unter Android 16.1 (API-Ebene 36.1) oder höher aus, wobei targetSdk auf 36 gesetzt ist.
    • Stellen Sie sicher, dass POST_NOTIFICATIONS- und POST_PROMOTED_NOTIFICATIONS-Berechtigungen gewährt werden.
    • Erstellen Sie den Benachrichtigungskanal, der von der Live-Aktivität verwendet wird.
  • Mobile SDK-Integration:

    • Integrieren Sie Adobe Experience Platform Mobile SDK mit Messaging und der Erweiterung Live-Aktivitäten .
    • Leiten Sie das FCM-Registrierungstoken mithilfe von MobileCore.setPushIdentifier(token) an SDK weiter.

Debugging-Schritte

accordion
​1. FCM-Token-Registrierung überprüfen

Android verwendet das standardmäßige FCM-Registrierungstoken für Live-Aktivitäten. Es gibt kein liveActivity.pushToStart Ereignis oder separates Live-Aktivitäts-Push-Token.

  1. Öffnen Sie in Assurance die Liste Ereignisse und suchen Sie das standardmäßige Registrierungsereignis für Push-Token.
  2. Wählen Sie das Ereignis aus und überprüfen Sie seine Payload, um sicherzustellen, dass das FCM-Registrierungstoken vorhanden ist.
  3. Bestätigen Sie, dass das Registrierungsereignis erfolgreich gesendet wurde.
  4. Öffnen Sie in Adobe Experience Platform die Registerkarte Attribute und bestätigen Sie, dass das Token in pushNotificationDetails vorhanden ist, wie in Schritt 2 beschrieben.

Wenn das Registrierungsereignis oder Profil-Token fehlt, stellen Sie sicher, dass die App das FCM-Registrierungs-Token mithilfe von MobileCore.setPushIdentifier(token) an die SDK weiterleitet.

accordion
​2. Überprüfen der Token-Details im Profil
  1. Rufen Sie von Ihrem Profil aus die Registerkarte Attribute auf.

  2. Suchen Sie pushNotificationDetails. Android verwendet dieses Objekt anstelle von liveActivityPushNotificationDetails und erfordert kein attributeType.

  3. Stellen Sie sicher, dass die Token-Konfiguration dieser Struktur folgt:

    code language-json
    {
       "pushNotificationDetails": [
          {
             "appId": "com.adobe.marketing.mobile.liveupdatessample",
             "token": "fcm-registration-token...",
             "platform": "fcm",
             "denylisted": false,
             "identity": {}
          }
       ]
    }
    

Validieren jedes Felds:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3
Feld Anforderung Häufige Probleme
appId Muss genau mit dem Android-Paketnamen übereinstimmen Fehlende Übereinstimmung zwischen den Namen von Entwicklungs- und Produktionspaketen
platform Muss "fcm" sein Falscher Plattformwert
denylisted Muss false sein Token als ungültig markiert oder Benutzer hat sich abgemeldet
token Muss mit dem aktuellen FCM-Registrierungstoken des Geräts übereinstimmen Token abgelaufen oder App neu installiert

Wenn ein Feld falsch ist, korrigieren Sie die App-Konfiguration nach Bedarf, leiten Sie das FCM-Token mithilfe von MobileCore.setPushIdentifier(token) erneut weiter, warten Sie 5 bis 10 Minuten und überprüfen Sie dann erneut das Profil.

Wenn pushNotificationDetails fehlt, wurde das Token noch nicht synchronisiert. Warten Sie nach der Bestätigung der Token-Registrierung in Assurance 5-10 Minuten und überprüfen Sie dann das Profil erneut.

Szenario 2: Kampagnenkonfiguration und Payload-Probleme scenario-2-campaign-configuration-and-payload-issues

[Gilt für einzelne und Broadcast-Anwendungsfälle]{class="badge informative"}

Das Profil ist vorhanden und verfügt über gültige Token, die Live-Aktivität wird jedoch nicht angezeigt. Mögliche Ursachen:

  • Falsche Oberflächen- oder Kanalkonfiguration.
  • Falsche API-Payload-Struktur.
  • Payload-Felder stimmen nicht mit der App-Implementierung überein: iOS ActivityAttributes oder die Android-Stilanbieter-Zuordnung.
  • Veraltete timestamp (wichtig für Aktualisierung/Ende).

Für Sendungen: Die Kampagne muss API-ausgelöstes Marketing und nicht transaktional sein. Die Payload verwendet audience anstelle von recipients. Siehe Szenario 6 für plattformspezifische Broadcast-Payloads und die Adobe Developer- für vollständige API-Spezifikationen.

iOS

Vorab-Prüfungen

  • Vergewissern Sie sich, dass die Kampagne API-ausgelöstes Transaktions (unitäres) oder API-ausgelöstes Marketing (Broadcast) ist. Lassen Sie Hoher Durchsatz deaktiviert, da er mit Live-Aktivitäten nicht kompatibel ist.
  • Stellen Sie sicher, dass das Profil vorhanden ist und seine Token mithilfe der iOS-Prüfungen in Szenario 1) synchronisiert ​.

Debugging-Schritte

accordion
​1. Konfiguration der Kampagnenoberfläche überprüfen
  1. Öffnen Sie in Journey Optimizer Ihre Kampagne und navigieren Sie zum Menü Aktionen .
  2. Überprüfen Sie Ihre Konfiguration der Live-Aktivität. Die Oberfläche muss für die iOS-App mit einer Bundle-Kennung konfiguriert werden, die mit der appId in der liveActivityPushNotificationDetails Ihres Profils übereinstimmt. Wenn Ihr Profil beispielsweise über "appId": "com.example.myapp" verfügt, muss die Oberfläche dieselbe App ansprechen.
  3. Vergewissern Sie sich dass der Aktivitätstyp“ in Ihrer Kampagnenkonfiguration genau mit dem attributeType in der liveActivityPushNotificationDetails Ihres Profils übereinstimmt. Wenn Ihr Profil beispielsweise über "attributeType": "FoodDeliveryLiveActivityAttributes" verfügt, muss die Kampagne denselben Aktivitätstyp angeben.
accordion
​2. Validieren der API-Payload-Struktur

Stellen Sie beim Ausführen der Kampagne über die API sicher, dass die Payload der richtigen Struktur entspricht.

Unitäre Payload:

code language-json
{
   "campaignId": "your-campaign-id",
   "recipients": [{
      "type": "aep",
      "userId": "user@example.com",
      "namespace": "email",
      "context": {
         "requestPayload": {
            "aps": {
               "content-available": 1,
               "timestamp": 1756984054,
               "event": "start",
               "attributes-type": "FoodDeliveryLiveActivityAttributes",
               "content-state": { ... },
               "attributes": { ... }
            }
         }
      }
   }]
}

Häufige Payload-Probleme:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3
Feld Anforderung Häufige Probleme
attributes-type Muss mit dem Kampagnenaktivitätstyp und der attributeType übereinstimmen Fehlende Übereinstimmung oder Tippfehler
campaignId Muss mit der aktivierten Kampagnen-ID übereinstimmen Falsche oder fehlende Kampagnen-ID
content-available Muss 1 sein Fehlender oder falscher Wert
event Muss "start", "update" oder "end" sein Ungültiger Ereignistyp
timestamp Muss immer die aktuelle/neueste Unix-Epochenzeit in Sekunden sein Verwenden eines alten/zwischengespeicherten Zeitstempels
userId / namespace Muss mit einem vorhandenen Profil in AEP übereinstimmen Profilkennung stimmt nicht überein

Kritisch: Verwenden Sie immer einen neuen Zeitstempel

  • Legen Sie timestamp auf die aktuelle Unix-Epochenzeit (in Sekunden) fest, wenn Sie jeden API-Aufruf ausführen. Dies gilt für alle Ereignistypen: start, update und end.
  • Ein veralteter oder wiederverwendeter Zeitstempel führt dazu, dass Update- und End-Anfragen fehlschlagen oder vom Gerät ignoriert werden. Verwenden keine Zeitstempel aus früheren Anfragen oder zwischengespeicherten Werten.

Optionale Felder (alle Ereignistypen):

  • requestId: Eindeutige Kennung für das Tracking (empfohlen).
  • alert: Objekt mit title und body für die Benachrichtigung. Nützlich, um Aufmerksamkeit auf Updates zu lenken.

Über dismissal-date:

  • Optional. Unix-Epochenzeit in Sekunden. Nur relevant, wenn event "end" ist.
  • Gibt an, wann die Live-Aktivität automatisch vom Gerät entfernt wird. Wenn Sie sie auslassen, bleibt die Live-Aktivität sichtbar, bis der Benutzer sie schließt.
  • Muss ein zukünftiger Zeitstempel sein, der nach timestamp liegt.
accordion
​3. Payload an iOS-Implementierung anpassen

Stellen Sie sicher, dass Ihre API-Payload mit der ActivityAttributes Implementierung Ihrer iOS-App übereinstimmt. Das LiveActivityAttributes-Protokoll von Adobe SDK erweitert iOS ActivityAttributes und erfordert eine liveActivityData.

Validieren der Zuordnung:

  1. Ihr ActivityAttributes muss das LiveActivityAttributes-Protokoll von Adobe implementieren. Beispiel:

    code language-swift
    struct FoodDeliveryLiveActivityAttributes: LiveActivityAttributes {
       public struct ContentState: Codable, Hashable {
          var orderStatus: String
          var estimatedDeliveryTime: String
       }
    
       // Adobe SDK requirement
       var liveActivityData: LiveActivityData
    
       // Your custom attributes
       var restaurantName: String
    }
    

    Hinweis dass das Feld liveActivityData für Adobe SDK erforderlich ist und in allen Implementierungen enthalten sein muss.

  2. Ihre API-Payload muss die iOS-Struktur widerspiegeln:

    code language-json
    {
       "aps": {
          "event": "start",
          "timestamp": 1756984054,
          "attributes-type": "FoodDeliveryLiveActivityAttributes",
          "content-state": {
             "orderStatus": "Preparing",
             "estimatedDeliveryTime": "20 mins"
          },
          "attributes": {
             "liveActivityData": {
                "liveActivityID": "order-12345"
             },
             "restaurantName": "Pizza Palace"
          }
       }
    }
    

Validierungs-Checkliste:

  • Alle ContentState Felder in content-state einbeziehen (für alle Ereignistypen erforderlich).

  • Alle LiveActivityAttributes Felder in attributes einbeziehen (nur Startereignisse), einschließlich:

    • liveActivityData (erforderlich; enthält normalerweise liveActivityID oder eine ähnliche Kennung)
    • Alle benutzerdefinierten Felder aus Ihrer Struktur
  • Exakte Übereinstimmung der Feldnamen (unter Berücksichtigung von Groß- und Kleinschreibung)

  • Übereinstimmende Datentypen (String, Int, bool, verschachtelte Objekte).

  • Verschachtelte Objektstruktur beibehalten.

Häufige Fehler:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3
Problem Wirkung Korrigieren
Fehlende liveActivityData in Attributen Live-Aktivität wird nicht gestartet liveActivityData Objekt immer in Startereignis einschließen
Erforderliches Feld im Startereignis fehlt Live-Aktivität wird nicht gestartet Alle Felder aus der iOS-Struktur hinzufügen
Falscher Feldname (Tippfehler/Groß-/Kleinschreibung) Feld ignoriert oder Parsing-Fehler Exakte Übereinstimmung mit iOS-Feldnamen
Falscher Datentyp Parsen des Fehlers IOS-Datentypen abgleichen
Verschachteltes Objekt fehlt Unvollständige Daten Alle verschachtelten Strukturen einschließen
Einschließen von attributes in Aktualisierung/Ende Unnötig, aber normalerweise ignoriert Nur attributes in Startereignis einbeziehen
Veralteter Zeitstempel bei Aktualisierung/Ende Update/Ende vom Gerät ignoriert Immer neuen Zeitstempel erzeugen

Weitere Beispiele finden Sie auf ​ Seite „Live-Aktivität erstellen.

accordion
​4. Testen mit Assurance

Überprüfen der API-Ausführung und der Payload-Bereitstellung mithilfe von Assurance:

  1. Öffnen Sie Ihre Assurance-Sitzung.

  2. Ausführen des API-Aufrufs zum Trigger der Live-Aktivität.

  3. Prüfen Sie der-Liste nach:

    • Ausführungsereignisse der Kampagne.
    • Versandereignisse für Live-Aktivitäten.
    • Payload-Validierungsfehler-Ereignisse.
  4. Überprüfen Sie Ereignis-Payloads zur Überprüfung:

    • Payload wurde korrekt verarbeitet.
    • Keine Validierungsfehler aufgetreten.
    • Live-Aktivität wurde an APNs gesendet.
Android

Vorab-Prüfungen

  • Vergewissern Sie sich, dass die Kampagne API-ausgelöstes Transaktions (unitäres) oder API-ausgelöstes Marketing (Broadcast) ist. Lassen Sie Hoher Durchsatz deaktiviert, da er mit Live-Aktivitäten nicht kompatibel ist.
  • Überprüfen Sie, ob das Profil vorhanden ist und sein FCM-Token mithilfe der Android-Prüfungen in Szenario 1) synchronisiert ​.

Debugging-Schritte

accordion
​1. Konfiguration der Kampagnenoberfläche überprüfen
  1. Öffnen Sie in Journey Optimizer Ihre Kampagne und navigieren Sie zum Menü Aktionen .
  2. Überprüfen Sie Ihre Konfiguration der Live-Aktivität. Die Oberfläche muss die Android-App mit einem Paketnamen ansprechen, der mit dem appId im pushNotificationDetails des Profils übereinstimmt.
  3. Stellen Sie sicher, dass die Oberfläche die FCM-Anmeldeinformationen für diese App verwendet. Die Token-Plattform des Profils muss "fcm" sein.
  4. Vergewissern Sie sich, dass die notification_channel_id in der Payload mit einem von der App erstellten Benachrichtigungskanal übereinstimmt.
accordion
​2. Validieren der API-Payload-Struktur

Platzieren Sie Android Live-Aktivitätsfelder unter context.requestPayload.fcm.

Unitäre Start-Payload:

code language-json
{
   "requestId": "your-request-id",
   "campaignId": "your-campaign-id",
   "recipients": [
      {
         "type": "aep",
         "userId": "your-device-ECID",
         "namespace": "ECID",
         "context": {
            "requestPayload": {
               "fcm": {
                  "notification_id": "flight-DL-321",
                  "timestamp": 1756984054,
                  "notification_channel_id": "live_updates_channel",
                  "priority": "PRIORITY_HIGH",
                  "event_type": "start",
                  "title": "Flight DL-321",
                  "body": "Boarding starts shortly",
                  "critical_text": "25 min",
                  "content_state": {
                     "custom_key_template_type": "progress",
                     "custom_key_journey_start": "DEL",
                     "custom_key_journey_progress": 10,
                     "custom_key_journey_end": "MUM"
                  }
               }
            }
         }
      }
   ]
}

Ersetzen Sie den Beispiel-Zeitstempel durch die aktuelle Unix-Epochenzeit in Sekunden. Die content_state Schlüssel sind Beispiele und müssen mit dem Stilanbieter Ihrer App übereinstimmen.

Verwenden Sie für Sendungen eine API-ausgelöste Marketing-Kampagne mit audience.id und platzieren Sie das fcm Objekt unter context.requestPayload. Legen Sie topic_name auf das FCM-Thema fest, das von den Zielgeräten abonniert wird. Thema und notification_id bei Start-, Update- und End-Ereignissen unverändert lassen. Siehe die Beispiele für Android Broadcast-Payloads.

Häufige Payload-Probleme:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3
Feld Anforderung Häufige Probleme
campaignId Muss mit der aktivierten Kampagnen-ID übereinstimmen Falsche oder fehlende Kampagnen-ID
notification_id Den gleichen Wert für die Start-, Update- und End-Ereignisse der Live-Aktivität beibehalten Geänderte ID zielt auf eine andere Benachrichtigung ab
notification_channel_id Muss mit einem von der Android-App erstellten Kanal übereinstimmen Fehlender oder nicht übereinstimmender Kanal
event_type Muss "start", "update" oder "end" sein Ungültiges Lebenszyklus-Ereignis
timestamp Epoche (Sekunden); muss für jedes Ereignis, das auf dieselbe Instanz oder dasselbe Broadcast-Thema abzielt, strikt erhöht werden Ältere oder gleiche Zeitstempel werden ignoriert
content_state Verwenden Sie die vom Stilanbieter der App unterstützten Felder Nicht unterstützte Schlüssel oder falsche Werttypen
userId / namespace Für die einheitliche Bereitstellung verwenden Sie die ECID des Geräts mit dem ECID Namespace Profilkennung stimmt nicht überein
topic_name Verwenden Sie für Sendungen das Thema, das von den Zielgeräten abonniert wurde Falsches Thema oder Geräte nicht abonniert

Zeitstempel und Lebenszyklusprüfungen:

  • Verwenden Sie für jedes Start-, Update- und End-Ereignis einen neuen timestamp in Epochensekunden. Stellen Sie sicher, dass der vorherige Wert für dieselbe notification_id (oder topic_name für Sendungen) überschritten wird, auch wenn die Anfragen innerhalb derselben Sekunde erfolgen.
  • Ältere oder gleiche Zeitstempel werden ignoriert. Zwischengespeicherte Zeitstempel nicht wiederverwenden.
  • Das optionale Feld when steuert die angezeigte Zeit der Benachrichtigung, nicht die Reihenfolge der Nachrichten. Halten Sie ihn auf einem vernünftigen Stand und drücken Sie ihn in Epochensekunden aus.
  • Um eine Aktivität zu aktualisieren oder zu beenden, ändern Sie event_type, ohne notification_id Änderungen vorzunehmen. Android verwendet dasselbe FCM-Registrierungstoken für alle drei Lebenszyklus-Ereignisse. Es ist kein separates Aktualisierungstoken erforderlich.

Abweisung des Endereignisses:

Legen Sie event_type: "end" optional dismiss_after auf die Anzahl der Sekunden fest, die die abgeschlossene Live-Aktivität vor dem Entfernen sichtbar bleiben soll. Dies ist eine Dauer, kein Epochenzeitstempel.

accordion
​3. Payload an der Android-Implementierung ausrichten

Der Stilanbieter der App bestimmt, wie content_state Werte in der Live-Aktivitätsbenachrichtigung gerendert werden.

  1. Vergewissern Sie sich, dass Messaging und die Erweiterung Live-Aktivitäten in die App integriert sind.
  2. Überprüfen Sie, ob jedes Feld in content_state mit einem vom Stilanbieter verarbeiteten Schlüssel übereinstimmt, einschließlich des erwarteten Werttyps.
  3. Überprüfen Sie, ob title, body und critical_text den gewünschten Anzeigetext enthalten. critical_text wird für den Statusleisten-Chip verwendet.
  4. Vergewissern Sie sich, dass Benachrichtigungsberechtigungen erteilt werden und dass der durch notification_channel_id identifizierte Kanal vorhanden ist.

Häufige Fehler:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
Problem Wirkung Korrigieren
Nicht unterstützter content_state oder Werttyp Inhalt fehlt oder wird falsch gerendert Zuordnung des Stilanbieters der App
Benachrichtigungskanal fehlt oder stimmt nicht überein Benachrichtigung kann nicht im vorgesehenen Kanal veröffentlicht werden Erstellen Sie den Kanal und verwenden Sie dessen exakte ID
Benachrichtigungsberechtigungen nicht erteilt Live-Aktivität wird möglicherweise nicht wie erwartet angezeigt Überprüfen von POST_NOTIFICATIONS- und POST_PROMOTED_NOTIFICATIONS
Geänderte notification_id Beim Aktualisieren oder Beenden wird die ursprüngliche Benachrichtigung nicht ausgewählt ID während des gesamten Lebenszyklus unverändert lassen
Ältere oder gleiche timestamp Ereignis wird ignoriert Wert größer als der zuletzt verarbeitete Zeitstempel verwenden

Weitere Beispiele finden Sie unter Live-Aktivitäten erstellen.

accordion
​4. Testen mit Assurance

Verwenden von Assurance auf einem verbundenen Android-Testgerät.

  1. Öffnen Sie eine Assurance-Sitzung und bestätigen Sie, dass die FCM-Token-Registrierung sichtbar ist.
  2. Führen Sie den API-Aufruf aus, um die Live-Aktivität zu starten, und senden Sie dann Aktualisierungs- und End-Ereignisse mit demselben notification_id und zunehmenden Zeitstempeln.
  3. Überprüfen Sie die verfügbaren SDK-Ereignisse und Payloads auf Verarbeitungs- oder Validierungsfehler. Vergewissern Sie sich, dass die Android-Payload fcm und die vorgesehenen Lebenszykluswerte verwendet.
  4. Überprüfen Sie auf der Registerkarte Ereignisse des Profils übereinstimmende message.feedback. Vergewissern Sie sich, dass serviceProvider fcm ist, und überprüfen Sie feedbackStatus, errorCode und errorMessage auf fehlgeschlagene Sendungen.
  5. Wenn der Versand erfolgreich ist, die Live-Aktivität jedoch nicht gerendert wird, überprüfen Sie die App-Protokolle, Stilanbieter-Zuordnungen, Benachrichtigungsberechtigungen und die Kanalkonfiguration auf dem Gerät.

Szenario 3: Fehlgeschlagene Sendungen und Fehleranalyse scenario-3-delivery-failures-and-error-analysis

[Gilt für einzelne und Broadcast-Anwendungsfälle]{class="badge informative"}

In diesem Szenario wurden alle vorherigen Prüfungen bestanden:

Wenn die Live-Aktivität immer noch nicht angezeigt, aktualisiert oder beendet wird, überprüfen Sie die Kampagnenverarbeitung, den Versand an den Push-Anbieter (APNs auf iOS oder FCM auf Android) und das geräteseitige Verhalten.

Für Sendungen: Berichte zeigen Metriken für alle Zielgruppenmitglieder an. Einige Profile sind möglicherweise erfolgreich, während andere fehlschlagen.

Kampagnenberichte überprüfen check-campaign-reports

Beginnen Sie sowohl für iOS als auch für Android mit dem Kampagnenbericht. Sie zeigt an, ob Journey Optimizer den Sendeversuch unternommen hat, das Profil ausgeschlossen hat oder einen Fehler aufgetreten ist.

  1. Navigieren Sie zu Ihrer Live-Kampagnenaktivität.

  2. Klicken Sie auf die Berichte.

  3. Wählen Alle Zeitberichte anzeigen aus.

  4. Überprüfen Sie die Metriken Versandstatistiken, um den Erfolg des Versands zu verstehen:

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
    Metrik Bedeutung Worauf Sie achten sollten
    Zielgruppe Anzahl der für die Zielgruppe qualifizierten Profile Sollte Ihr Testprofil enthalten
    Sendungen Gesamtzahl der Push-Benachrichtigungen Sollte Ihren API-Aufrufen entsprechen
    zugestellt Gemeldete Versandmetrik Vergleich mit Sendungen; Gerätewiedergabe separat überprüfen
    Fehler senden Push-Benachrichtigungen, die nicht gesendet werden konnten Untersuchen der Fehlerursachen
    Ausschlüsse senden Von Adobe Journey Optimizer ausgeschlossene Profile Prüfen, ob Ihr Profil ausgeschlossen wurde
  5. Wenn Fehler senden > 0, überprüfen Sie die Tabelle Fehlerursachen. Verwenden Sie Schritt 1 auf der Registerkarte für Ihre Plattform, um die Fehler zu interpretieren.

  6. Wenn Ausschlüsse senden > 0, überprüfen Sie die Tabelle Ausschlussgründe:

    table 0-row-3 1-row-3 2-row-3 3-row-3
    Häufige Ausschlüsse Bedeutung Lösung
    Profil hat sich abgemeldet Benutzer hat Benachrichtigungen abgelehnt Einverständnisstatus des Profils überprüfen
    Token auf die Blockierungsliste gesetzt Token als ungültig markiert Registrieren Sie das Token erneut (iOS) oder leiten Sie das aktuelle FCM-Token weiter (Android), oder überprüfen Sie den Status der Blockierungsliste
    Profil nicht geeignet Profil erfüllt die Kampagnenkriterien nicht Überprüfen von Zielgruppenregeln für Kampagnen
  7. Lesen Sie den Live-Aktivitäts-Lebenszyklus:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
    Metrik Was zu überprüfen ist
    Fernstart Sollte die Anzahl der API-ausgelösten Starts anzeigen
    Updates Sollte die Anzahl der Update-Ereignisse anzeigen
    Endet Sollte die Anzahl der Endereignisse anzeigen
    Gesamtzahl der Kontakte Gesamtes Ereignisvolumen der Live-Aktivität

    Wenn diese Metriken null sind oder nicht mit Ihren API-Aufrufen übereinstimmen, untersuchen Sie die Kampagnenverarbeitung und den Versand an den Push-Anbieter mithilfe der unten stehenden plattformspezifischen Prüfungen.

Weitere Informationen finden Sie auf der Seite Live-Kampagnenbericht.

Versand für Ihre Plattform überprüfen

iOS

Vorab-Prüfungen

  • Frühere validierte Szenarien:

    • Profil existiert mit korrektem liveActivityPushNotificationDetails.
    • Kampagnenoberfläche und Aktivitätstyp sind korrekt.
    • Die API-Payload ist mit einem aktuellen Zeitstempel gültig.
    • Update-Token werden synchronisiert (nur unitäre Update- und End-Ereignisse).
  • API-Aufruf bestätigt:

    • Die Trigger-API hat die Anfrage akzeptiert. Dadurch wird der Versand oder das Geräte-Rendering nicht bestätigt.
    • Die Kampagnen-ID und die Empfängerdetails sind korrekt.

Debugging-Schritte

accordion
​1. Versandfehler interpretieren

Überspringen Sie diesen Schritt, wenn Kampagnenbericht keine Versandfehler anzeigt. Ordnen Sie andernfalls den Fehler aus der Tabelle Fehlerursachen den folgenden gängigen APNs-Fehlern zu:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3
Häufiger Fehler Bedeutung Lösung
Ungültiges Token Push-Token ist ungültig oder abgelaufen Live-Aktivitäts-Token vom Gerät erneut registrieren
Token nicht gefunden Kein gültiges Token mit Profil verknüpft Überprüfen, ob liveActivityPushNotificationDetails vorhanden ist
APNs abgelehnt Apple Push Notification Service hat die Push-Benachrichtigung abgelehnt APNs-Zertifikat, Paket-ID, Umgebung überprüfen
Netzwerk-Timeout APNs können nicht erreicht werden Vorübergehendes Problem; API-Aufruf erneut versuchen
accordion
​2. Prüfen von Nachrichten-Feedback-Ereignissen im Profil
  1. Navigieren Sie Journey Optimizer zu > Profile.

  2. Suchen Sie nach dem Profil und öffnen Sie es.

  3. Wählen Sie die Ereignisse aus.

  4. Filtern oder suchen Sie nach Ereignissen mit eventType = "message.feedback".

  5. Suchen Sie nach Feedback-Ereignissen, die dem liveActivityID und event Ihrer Live-Aktivität entsprechen.

  6. Überprüfen Sie die folgenden Schlüsselfelder:

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3
    Feld Mögliche Werte Bedeutung
    feedbackStatus sent, error, denylist Versandergebnis vom Dienstleister
    serviceProvider apns/apnsSandbox Sollte APNs für iOS Live-Aktivitäten sein
    errorCode Numerischer Code oder null APNs-spezifischer Fehler-Code, wenn fehlgeschlagen
    errorMessage Fehlerbeschreibung oder null Lesbare Fehlermeldung
  7. Wenn feedbackStatus: "error":

    • Überprüfen Sie die errorCode und errorMessage auf spezifische APNs-Fehler.
    • Zu den häufigen APNs-Fehlern gehören abgelaufene Token, ungültiges Zertifikat und eine falsche Paket-ID.
  8. Wenn kein Feedback-Ereignis gefunden wird:

Wenn feedbackStatus sent ist: Journey Optimizer hat die Benachrichtigung an APNs weitergeleitet. Dadurch wird das Geräte-Rendering nicht bestätigt. Fahren Sie mit den geräteseitigen Prüfungen in Schritt 4 fort.

accordion
​3. Überprüfen der Bereitstellung von Live-Aktivitäten an APNs in Assurance
  1. Öffnen Sie Ihre Assurance-Sitzung und lassen Sie sie während des API-Aufrufs aktiv.

  2. Ausführen des API-Aufrufs (Starten, Aktualisieren oder Beenden).

  3. Suchen Sie in Ereignisliste nach Versandereignissen für Live-Aktivitäten.

  4. Suchen Sie nach Ereignissen im Zusammenhang mit dem APNs-Push-Versand.

  5. Prüfen Sie die folgenden Indikatoren:

    • Push-Anfrage an APNs: Bestätigt, dass Adobe die Push-Benachrichtigung an die Server von Apple gesendet hat
    • APNs-: Zeigt an, ob APNs die Push-Benachrichtigung akzeptiert oder abgelehnt haben
    • Versandstatus: Erfolgs- oder Fehleranzeige
  6. Wenn Probleme festgestellt werden, lesen Sie die folgenden häufigen Probleme bei der Bereitstellung von APNs:

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
    Problem Symptom in Assurance Lösung
    APNs-Zertifikat abgelaufen Authentifizierungsfehler Neues APNs-Zertifikat erneuern und hochladen
    Falsche Umgebung (Entwicklung vs. Produktion) Fehler wegen nicht übereinstimmender Token Sicherstellen, dass das Zertifikat mit dem App-Build-Typ übereinstimmt
    Paket-ID stimmt nicht überein Ungültige Bundle-Kennung Überprüfen, ob die Zertifikatpaket-ID mit der App übereinstimmt
    Token abgelaufen InvalidToken-Fehler von APNs Live-Aktivitäts-Token erneut registrieren
    Ratenbegrenzung Zu viele Anfragen Verringern der API-Aufruffrequenz
accordion
​4. Überprüfen des geräteseitigen Verhaltens

Wenn Adobe einen erfolgreichen Versand anzeigt, das Gerät jedoch keine Live -Aktivität:

  • Überprüfen Sie die iOS-Geräteprotokolle auf Fehler bei Live-Aktivitäten.
  • Stellen Sie sicher, dass sich die App im Vordergrund oder Hintergrund befindet (nicht beendet).
  • Vergewissern Sie sich, dass das Gerät über eine Netzwerkverbindung verfügt.
  • Testen Sie auf mehreren Geräten, um gerätespezifische Probleme auszuschließen.
  • Stellen Sie sicher, dass iOS Version 16.1 oder höher ist.
accordion
​5. Eskalation an den Adobe Support

Wenn Sie alle Schritte ausgeführt haben und das Problem weiterhin nicht behoben ist, wenden Sie sich an die Adobe-Kundenunterstützung mit:

Erforderliche Informationen:

  • Kampagnen-ID und -name
  • Profil-Namespace und ID
  • liveActivityID aus API-Payload
  • Zeitstempel von API-Aufrufen
  • Screenshots des Kampagnenberichts mit Versandstatistiken, Fehlerursachen und Ausschlussgründen
  • Relevante Profilereignisse (liveActivity.updateToken für Probleme und message.feedback bei der unitären Aktualisierung/Beendigung)
  • Assurance-Sitzungsdetails und Screenshots zu relevanten Ereignissen
  • Payload und Antwort der API-Anfrage mit Anmeldeinformationen und Geräte-Token kopiert
  • APNs-Zertifikatdetails (Ablauf, Umgebung, Paket-ID)
Android

Vorab-Prüfungen

  • Frühere validierte Szenarien:

    • Das Profil ist mit einer gültigen pushNotificationDetails vorhanden, einschließlich des aktuellen FCM-Tokens, des Android-Paketnamens und der platform: "fcm".
    • Die Campaign-Oberfläche zielt auf die richtige Android-App ab und verwendet die entsprechenden FCM-Anmeldeinformationen.
    • Die fcm Payload ist gültig und ihr timestamp ist neuer als das vorherige Ereignis für denselben notification_id (oder topic_name für Sendungen).
    • Start-, Update- und End-Ereignisse verwenden denselben notification_id. Unitäre Ereignisse verwenden dasselbe FCM-Registrierungstoken. Es ist kein separates Aktualisierungstoken erforderlich.
  • API-Aufruf bestätigt:

    • Der API-Aufruf hat HTTP 202 zurückgegeben (akzeptiert). Dies bestätigt die Annahme der Anfrage, nicht die Bereitstellung oder das Geräte-Rendering.
    • Die Kampagnen-ID und die Empfängerdetails sind korrekt. Überprüfen Sie für Sendungen die Zielgruppen-ID und das FCM-Thema.

Debugging-Schritte

accordion
​1. Versandfehler interpretieren

Überspringen Sie diesen Schritt, wenn Kampagnenbericht keine Versandfehler anzeigt. Ordnen Sie andernfalls den Fehler aus der Tabelle Fehlerursachen den folgenden gängigen FCM-Fehlern zu:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
Häufiger Fehler Bedeutung Lösung
Ungültiges/nicht registriertes Token FCM-Token ist ungültig oder die App wurde deinstalliert Abrufen des aktuellen Geräte-Tokens und Weiterleiten mit MobileCore.setPushIdentifier(token)
Token nicht gefunden Dem Profil ist kein gültiges FCM-Token zugeordnet Überprüfen, ob pushNotificationDetails das aktuelle Token enthält
Absender-ID stimmt nicht überein Token wurde für ein anderes Firebase-Projekt ausgegeben FCM-Anmeldeinformationen an das Firebase-Projekt der App anpassen
Ungültiges Argument Payload wurde von FCM abgelehnt Überprüfen der fcm Payload-Struktur
Netzwerk-Timeout FCM kann nicht erreicht werden Vorübergehendes Problem; API-Aufruf erneut versuchen
accordion
​2. Prüfen von Nachrichten-Feedback-Ereignissen im Profil
  1. Navigieren Sie Journey Optimizer zu > Profile.

  2. Suchen Sie nach dem Profil und öffnen Sie es.

  3. Wählen Sie die Ereignisse aus.

  4. Filtern oder suchen Sie nach Ereignissen mit eventType = "message.feedback".

  5. Suchen Sie Feedback-Ereignisse für die Kampagne und Zeitstempel von API-Aufrufen, die Sie untersuchen.

  6. Überprüfen Sie die folgenden Schlüsselfelder:

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3
    Feld Mögliche Werte Bedeutung
    feedbackStatus sent, error, denylist Versandergebnis vom Dienstleister
    serviceProvider fcm Von FCM behandelter Android-Push-Versand
    errorCode Provider-Fehlercode oder null FCM-spezifischer Fehler-Code bei fehlgeschlagenem Versand
    errorMessage Fehlerbeschreibung oder null Lesbare Fehlermeldung
  7. Wenn feedbackStatus: "error":

    • Überprüfen Sie errorCode und errorMessage und wenden Sie die entsprechende FCM-Auflösung aus Schritt 1 an.
  8. Wenn kein Feedback-Ereignis gefunden wird:

    • Die Push-Benachrichtigung wurde möglicherweise nicht versucht, oder Feedback ist möglicherweise noch nicht verfügbar.
    • Überprüfen Sie, ob das Profil im Kampagnenbericht“ ausgeschlossen ​.

Wenn feedbackStatus sent ist: FCM hat die Benachrichtigung akzeptiert. Dies bestätigt nicht, dass das Gerät die Live-Aktivität gerendert hat. Fahren Sie mit den geräteseitigen Prüfungen in Schritt 4 fort.

accordion
​3. Überprüfen des FCM-Versands in Assurance

Verwenden von Assurance auf einem verbundenen Android-Testgerät.

  1. Öffnen Sie eine Assurance-Sitzung und lassen Sie sie während des API-Aufrufs aktiv.
  2. Führen Sie den API-Aufruf aus, wobei event_type auf start, update oder end eingestellt ist.
  3. Überprüfen Sie in Liste Ereignisse“ verfügbare Push-Versandereignisse auf die Anfrage an FCM und deren Antwort.
  4. Überprüfen Sie, ob FCM die Anfrage akzeptiert oder abgelehnt hat, und überprüfen Sie alle gemeldeten Fehlerdetails.
  5. Verwenden Sie bei abgelehnten Anfragen die FCM-Fehler in Schritt 1, um das Token, die Firebase-Projektanmeldeinformationen und die Payload zu überprüfen. Wenn in der Sitzung keine Anbieterereignisse verfügbar sind, verwenden Sie message.feedback und Kampagnenberichte.
accordion
​4. Überprüfen des geräteseitigen Verhaltens

Wenn Adobe einen erfolgreichen Versand anzeigt, das Gerät die Live -Aktivität jedoch nicht anzeigt oder aktualisiert:

  • Überprüfen Sie die Android-App-Protokolle auf Fehler bei der Push-Verarbeitung und beim Rendern der Live-Aktivität.
  • Vergewissern Sie sich, dass Benachrichtigungen zulässig und hochgestufte Benachrichtigungen mit canPostPromotedNotifications() zulässig sind.
  • Stellen Sie sicher, dass POST_NOTIFICATIONS- und POST_PROMOTED_NOTIFICATIONS-Berechtigungen gewährt werden und der durch notification_channel_id identifizierte Kanal vorhanden ist.
  • Stellen Sie sicher, dass timestamp neuer als das zuletzt verarbeitete Ereignis ist und dass sich notification_id nicht geändert hat. Überprüfen Sie bei Sendungen auch das Geräteabonnement für topic_name.
  • Vergewissern Sie sich, dass die App nicht zwangsweise angehalten wurde.
  • Vergewissern Sie sich, dass das Gerät über eine Netzwerkverbindung verfügt.
  • Testen Sie auf mehreren Geräten, um gerätespezifische Probleme auszuschließen.
  • Stellen Sie sicher, dass auf dem Gerät Android 16.1 (API-Ebene 36.1) oder höher ausgeführt wird und die App targetSdk 36 verwendet.
  • Vergewissern Sie sich, dass content_state Schlüssel und Werttypen mit dem Stilanbieter der App übereinstimmen.
accordion
​5. Eskalation an den Adobe Support

Wenn Sie alle Schritte ausgeführt haben und das Problem weiterhin nicht behoben ist, wenden Sie sich an die Adobe-Kundenunterstützung mit:

Erforderliche Informationen:

  • Kampagnen-ID und -name
  • Profil-Namespace und ID
  • notification_id und event_type aus der API-Payload; bei Sendungen auch topic_name und die Zielgruppen-ID angeben
  • Zeitstempel von API-Aufrufen
  • Screenshots des Kampagnenberichts mit Versandstatistiken, Fehlerursachen und Ausschlussgründen
  • Relevante message.feedback, einschließlich FCM-Fehlercodes und -Meldungen
  • Assurance-Sitzungsdetails und Screenshots zu relevanten Ereignissen
  • Payload und Antwort der API-Anfrage mit Anmeldeinformationen und Geräte-Token kopiert
  • Paketname, Firebase-Projekt und Absender-ID sowie Konfigurationsdetails für FCM-Anmeldeinformationen; enthalten keine privaten Schlüssel
  • Android-Betriebssystemversion, Gerätemodell, Benachrichtigungsberechtigungsstatus und relevante App-Protokolle

Szenario 4: Aktualisierungstoken der Live-Aktivität nicht synchronisiert scenario-4-live-activity-update-token-not-synced

[Gilt nur für einheitliche Anwendungsfälle]{class="badge informative"}

[Gilt nur für iOS]{class="badge positive"}

Die Live-Aktivität beginnt auf dem Gerät, aber akzeptierte update oder end API-Anfragen aktualisieren oder schließen sie nicht. Eine mögliche Ursache ist, dass pro Instanz ausgeführtes Live-Aktivitäts-Aktualisierungstoken nicht mit dem System von Adobe synchronisiert wurde. Führen Sie die folgenden Prüfungen durch, um zu bestätigen, ob das Problem die Token-Synchronisierung ist.

Informationen zu Aktualisierungs-Token

Wenn eine Live-Aktivität auf einem Gerät gestartet wird, generiert iOS ein eindeutiges Aktualisierungstoken für diese spezifische Live-Aktivitätsinstanz. Dieses Token ist erforderlich für:

  • Senden von Aktualisierungen an die Live-Aktivität
  • Remoteende der Live-Aktivität

Jede Live-Aktivitätsinstanz verfügt über ein eigenes eindeutiges Aktualisierungstoken. Adobe benötigt dieses Token, um Updates bereitzustellen und Ereignisse zu beenden.

Erwartetes Verhalten

Damit Aktualisierungs- und End-Ereignisse funktionieren, muss Folgendes passieren:

  1. Live-Aktivität startet erfolgreich auf dem Gerät.
  2. Das Gerät generiert ein Aktualisierungstoken für diese Live-Aktivitätsinstanz.
  3. Mobile SDK erfasst und sendet das Aktualisierungstoken an Adobe.
  4. Das Aktualisierungstoken wird synchronisiert und im System von Adobe gespeichert.
  5. Nachfolgende API-Aufrufe zur Aktualisierung/Beendigung verwenden dieses Token für die Bereitstellung.

Vorab-Prüfungen:

  • Benutzerberechtigung: Wenn eine Live-Aktivität zum ersten Mal auf einem Gerät gestartet wird, zeigt iOS eine Systemaufforderung an: "[App-Name“ ], Live-Aktivitätsaktualisierungen bereitzustellen?“ Der Benutzer auf „Zulassen tippen, damit Aktualisierungstoken generiert und synchronisiert werden. Wenn der/die Benutzende auf „Nicht zulassen“ tippt, werden keine Aktualisierungs-Token erstellt und die Aktualisierungs-/End-Anfragen schlagen fehl. Dies ist eine einmalige Berechtigung pro App.
  • Profil- und Kampagnenvalidierung: Führen Sie Szenario 1- und Szenario 2-Prüfungen durch, um sicherzustellen, dass Profil, Token und Kampagnenkonfiguration korrekt sind.

Debugging-Schritte

​1. Überprüfen der Update-Token-Synchronisierung in Assurance
  1. Öffnen Sie Ihre Assurance-Sitzung.

  2. Stellen Sie sicher, dass die Sitzung aktiv war, als die Live-Aktivität auf dem Gerät gestartet wurde.

  3. Filtern oder suchen Sie nach Ereignissen mit eventType = "liveActivity.updateToken".

  4. Wählen Sie das Ereignis aus und überprüfen Sie die Payload:

    • Überprüfen Sie, ob das Feld token eine gültige Aktualisierungstoken-Zeichenfolge enthält.
    • Überprüfen Sie, ob die liveActivityID mit Ihrer Live-Aktivitätsinstanz übereinstimmt.
    • Vergewissern Sie sich, dass die activityType Ihrer attributes-type entspricht.
  5. Wenn das Ereignis nicht gefunden wird:

    • Das Aktualisierungs-Token wurde von SDK nicht generiert oder erfasst.
    • Überprüfen Sie, ob der Benutzer Berechtigungen für Live-Aktivitäten erteilt hat.
    • Überprüfen Sie, ob die Live-Aktivität auf dem Gerät erfolgreich gestartet wurde.
    • Vergewissern Sie sich, dass der mobile SDK ordnungsgemäß integriert ist, um Aktualisierungstoken zu erfassen.
  6. Wenn das Ereignis gefunden wird, fahren Sie mit Schritt 2 fort.

​2. Überprüfen des Aktualisierungs-Tokens in Profilereignissen
  1. Navigieren Sie Journey Optimizer zu > Profile.

  2. Suchen Sie nach dem Profil und öffnen Sie es.

  3. Wählen Sie die Ereignisse aus.

  4. Suchen Sie nach liveActivity.updateToken Ereignissen.

  5. Überprüfen Sie die Ereignisdetails:

    • Überprüfen Sie, ob der Zeitstempel kürzlich war (stimmt überein mit dem Beginn der Live-Aktivität).
    • Bestätigen Sie, dass token und liveActivityID vorhanden sind.
    • Stellen Sie sicher, dass die activityType korrekt ist.
  6. Wenn das Ereignis nicht im Profil gefunden wird:

    • Das Aktualisierungstoken-Ereignis wurde möglicherweise noch nicht in das Profil aufgenommen.
    • 5-10 Minuten warten und erneut überprüfen.
    • Wenn nach 15 Minuten immer noch fehlt, kann es ein Problem bei der Ereignisaufnahme geben.
  7. Wenn das Ereignis gefunden wird, wurde das Aktualisierungstoken synchronisiert. Fahren Sie mit Schritt 3 fort.

​3. Live-Aktivitäts-Versandereignisse in Assurance überprüfen
  1. Führen Sie in Ihrer Assurance-Sitzung einen Update- oder End-API-Aufruf aus.

  2. Suchen Sie in Ereignisliste nach Versandereignissen von Live-Aktivitäten (APNs und Push-Ereignisse).

  3. Prüfen Sie auf Ereignisse, die Folgendes anzeigen:

    • Push-Benachrichtigung an APNs gesendet.
    • Antwort von APNs (Erfolg oder Fehler).
    • Versandbestätigung
  4. Wenn ein APNs-Versandereignis vorhanden ist: Die Push-Benachrichtigung wurde gesendet. Wenn das Gerät immer noch nicht aktualisiert wird, liegt das Problem möglicherweise auf der Geräteseite (App verarbeitet den Push nicht, Netzwerkprobleme usw.).

  5. Wenn das APNs-Bereitstellungsereignis fehlt: Das Aktualisierungstoken ist im System von Adobe möglicherweise nicht ordnungsgemäß gespeichert oder mit dem Profil verknüpft.

  6. Wenn Fehlerereignisse vorhanden sind: Überprüfen Sie die Fehlerdetails auf bestimmte Fehlerursachen (ungültiges Token, zurückgewiesene APNs usw.).

Szenario 5: Überprüfen des Ausführungsstatus über die API scenario-5-checking-execution-status-via-the-api

[Gilt nur für einheitliche Anwendungsfälle]{class="badge informative"}

Nach dem Auslösen einer unitären Live-Aktivität gibt GET Message Execution API den aktuellen Status der Ausführung zurück. Verwenden Sie sie, um zu bestätigen, ob eine Ausführung in die Warteschlange gestellt wird, in Bearbeitung ist, abgeschlossen wurde oder fehlgeschlagen ist - ohne darauf zu warten, dass das Feedback-Ereignis im Datensatz landet.

Die executionId ist die Nachrichten-ID, die in der Antwort des Triggers zurückgegeben wird. Bei unitären Ausführungen ist HUOC- vorangestellt.

Endpunkt und Beispielanfrage

Endpunkt: GET https://cjm.adobe.io/imp/message/executions/{executionId}

curl --location 'https://cjm.adobe.io/imp/message/executions/HUOC-123456' \
  --header 'x-gw-ims-org-id: <IMS_ORG_ID>' \
  --header 'Authorization: Bearer <ACCESS_TOKEN>' \
  --header 'x-sandbox-name: <SANDBOX_NAME>' \
  --header 'x-sandbox-id: <SANDBOX_UUID>' \
  --header 'x-api-key: <API_KEY>'

HTTP-Antwort-Codes

Code
Bedeutung
200 OK
Ausführung gefunden und erfolgreich zurückgegeben
401 Nicht autorisiert
Fehlendes oder ungültiges Bearer-Token
403 Verboten
Gültiges Token, aber unzureichende Berechtigungen
404 nicht gefunden
Ausführungs-ID existiert nicht

Ausführungsstatuswerte

Das Feld status in einer Antwort von 200 gibt den Ausführungsfortschritt an:

Status
Beschreibung
PENDING
Ausführung in der Warteschlange, aber noch nicht gestartet
INPROGRESS
Die Ausführung wird derzeit verarbeitet
COMPLETED
Ausführung erfolgreich abgeschlossen
FAILED
Fehler bei der Ausführung

Die 200-Antwort gibt auch executionType (unitary oder batch), executionRunMode (default oder test) und einen source mit Metadaten (campaignId, journeyId, batchInstanceId, Asset-Info) zurück, wodurch die Ausführung zurück an die auslösende Kampagne oder das auslösende Journey gebunden wird.

Szenario 6: Konfiguration der Broadcast-Kampagne und Payload-Probleme broadcast-config

[Gilt nur für Broadcast-Anwendungsfälle]{class="badge informative"}

In diesem Abschnitt werden Fehlerbehebungsszenarien für Broadcast-Live-Aktivitäten beschrieben, für die andere Debugging-Ansätze als für unitäre Kampagnen erforderlich sind.

Wenn Profile gültige Token haben, die Live-Aktivität jedoch nicht wie erwartet für Zielgruppenmitglieder angezeigt, aktualisiert oder sich verhalten, hat das Problem in der Regel eine der folgenden Ursachen:

  • Die Kampagne ist nicht als API-ausgelöstes Marketing konfiguriert.
  • Die API-Payload fehlt audience oder die plattformspezifische Broadcast-Kennung: input-push-channel auf iOS oder topic_name auf Android.
  • Payload-Felder stimmen nicht mit der iOS ActivityAttributes-Implementierung oder der Android-Stilanbieter-Zuordnung überein.
  • Der Apple-Push-Kanal ist falsch konfiguriert oder das Android-Gerät hat das FCM-Thema nicht abonniert.

Dieses Fehlerbehebungsszenario gilt für alle Live-Aktivitätsereignisse in Broadcast-Kampagnen: start, update und end.

iOS

Vorab-Prüfungen:

  • Kampagnentyp:

    • Vergewissern Sie sich, dass die Kampagne als API-ausgelöstes Marketing erstellt wurde (erforderlich für Kampagnen, die über Broadcast/Zielgruppen laufen).
    • Vergewissern Sie sich, dass in der Kampagnenkonfiguration eine Audience definiert ist.
  • Profil- und Token-: Probieren Sie mehrere Profile aus der Zielgruppe, um zu überprüfen, ob sie gültige liveActivityPushNotificationDetails haben. Ausführliche Validierungsschritte finden Sie Szenario 1.

Debugging-Schritte

accordion
​1. Konfiguration der Campaign-Zielgruppe überprüfen
  1. Öffnen Sie Ihre API-ausgelöste Marketing Kampagne in Journey Optimizer.

  2. Navigieren Sie zum Abschnitt Zielgruppe und überprüfen Sie Folgendes:

    • Für die Kampagne wird eine Audience ausgewählt.
    • Die Zielgruppen-ID entspricht der in Ihrer API-Payload verwendeten.
    • Die Zielgruppe enthält die erwarteten Profile.
  3. Navigieren Sie zum Abschnitt Aktionen .

  4. Überprüfen Sie die Konfiguration der Live-Aktivität:

    • Die Konfiguration muss für die iOS-App mit der richtigen Bundle-ID festgelegt werden.
    • Der Aktivitätstyp muss mit dem attributes-type in Ihrer API-Payload übereinstimmen. Wenn Ihre Payload beispielsweise "attributes-type": "AirplaneTrackingAttributes" enthält, muss die Kampagne denselben Aktivitätstyp angeben.
accordion
​2. Validieren der Payload-Struktur der Broadcast-API

Die Struktur der Broadcast-Payload unterscheidet sich von unitären Kampagnen. Vergewissern Sie sich, dass Ihre Payload das richtige Sendeformat verwendet.

Erforderliche Felder für die Übertragung:

code language-json
{
   "campaignId": "878a11d4-b519-47bd-8313-fecfee19857b",
   "audience": {
      "id": "8c3dbdea-2957-401f-acf0-3966fba1601e"
   },
   "context": {
      "requestPayload": {
         "aps": {
            "input-push-channel": "FEt0NgvLEfEAAOqA6AXdIQ==",
            "content-available": 1,
            "timestamp": 1771829292,
            "event": "start",
            "attributes-type": "AirplaneTrackingAttributes",
            "content-state": { ... },
            "attributes": { ... }
         }
      }
   }
}

Häufige Payload-Probleme:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3
Feld Anforderung Häufige Probleme
campaignId Muss mit der ID der aktivierten Marketing-Kampagne übereinstimmen Falsche Kampagnen-ID oder Verwendung der Transaktionskampagne
audience.id Muss mit einer bestehenden Zielgruppe in AEP übereinstimmen Falsche Zielgruppen-ID oder Zielgruppe existiert nicht
input-push-channel Erforderlich für Übertragung - Eindeutige Kennung für diese Übertragungsinstanz Fehlende oder stimmt nicht mit channelID in übereinliveActivityData
timestamp Muss immer die aktuelle/neueste Unix-Epochenzeit in Sekunden sein Verwenden eines alten/zwischengespeicherten Zeitstempels
event Muss "start", "update" oder "end" sein Ungültiger Ereignistyp
attributes-type Muss mit dem Kampagnenaktivitätstyp übereinstimmen Fehlende Übereinstimmung oder Tippfehler
content-available Muss 1 sein Fehlender oder falscher Wert

Kritische Broadcast-spezifische Felder:

  • input-push-channel:

    • Erforderlich für alle Broadcast-Live-Aktivitäten.
    • Fungiert als eindeutige Kennung für diese spezifische Broadcast-Instanz.
    • Alle Profile in der Zielgruppe erhalten Live-Aktivitäten, die mit diesem Kanal verknüpft sind.
    • Muss mit dem channelID in liveActivityData.channelID übereinstimmen (siehe Schritt 3).
    • Muss für das appID im Apple-Entwicklerportal von Ihrem Team erstellt werden.
    • Nur Kanäle, die für das jeweilige appID erstellt wurden, können für die Übertragung der Live-Aktivität in diesem Programm verwendet werden.
  • audience.id:

    • Muss auf ein in Adobe Experience Platform erstelltes gültiges Zielgruppensegment verweisen.
    • Alle Profile in dieser Zielgruppe sind für die Live-Aktivität angesprochen.
    • Die Zielgruppe muss aktiviert sein und Profile mit gültigen liveActivityPushNotificationDetails enthalten.

Verwenden Sie immer den neuesten Zeitstempel:

  • Das Feld timestamp muss bei jedem API-Aufruf immer die aktuelle Unix-Epochenzeit (in Sekunden) sein.
  • Diese Anforderung gilt für alle Ereignistypen: start, update und end.
  • Kritisch für Updates/Ende: Die Verwendung veralteter Zeitstempel führt dazu, dass Update- und End-Anfragen fehlschlagen.
  • Generieren Sie für jeden Broadcast-API-Aufruf einen neuen Zeitstempel.

Optionale Felder:

  • dismissal-date: Unix-Epochenzeit für automatische Abweisung (nur relevant für end Ereignisse)
  • alert: Objekt mit title und body zur Benachrichtigung

Vollständige API-Spezifikationen finden Sie in der 🔗 zur Adobe Journey Optimizer Messaging-API .

accordion
​3. Ausrichten von Inhaltsstatus, Attributen und Eingabe-Push-Kanal an der iOS-Implementierung

Stellen Sie sicher, dass die Payload-Felder mit der ActivityAttributes Implementierung Ihrer iOS-App übereinstimmen und dass die input-push-channel mit der channelID in liveActivityData übereinstimmt.

  1. Überprüfen Sie Ihre iOS ActivityAttributes-Definition.

Ihre benutzerdefinierte ActivityAttributes muss das LiveActivityAttributes-Protokoll von Adobe implementieren:

code language-swift
struct AirplaneTrackingAttributes: LiveActivityAttributes {
   public struct ContentState: Codable, Hashable {
      var journeyProgress: Int
   }

   // Adobe SDK requirement
   var liveActivityData: LiveActivityData

   // Your custom attributes
   var arrivalAirport: String
   var departureAirport: String
   var arrivalTerminal: String
}
  1. Ordnen Sie iOS-Felder der Broadcast-API-Payload zu.

content-state für alle Ereignistypen einschließen. attributes, einschließlich liveActivityData.channelID, nur für Startereignisse einschließen:

code language-json
{
   "aps": {
      "input-push-channel": "FEt0NgvLEfEAAOqA6AXdIQ==",
      "event": "start",
      "timestamp": 1771829292,
      "attributes-type": "AirplaneTrackingAttributes",
      "content-state": {
         "journeyProgress": 0
      },
      "attributes": {
         "arrivalAirport": "DEL",
         "departureAirport": "MUM",
         "arrivalTerminal": "T1",
         "liveActivityData": {
            "channelID": "FEt0NgvLEfEAAOqA6AXdIQ=="
         }
      }
   }
}

Kritisch: input-push-channel muss mitchannelID übereinstimmen

  • Der input-push-channel am Stamm von aps muss genau mit dem channelID in liveActivityData übereinstimmen.
  • Im obigen Beispiel werden beide Werte "FEt0NgvLEfEAAOqA6AXdIQ==".
  • Dieser Abgleich verknüpft die Broadcast-Instanz mit den Daten der Live-Aktivität.
  • Fehlende Übereinstimmung führt zu fehlgeschlagenen Sendungen.

Wichtige Validierungspunkte:

  • Schließen Sie alle ContentState Felder in content-state für alle Ereignistypen ein.
  • Schließen Sie alle benutzerdefinierten LiveActivityAttributes nur für Startereignisse in attributes ein.
  • Bei Startereignissen muss liveActivityData.channelID mit input-push-channel übereinstimmen.
  • Bei Feldnamen wird zwischen Groß- und Kleinschreibung unterschieden und sie müssen genau übereinstimmen.
  • Datentypen müssen übereinstimmen (Zeichenfolge, int, bool, verschachtelte Objekte usw.).
  • Verwenden Sie für Aktualisierungs-/Endereignisse denselben input-push-channel wie das ursprüngliche Startereignis.

Häufige Fehler:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3
Problem Wirkung Korrigieren
Fehlende input-push-channel Broadcast funktioniert nicht Eindeutige Kanal-ID für jede Sendung hinzufügen
input-push-channel stimmt nicht mit channelID überein Live-Aktivität wird nicht gestartet Stellen Sie sicher, dass beide Werte identisch sind
Verschiedene input-push-channel für Aktualisierung/Ende Aktualisierung/Ende erreicht die Live-Aktivitäten nicht Verwenden derselben Kanal-ID während des gesamten Lebenszyklus
Fehlende liveActivityData.channelID Live-Aktivität wird nicht mit der Übertragung verknüpft. channelID in Attribute für Startereignis einschließen
Erforderliches Feld im Startereignis fehlt Live-Aktivität wird nicht gestartet Alle Felder aus der iOS-Struktur hinzufügen
Falscher Feldname (Tippfehler/Groß-/Kleinschreibung) Feld ignoriert oder Parsing-Fehler Exakte Übereinstimmung mit iOS-Feldnamen
Veralteter Zeitstempel bei Aktualisierung/Ende Aktualisierung/Ende von Geräten ignoriert Immer neuen Zeitstempel erzeugen
accordion
​4. Testen mit Assurance

Überprüfen der API-Ausführung und der Payload-Bereitstellung mithilfe von Assurance:

  1. Öffnen Sie Ihre Assurance-Sitzung auf einem Testgerät, das Teil der Zielgruppe ist.

  2. Führt den Broadcast-API-Aufruf aus.

  3. Suchen Sie in Ereignisliste nach:

    • Ausführungsereignisse der Kampagne.
    • Versandereignisse für Live-Aktivitäten.
    • Fehlerereignisse, die auf Fehler bei der Payload-Validierung hinweisen.
  4. Überprüfen Sie Ereignis-Payloads zur Bestätigung:

    • Die Payload wurde korrekt verarbeitet.
    • Die input-push-channel ist vorhanden.
    • Keine Validierungsfehler aufgetreten.
    • Live-Aktivitäten wurden für Zielgruppenmitglieder an APNs gesendet.
Android

Vorab-Prüfungen:

  • Kampagnentyp: Vergewissern Sie sich, dass die Kampagne API-ausgelöstes Marketing ist und eine Zielgruppe definiert wurde.
  • Profil- und Token-Validierung Entnehmen Sie mehrere Zielgruppenprofile, um zu überprüfen, ob sie über gültige pushNotificationDetails mit platform: "fcm" verfügen. Befolgen Sie die Android-Prüfungen in Szenario 1.
  • Themenabonnement: Vergewissern Sie sich, dass das Testgerät das für die Sendung verwendete FCM-Thema abonniert hat.

Debugging-Schritte

accordion
​1. Konfiguration der Campaign-Zielgruppe überprüfen
  1. Öffnen Sie Ihre API-ausgelöste Marketing Kampagne in Journey Optimizer.

  2. Navigieren Sie zum Abschnitt Zielgruppe und überprüfen Sie Folgendes:

    • Für die Kampagne wird eine Audience ausgewählt.
    • Die Zielgruppen-ID entspricht der in Ihrer API-Payload verwendeten.
    • Die Zielgruppe enthält die erwarteten Profile.
  3. Navigieren Sie zum Abschnitt Aktionen .

  4. Vergewissern Sie sich, dass Konfiguration der Live Aktivität auf das richtige Android-Paket abzielt und die entsprechenden FCM-Anmeldeinformationen verwendet. Android verwendet keinen Aktivitätstyp und kein attributes-type.

accordion
​2. Validieren der Payload-Struktur der Broadcast-API

Android-Sendungen verwenden ein FCM-Thema. Schließen Sie audience.id ein und platzieren Sie das fcm Objekt unter context.requestPayload anstatt unter einem einzelnen Empfänger.

Beispiel für Broadcast-Start-Payload:

code language-json
{
   "requestId": "your-request-id",
   "campaignId": "your-marketing-campaign-id",
   "audience": {
      "id": "your-audience-id"
   },
   "context": {
      "requestPayload": {
         "fcm": {
            "topic_name": "flight_DL321",
            "notification_id": "flight-DL-321",
            "notification_channel_id": "live_updates_channel",
            "timestamp": 1771829292,
            "priority": "PRIORITY_HIGH",
            "event_type": "start",
            "title": "Flight DL-321",
            "body": "Boarding starts shortly",
            "critical_text": "25 min",
            "content_state": {
               "custom_key_template_type": "progress",
               "custom_key_journey_start": "DEL",
               "custom_key_journey_progress": 10,
               "custom_key_journey_end": "MUM"
            }
         }
      }
   }
}

Ersetzen Sie den Beispiel-Zeitstempel durch die aktuelle Unix-Epochenzeit in Sekunden. Passen Sie die content_state Schlüssel an den Stilanbieter Ihrer App an.

Häufige Payload-Probleme:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3
Feld Anforderung Häufige Probleme
campaignId Muss mit der ID der aktivierten Marketing-Kampagne übereinstimmen Falsche Kampagnen-ID oder Verwendung der Transaktionskampagne
audience.id Muss mit der in der Kampagne konfigurierten Audience übereinstimmen Falsche Zielgruppen-ID oder fehlende Zielgruppe
topic_name Darf nicht leer sein und über Start, Update und Ende hinweg unverändert bleiben Fehlendes Thema wird als fehlerhaft abgelehnt. Geändertes Thema unterbricht Update-/End-Targeting
notification_id Muss über den gesamten Aktivitätslebenszyklus hinweg unverändert bleiben Zielgruppe einer anderen Benachrichtigung aktualisieren oder beenden
notification_channel_id Muss mit einem von der App erstellten Benachrichtigungskanal übereinstimmen Fehlender oder nicht übereinstimmender Kanal
timestamp Epoche Sekunden; muss größer als der vorherige Wert für dasselbe Thema sein Ältere oder gleiche Zeitstempel werden ignoriert
event_type Muss "start", "update" oder "end" sein Ungültiges Lebenszyklus-Ereignis
content_state Muss Schlüssel und Werttypen verwenden, die vom Stilanbieter der App unterstützt werden Nicht unterstützte Schlüssel oder falsche Typen

Kritische Broadcast-spezifische Felder:

  • topic_name: Identifiziert das FCM-Thema, das von den Zielgeräten abonniert wird. Denselben nicht leeren Wert in jede Start-, Update- und End-Anfrage einschließen.
  • audience.id: Identifiziert die Zielgruppe der Kampagne in Adobe Experience Platform. Überprüfen der Mitgliedschaft und der Beispielprofile auf gültige pushNotificationDetails.

Zeitstempel und optionale Felder:

  • Generieren Sie für jedes Ereignis einen neuen timestamp in Epochensekunden und stellen Sie sicher, dass dieser streng größer als der letzte Wert für dasselbe Thema ist. Ältere oder gleiche Werte werden ignoriert.
  • when legt optional die Anzeigedauer der Benachrichtigung in Epochenzeit Sekunden fest. Die Nachrichtenreihenfolge wird nicht gesteuert.
  • event_type: "end" gibt dismiss_after optional an, wie viele Sekunden die abgeschlossene Aktivität vor dem Entfernen sichtbar bleibt. Es handelt sich um eine Dauer, nicht um einen Epochenzeitstempel.

Vollständige API-Spezifikationen finden Sie in der 🔗 zur Adobe Journey Optimizer Messaging-API .

accordion
​3. Überprüfen des Themenabonnements und des App-Renderings
  1. Vergewissern Sie sich mithilfe von FirebaseMessaging.getInstance().subscribeToTopic(topic), dass das Testgerät das in topic_name angegebene Thema abonniert hat.
  2. Vergewissern Sie sich, dass das Abonnement erfolgreich war und dass die App es über die Topic-Subscription-Tracking-API meldet, die von der installierten Adobe Live Activities-Erweiterung unterstützt wird.
  3. topic_name und notification_id über Start-, Update- und End-Ereignisse hinweg unverändert beibehalten.
  4. Stellen Sie sicher, dass content_state Schlüssel und Werttypen mit dem Stilanbieter der App übereinstimmen.
  5. Überprüfen Sie, ob Benachrichtigungsberechtigungen erteilt wurden und ob notification_channel_id mit einem von der App erstellten Kanal übereinstimmt.

Häufige Fehler:

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
Problem Wirkung Korrigieren
Fehlende oder leere topic_name Anfrage wird als fehlerhaft abgelehnt Nicht leeres Thema in jede Lebenszyklusanfrage einschließen
Gerät hat das Thema nicht abonniert Gerät empfängt keine Broadcast-Ereignisse Abonnieren des genauen Themas und Überprüfen des Abonnementerfolgs
Geänderte Themen- oder Benachrichtigungs-ID Aktualisierung/Ende ist nicht auf die ursprüngliche Aktivität ausgerichtet Beide Werte bleiben während des gesamten Lebenszyklus unverändert
Nicht unterstützte content_state oder Typen Inhalt fehlt oder wird falsch gerendert Zuordnung des Stilanbieters der App
Ältere oder gleiche timestamp Ereignis wird ignoriert Wert größer als der zuletzt verarbeitete Zeitstempel verwenden

Weitere Felder und Beispiele finden Sie im Beispiel 🔗 Android Broadcast-Payload .

accordion
​4. Testen mit Assurance

Verwenden Sie Assurance auf einem verbundenen Android-Testgerät, das zur Zielgruppe gehört und das für die Übertragung angemeldet ist.

  1. Öffnen Sie Ihre Assurance-Sitzung, bevor Sie den Broadcast-API-Aufruf ausführen.
  2. Senden Sie Start-, Aktualisierungs- und End-Anfragen mit denselben topic_name und notification_id sowie steigenden Zeitstempeln.
  3. Überprüfen Sie in Liste Ereignisse“ verfügbare SDK- und Versandereignisse auf Fehler bei der Payload-Verarbeitung.
  4. Vergewissern Sie sich, dass die Payload die beabsichtigten fcm, topic_name und event_type Werte enthält.
  5. Überprüfen Sie die Kampagnenberichte und verfügbaren message.feedback-Ereignisse, um die FCM-Versandergebnisse zu bestätigen. Der Android-serviceProvider ist fcm.
  6. Wenn FCM die Nachricht akzeptiert, das Gerät die Aktivität jedoch nicht rendert, überprüfen Sie Themenabonnement, Benachrichtigungsberechtigungen, Kanalkonfiguration und App-Protokolle. Die Anbieterakzeptanz bestätigt nicht das Geräte-Rendering.

Szenario 7: Profil nicht in Zielgruppe oder veralteter Zielgruppen-Schnappschuss scenario-7-profile-not-in-audience-or-stale-audience-snapshot

[Gilt nur für Broadcast-Anwendungsfälle]{class="badge informative"}

In diesem Szenario sind die Kampagne und die Payload korrekt konfiguriert, aber bestimmte Profile empfangen die Live-Aktivität nicht. Dies tritt in der Regel auf, wenn:

  • Das Profil ist kein Mitglied der mit der Kampagne verknüpften Zielgruppe.
  • Die Zielgruppe ist eine Batch-Zielgruppe und enthält eine veraltete Momentaufnahme der Profildaten.
  • Die Details zum Push-Token des Profils (liveActivityPushNotificationDetails auf iOS oder pushNotificationDetails auf Android) wurden kürzlich aktualisiert, wurden jedoch noch nicht in der Zielgruppen-Momentaufnahme dargestellt.

Dieses Fehlerbehebungsszenario gilt speziell für Broadcast-Kampagnen, bei denen das zielgruppenbasierte Targeting verwendet wird.

Grundlegendes zur Zielgruppenauswertung

Adobe Experience Platform verwendet verschiedene Methoden zur Zielgruppenauswertung, die bestimmen, wann Profilaktualisierungen in der Zielgruppe angezeigt werden:

Methode
Auswertungshäufigkeit
Aktualität der Daten
Geeignet für
Batch
Einmal täglich (geplant)
Kann bis zu 24 Stunden alt sein
Große Zielgruppen, nicht zeitkritisch
Streaming
Echtzeit (bei Profiländerungen)
Fast in Echtzeit für aktualisierte Profile
Zeitabhängig, erfordert Profilaktualisierungen
Edge
Echtzeit an Edge-Standorten
Fast in Echtzeit
Von Edge bewertete Anwendungsfälle

Vorab-Prüfungen

  • Validierung von Kampagne und Payload:

    • Führen Sie die Prüfungen in Szenario 6 für Ihre Plattform aus, um sicherzustellen, dass Kampagne und Payload korrekt sind.
    • Stellen Sie sicher, dass der audience.id in der API-Payload mit der Kampagnenkonfiguration übereinstimmt.
  • Profil existiert: Vergewissern Sie sich, dass das Profil in Adobe Experience Platform mit gültigen Push-Token-Details vorhanden ist. Befolgen Sie die Prüfungen in Szenario 1. Die zu suchenden Details hängen von der Plattform ab:

    • iOS: liveActivityPushNotificationDetails mit einem gültigen Token.
    • Android: pushNotificationDetails, das das aktuelle FCM-Registrierungstoken und eine appId enthält, die mit dem Android-Paketnamen, der platform: "fcm" und der denylisted: false übereinstimmt.
  • Themenabonnement (nur Android): Sie, dass das Gerät das in topic_name angegebene FCM-Thema abonniert hat. Bei der Zielgruppenzugehörigkeit wird das Gerät nicht für das Thema abonniert. Befolgen Sie die Android-Topic-Subscription-Prüfungen in Szenario 6.

Debugging-Schritte

​1. Überprüfen, ob sich das Profil in der Zielgruppe befindet

Bestätigen Sie zunächst, ob das Profil, das die Live-Aktivität erhalten soll, tatsächlich Teil der Zielgruppe ist.

  1. Navigieren Sie zu Zielgruppen in Adobe Experience Platform.

  2. Suchen und öffnen Sie die Audience mithilfe der audience.id aus Ihrer Kampagne.

  3. Klicken Sie auf Durchsuchen oder Beispielprofile, um die Mitglieder der Zielgruppe anzuzeigen.

  4. Suchen Sie mithilfe des Namespace und des Identitätswerts nach Ihrem Testprofil.

  5. Wenn das Profil nicht in der Zielgruppe gefunden wird:

    • Das Profil erfüllt nicht die Zielgruppenkriterien oder Segmentregeln.
    • Überprüfen Sie die Zielgruppendefinition, um die Mitgliedschaftsanforderungen zu verstehen.
    • Aktualisieren Sie die Profildaten oder die Zielgruppendefinition, um das Profil einzuschließen.
    • Warten Sie, bis die Auswertung der Zielgruppe abgeschlossen ist (siehe Schritt 2).
  6. Wenn ein Profil in der Zielgruppe gefunden wird: Fahren Sie mit Schritt 2 fort, um die Datenfrische zu überprüfen.

​2. Typ und Zeitplan der Zielgruppenauswertung überprüfen

Geben Sie an, ob die Zielgruppe Batch-, Streaming- oder Edge-Auswertungen verwendet, da dies die Datenfrische bestimmt.

note
NOTE
Bei der Zielgruppenauswertung werden keine Push-Token registriert oder Android-Geräte für FCM-Themen abonniert. Sie bestimmt nur, welche Profildaten der Zielgruppen-Schnappschuss enthält.
  1. Überprüfen Sie auf Seite Zielgruppendetails“ die Auswertungsmethode:

    • Batch: Wird einmal täglich nach einem Zeitplan ausgewertet.
    • Streaming: Wird in Echtzeit ausgewertet, wenn Profilaktualisierungen auftreten.
    • Edge: Wird an Edge-Standorten in Echtzeit ausgewertet.

Führen Sie die entsprechenden Schritte zur Fehlerbehebung auf der Grundlage der Auswertungsmethode aus:

Wenn die Zielgruppe die Batch-Auswertung verwendet:

  1. Verstehen der Beschränkungen für Batch-Zielgruppen:

    • Batch-Zielgruppen werden einmal täglich ausgewertet (normalerweise über Nacht).
    • Der Zielgruppen-Snapshot kann bis zu 24 Stunden alt sein.
    • Wenn ein Profil kürzlich seine Push-Token-Details registriert oder aktualisiert hat (liveActivityPushNotificationDetails in iOS oder pushNotificationDetails in Android), sind die aktualisierten Details möglicherweise nicht im aktuellen Schnappschuss enthalten.
    • Aktualisierungen an Profilen werden erst bei der nächsten Batch-Auswertung angezeigt.
  2. Zeitpunkt der letzten Auswertung überprüfen:

    • Suchen Sie in den Zielgruppendetails nach dem Letzte Auswertung Zeitstempel.
    • Wenn die Details zum Push-Token des Profils nach diesem Zeitstempel aktualisiert wurden, enthält der Zielgruppen-Snapshot nicht das aktuelle Token.
  3. Veraltete Daten auflösen:

    1. Option 1: Warten auf die geplante Batch-Auswertung

      • Die nächste Batch-Auswertung enthält die aktualisierten Profildaten.
      • Dies geschieht automatisch einmal pro Tag.
      • Am besten geeignet für nicht dringende Szenarien.
    2. Option 2: Trigger-On-Demand-Zielgruppenbewertung

      1. Navigieren Sie zu Zielgruppen in AEP.
      2. Wählen Sie die Zielgruppe aus.
      3. Klicken Sie Jetzt bewerten oder Bei Bedarf aktivieren.
      4. Warten Sie, bis die Auswertung abgeschlossen ist (dies kann je nach Zielgruppengröße mehrere Minuten bis Stunden dauern).
      5. Stellen Sie sicher, dass das Profil jetzt aktualisierte Daten im Zielgruppen-Snapshot enthält.
      6. Wiederholen Sie den Broadcast-API-Aufruf.

Wenn die Zielgruppe die Streaming-Auswertung verwendet:

  1. Verstehen Sie das Verhalten von Streaming-Zielgruppen:

    • Streaming-Zielgruppen werden in Echtzeit ausgewertet, wenn Profilaktualisierungen stattfinden.
    • Neue Profile: Qualifizieren Sie sich kurz nach der Erstellung, wenn sie die Segmentkriterien erfüllen.
    • Aktualisierte Profile: Kurz nach der Aktualisierung qualifizieren oder disqualifizieren.
    • Bestehende unveränderte Profile: werden erst dann erneut ausgewertet, wenn eine Aktualisierung erfolgt.
  2. Identifizieren Sie das Problem:

    • Wenn ein Profil bereits vorhanden ist und die Segmentkriterien erfüllt, bei diesem Profil jedoch keine Aktualisierung erfolgt, wird es möglicherweise nicht zu einer neu erstellten Streaming-Zielgruppe hinzugefügt.
    • Das Profil muss eine Aktualisierung (jede Attributänderung) erhalten, damit es erneut ausgewertet werden kann.
  3. Problem beheben:

    • Für neue Profile: Sie qualifizieren sich automatisch, wenn die Kriterien erfüllt sind. Keine Aktion erforderlich.

    • Für vorhandene Profile ohne aktuelle Updates:

      • Nehmen Sie eine kleinere Aktualisierung am Profil vor (z. B. ein Zeitstempelfeld aktualisieren).
      • Dadurch wird die Streaming-Auswertung Trigger und das Profil zur Audience hinzugefügt.
      • Alternative: Verwenden Sie eine Batch- oder Edge-Zielgruppe für vorhandene Profile.

Erweitert: Debugging über Datensatzabfragen advanced-debugging-via-dataset-queries

NOTE
Diese Abfragen gelten für iOS und Android. Beide Plattformen verwenden message.feedback-Ereignisse im AJO-Nachrichten-Feedback- Datensatz mit denselben Schemapfaden und feedbackStatus unten aufgeführten Werten.
Ein sent zeigt die Übergabe an den Push-Anbieter an: APNs auf iOS oder FCM auf Android.

Audience: Entwickler und Dateningenieure. Erfordert SQL-Zugriff auf Journey Optimizer-Datensätze über den Adobe Experience Platform Query Service.

Verwendung: Assurance ist auf Testgeräte beschränkt, die während einer aktiven Sitzung verbunden sind. Verwenden Sie Datensatzabfragen, um von Produktions-Endbenutzern gemeldete Probleme zu untersuchen oder den Versandverlauf nachträglich zu überprüfen. Der Datensatz macht dieselben Lebenszyklus- und Fehlerinformationen verfügbar wie das Assurance-Plug-in.

Auffinden des Datensatzes

  1. Navigieren Sie in Journey Optimizer zu Daten-Management > Datensätze.

  2. Aktivieren Sie den Anzeigen von Systemdatensätzen und öffnen Sie den AJO-Nachrichten-Feedback-Ereignisdatensatz.

Beachten Sie den genauen Tabellennamen, der auf der Detailseite angezeigt wird. Die folgenden Abfragen verwenden ajo_message_feedback_event_dataset. Ersetzen Sie sie durch den tatsächlichen Tabellennamen, wenn sie sich unterscheiden. Die Felder dieses Datensatzes finden Sie in der Adobe Journey Optimizer-Schemareferenz.

Abfrage nach Live-Aktivitäts-ID

Verwenden Sie diese Option, wenn Sie die Live-Aktivitäts-ID kennen (z. B. eine Auftrags-UUID oder Sendungsverfolgungs-ID) und möchten, dass jedes Feedback-Ereignis über den gesamten Lebenszyklus hinweg damit verknüpft ist.

SELECT
  timestamp,
  identitymap,
  _experience.customerJourneyManagement
    .messageDeliveryfeedback.feedbackStatus AS status,
  _experience.customerJourneyManagement
    .messageDeliveryfeedback.messageFailure.reason AS failure_reason,
  _experience.customerJourneyManagement
    .pushChannelContext.liveActivity.event AS la_event,
  _experience.customerJourneyManagement
    .messageExecution.campaignID AS campaign_id,
  _experience.customerJourneyManagement
    .messageExecution.batchInstanceID AS batch_id,
  _id
FROM ajo_message_feedback_event_dataset
WHERE
  _experience.customerJourneyManagement
    .pushChannelContext.liveActivity.liveActivityID
    = '<YOUR_LIVE_ACTIVITY_ID>'
  AND eventtype = 'message.feedback'
ORDER BY timestamp ASC

Abfrage nach ECID

Verwenden Sie dies, wenn die ECID des betroffenen Profils bekannt ist. Ersetzen Sie <YOUR_ECID> durch den vom Profil abgerufenen ECID-Wert.

SELECT
  timestamp,
  _experience.customerJourneyManagement
    .messageDeliveryfeedback.feedbackStatus AS status,
  _experience.customerJourneyManagement
    .messageDeliveryfeedback.messageFailure.reason AS failure_reason,
  _experience.customerJourneyManagement
    .pushChannelContext.liveActivity.event AS la_event,
  _experience.customerJourneyManagement
    .pushChannelContext.liveActivity.liveActivityID AS la_id,
  _experience.customerJourneyManagement
    .messageExecution.campaignID AS campaign_id,
  _id
FROM ajo_message_feedback_event_dataset
WHERE
  identityMap['ECID'][0].id = '<YOUR_ECID>'
  AND eventtype = 'message.feedback'
ORDER BY timestamp ASC
NOTE
identityMap ist ein strukturierter MAP-Typ, keine Zeichenfolge. Verwenden Sie die oben dargestellte Accessor-Syntax für Arrays und Strukturen . Zeichenfolgen-Funktionen wie LIKE geben einen DATATYPE_MISMATCH zurück.
Der Datensatz des Nachrichten-Feedback-Ereignisses speichert nur ECID in seinem identityMap. Wenn das betroffene Profil durch einen benutzerdefinierten Namespace anstatt durch eine ECID identifiziert wird, lösen Sie zuerst die ECID auf. Navigieren Sie in zu „Profile, suchen Sie mithilfe des benutzerdefinierten Namespace und Identitätswerts nach dem Profil und rufen Sie die ECID aus den Identitätsdetails des Profils ab. Verwenden Sie diesen ECID-Wert in der obigen Abfrage.

feedbackStatus-Werte

Wert
Bedeutung
sent
An Push-Anbieter (APNs auf iOS, FCM auf Android) weitergegeben; bestätigt nicht das Geräte-Rendering (siehe unten)
error
Versandfehler - failure_reason Details werden geprüft
denylist
Token ist ungültig, nicht registriert oder auf die Blockierungsliste gesetzt (z. B. eine deinstallierte App). Registrieren Sie das Geräte-Token erneut
exclude
Vor dem Versand ausgeschlossenes Profil (fehlendes Token, Einverständnisproblem oder Typologieregeln)
delay
Versand verzögert; wird wiederholt
duplicate
Ein wiederholter Versand wurde durch die Deduplizierung auf Versandebene unterdrückt
bounce
Versand, der vom Push-Anbieter zurückgewiesen wurde (z. B. ein Hardbounce für das Token)
NOTE
Für la_event Feld remotestart der Datensatz die ersten Versandereignisse, nicht start. Bei der Abfrage nach Ereignistyp entsprechend filtern.

Interpretieren des Sendestatus interpreting-the-sent-status

IMPORTANT
Die maximale Dauer der Live-Aktivität auf 8 Stunden gilt nur für iOS, nicht für Android.

Eine feedbackStatus von sent bestätigt, dass Journey Optimizer die Benachrichtigung erfolgreich an den Push-Anbieter (APNs auf iOS, FCM auf Android) weitergeleitet hat. Es nicht bestätigt, dass die Live-Aktivität auf dem Gerät gerendert wurde.

Der Datensatz bestätigt nicht das Geräte-Rendering nach der Übergabe an den Push-Anbieter. Geräteseitige Fehler, wie eine Betriebssystembeschränkung, ein Netzwerkabfall zwischen dem Anbieter und dem Gerät oder die auf iOS erreichte maximale Live-Aktivitätsdauer von 8 Stunden, werden im Datensatz nicht beobachtet.

Wenn feedbackStatus sent ist, aber keine Live-Aktivität auf dem Gerät angezeigt wird, untersuchen Sie das Verhalten außerhalb der Journey Optimizer-Bereitstellungs-Pipeline. Verwenden Sie die Protokollierung auf Assurance- oder App-Ebene, einschließlich logcat auf Android, um das geräteseitige Verhalten zu diagnostizieren.

AI Knowledge Reference

This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.

For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.

  • TL;DR: This page provides a systematic approach to diagnose why Live activities fail to appear, update, or end even when the API returns HTTP 200, covering profile and token, campaign configuration, payload, and delivery issues for unitary and broadcast use cases on iOS and Android.

Intents:

  • Distinguish the unitary (API-triggered Transactional) and broadcast (API-triggered Marketing) debugging paths
  • Verify profile existence and Live activity push token sync (Scenario 1)
  • Validate campaign surface, Activity type, and API payload structure (Scenario 2)
  • Analyze delivery failures via campaign reports and message.feedback events (Scenario 3)
  • Diagnose unsynced iOS update tokens (Scenario 4) and check unitary execution status via the GET Message Execution API (Scenario 5)
  • Troubleshoot broadcast payload and audience-freshness issues (Scenarios 6 and 7) and query the feedback dataset directly (Advanced)

Glossary:

  • pushNotificationDetails: The AEP profile attribute used for Android FCM registration-token details, including appId, platform, and denylisted (product-specific)

  • topic_name: The FCM topic subscribed to by target Android devices for broadcast Live activities (product-specific)

  • Push-to-start token: An iOS APNs token used for remote start; registered by the mobile SDK and stored on the AEP profile (product-specific)

  • Update token: A per-instance APNs token generated when an iOS Live activity starts; required for iOS unitary update and end events. Android uses the same FCM registration token for start, update, and end; no separate update token is required (product-specific)

  • input-push-channel: A unique channel identifier created on the Apple Developer Portal for iOS broadcast Live activities (product-specific)

  • liveActivityData: A required property on the Adobe SDK LiveActivityAttributes protocol; the iOS examples include liveActivityID for unitary or channelID for broadcast (product-specific)

  • channelID: The value in liveActivityData.channelID; must exactly match input-push-channel for iOS broadcasts (product-specific)

  • attributeType / attributes-type: The name of the Swift ActivityAttributes struct; stored as attributeType (camelCase) on the profile and sent as attributes-type (hyphenated) in APS JSON — the same value in different representations (product-specific)

  • liveActivityPushNotificationDetails: The AEP profile attribute that stores a device’s push-to-start token, appId, platform, and attributeType (product-specific)

  • APS payload: The iOS JSON structure sent under context.requestPayload.aps, containing the event, content-state, and control fields; attributes includes the iOS struct fields for start events (product-specific)

  • Assurance: A debugging tool limited to test devices connected during an active session; use dataset queries for production end-user diagnostics (product-specific)

  • topic_name (Android): The shared FCM topic through which subscribed devices receive broadcast events; the Android equivalent of iOS input-push-channel

  • notification_id (Android): Client-generated identifier for a Live activity instance; keep it unchanged across start, update, and end events to target the same instance

  • timestamp (Android): Message ordering key, expressed in epoch seconds

  • when (Android): Optional notification display time, expressed in epoch seconds; it does not control message ordering

  • dismiss_after (Android): Used only for end events; specifies how many seconds the completed Live activity remains visible before removal

Guardrails:

  • Android audience membership does not subscribe a device to the FCM topic; verify topic subscription separately from audience evaluation.

  • Use API-triggered Transactional campaigns for unitary Live activities and API-triggered Marketing campaigns for broadcasts.

  • The High Throughput option must not be enabled, since it is incompatible with Live activity.

  • Assurance sessions are for test and QA devices only; end-user production devices are not connected to Assurance.

  • Android: unitary Live activities use the same regular FCM push token to start, update, and end, and no separate activity tokens are required; broadcast events reach subscribed devices through the shared FCM topic identified by topic_name.

  • Android timestamp must strictly increase for every event with the same notification_id (or topic_name for broadcasts); updates are displayed only if their timestamp is newer than the last processed value, and older or equal timestamps are ignored.

  • Android action_type / action_uri are not read by the current Android SDK.

  • iOS requirements: a physical iOS device on iOS 16.1 or later; the Xcode Simulator supports local start only (remote push via APNs is not supported on Simulator); remote start from Assurance requires iOS 17.1 or later, a valid push-to-start token, and a valid channel configuration; Adobe Experience Platform Mobile SDK 5.11.0 or later.

  • Batch audiences may be up to 24 hours stale (batch evaluation, once daily); this audience-freshness risk is not applicable to unitary use cases.

  • The first time a Live activity starts on a device, iOS shows a one-time permission prompt; the user must tap “Allow” for update tokens to be generated and synced.

  • For iOS broadcasts, input-push-channel must exactly match liveActivityData.channelID; a mismatch causes delivery failures.

  • For iOS, a feedbackStatus of sent confirms hand-off to APNs only, not device rendering; device-side failures and the 8-hour Live activity duration limit are not observable from the dataset.

Terminology:

  • Canonical name: API Triggered Campaign — Acronym: n/a — campaign types used for Live activities: API-triggered Transactional (unitary), API-triggered Marketing (broadcast)
  • Synonyms: “attributeType” = “attributes-type” (the same value; camelCase on the profile, hyphenated in APS JSON)
  • Do not confuse: input-push-channel (in the iOS APS payload) ≠ liveActivityData.channelID (in the iOS attributes); their values must match for broadcasts.
  • Do not confuse: “Push-to-start token” (starts an iOS Live activity, stored on the profile) ≠ “Update token” (updates or ends an iOS unitary instance, per instance)
  • Do not confuse: “Unitary” (API-triggered Transactional, individual profile) ≠ “Broadcast” (API-triggered Marketing, audience segment)
  • Do not confuse: execution statuses “PENDING” ≠ “INPROGRESS” ≠ “COMPLETED” ≠ “FAILED”
  • Do not confuse: feedbackStatus “sent” ≠ “error” ≠ “exclude” ≠ “delay”
  • Do not confuse: “timestamp” (iOS: the current Unix epoch time in seconds for every call; Android: the ordering key that must strictly increase per notification_id or topic_name) ≠ “when” (Android: optional notification display time that does not control ordering)
  • Do not confuse: la_event value “remotestart” (recorded in the dataset for initial delivery) ≠ “start” (the event field value in the payload)

FAQ:

  • Q: Why does the API return 200 OK but the Live activity does not appear? — A successful response (200 OK) does not guarantee the Live activity appears; the delivery can fail at multiple points, from API request validation through device rendering, so work through Scenarios 1 to 3.
  • Q: Can I use Assurance for production end-user devices? — No; Assurance sessions are for test and QA devices only. For production diagnostics, use the dataset queries.
  • Q: Why do update and end calls fail after the Live activity started? — The per-instance update token may not be synced; the user must have tapped “Allow” on the one-time permission prompt for update tokens to be generated (Scenario 4).
  • Q: How do I check execution status programmatically? — Use the GET Message Execution API; for unitary executions the executionId is prefixed with HUOC-, and the status field returns PENDING, INPROGRESS, COMPLETED, or FAILED.
  • Q: What does a feedbackStatus of sent mean on iOS? — It confirms Journey Optimizer successfully handed the notification to APNs; it does not confirm that the Live activity was rendered on the device.
  • Q: Why are some audience members not receiving a broadcast? — The profile may not be in the audience, or a batch audience snapshot may be up to 24 hours stale; trigger on-demand evaluation or ensure a streaming update occurs (Scenario 7).
recommendation-more-help
journey-optimizer-help