Risolvere i problemi relativi alle attività live troubleshoot-mobile-live
Le attività live in Adobe Journey Optimizer consentono aggiornamenti dinamici in tempo reale su schermi di blocco iOS e Isole dinamiche. Possono essere attivati e gestiti solo tramite Campagne attivate da API.
Tipi di casi d'uso:
- Unitario: con targeting individuale, transazionale (campagne transazionali attivate da API)
- Trasmissione: recapito di massa mirato al pubblico (campagne di marketing attivate da API)
Una sfida frequente con le attività Live si verifica quando la chiamata API per attivare o aggiornare un'attività Live restituisce una risposta corretta (200 OK), ma l'attività Live non viene visualizzata o aggiornata sul dispositivo dell'utente. Questa disconnessione tra la conferma API e il comportamento effettivo del dispositivo può verificarsi in più punti della pipeline di consegna. Questa guida fornisce un approccio sistematico alla risoluzione dei problemi per identificare dove la consegna non riesce, esaminando ogni fase dalla convalida delle richieste API fino al rendering del dispositivo.
Prerequisiti
Prima di risolvere il problema, assicurati di disporre di:
-
accordion Configurare una sessione di Assurance Configura una sessione Assurance per acquisire eventi SDK e ispezionare la pipeline di consegna. Assurance fornisce visibilità su:
- Richieste e risposte di Edge Network
- Eventi di qualificazione del profilo
- Registrazione token push
- Eventi del ciclo di vita dell’attività live
Scopri come configurare Assurance nella documentazione di Adobe Experience Platform Assurance.
Nota: per l'attività di iOS Live, assicurati che l'app sia in esecuzione su un dispositivo iOS fisico (iOS 16.1 o versione successiva) o su un simulatore Xcode (iOS 16.1 o versione successiva).
-
accordion Raccogliere i dettagli della campagna attivata dall’API Passa alla campagna attivata da API in Journey Optimizer e recupera:
- Nome campagna
- ID campagna trovato nell’URL o nelle proprietà della campagna
- Versione della campagna, se applicabile
- Configurazione della superficie, superficie dell’app iOS utilizzata per l’attività live
-
accordion Raccogli informazioni richiesta API Quando effettui la chiamata API per attivare l’attività Live, salva:
- Payload della richiesta API, inclusi gli identificatori di profilo e i dati delle attività live
- Risposta API che include codice di stato, ID messaggio, ID richiesta
- Timestamp di quando è stata chiamata l’API
- Endpoint utilizzato, ad esempio
/campaign/{CAMPAIGN_ID}/execute
-
accordion Identificare il profilo di test Dalla richiesta API, recupera:
- Spazio dei nomi del profilo, ad esempio ECID, e-mail, ID cliente
- ID profilo utilizzato nella chiamata API
Assicurati di poter cercare questo profilo in Adobe Experience Platform. Scopri come cercare un profilo nella documentazione di Experience Platform.
-
accordion Informazioni su dispositivo e app Raccogli quanto segue dal dispositivo di prova:
- Modello del dispositivo, ad esempio iPhone 14 Pro
- Versione iOS
- Identificatore del bundle dell’app
- Token push APN
- Stato della connettività di rete al momento del test
Scenari comuni
Problemi relativi a profili o token push profile-issue
[Applicabile a casi di utilizzo sia unitari che broadcast]{class="badge positive"}
L’API restituisce HTTP 200, ma l’attività Live non viene visualizzata. Cause comuni:
- Il profilo non esiste in Adobe Experience Platform.
- Il token push di attività live non è stato sincronizzato con il profilo.
- I dettagli push dell'attività live sono sincronizzati ma contengono una configurazione errata. Esempio:
appIdoattributeTypeerrati.
Nota per i casi di utilizzo relativi alla trasmissione: se in alcuni profili del pubblico mancano token, solo tali profili non riceveranno l'attività Live. Campiona diversi profili dal tuo pubblico per diagnosticare problemi di token. Questo vale solo per gli eventi di avvio remoto, non per gli eventi di aggiornamento o di fine.
Controlli preliminari
-
Requisiti dell’app iOS:
- iOS 16.1+
NSSupportsLiveActivitiesimpostato suYESinInfo.plistActivityAttributesimplementato correttamente.
-
Integrazione di Mobile SDK:
- Adobe Experience Platform Mobile SDK (messaggistica SDK 5.11.0+)
Messaging.registerLiveActivitiesimplementato e chiamato con il token push di attività Live.
Passaggi di debug
-
accordion Verifica dell<>esistenza del profilo in Adobe Experience Platform - In Journey Optimizer, passa a Cliente
>Profili. - Cerca utilizzando lo spazio dei nomi e il valore di identità della richiesta API.
- Se il profilo non viene trovato, non esiste o l’acquisizione non viene completata. Crea il profilo o attendi l’acquisizione prima di attivare l’attività Live.
- Se il profilo viene trovato, procedi al passaggio 2 seguente per verificare se il token push è sincronizzato.
- In Journey Optimizer, passa a Cliente
-
accordion Controlla se il token push di attività live è sincronizzato Puoi utilizzare Assurance per verificare la registrazione del token:
- In Assurance, dall'elenco Eventi, filtrare o cercare gli eventi
eventType = "liveActivity.pushToStart". - Seleziona Evento e controlla il payload.
- Verifica che siano presenti i valori token, appId e attributeType.
- Conferma se l’evento è stato inviato correttamente.
Puoi anche effettuare il check-in del profilo Adobe Experience Platform.
- In Adobe Experience Platform, dal tuo Profilo, accedi alla scheda Eventi.
- Cerca
liveActivity.pushToStarteventi. - Controlla il timestamp e il payload pari.
Se non viene trovato alcun evento, l'app mobile non chiama
Messaging.registerLiveActivitycorrettamente. È necessario correggere l’integrazione di SDK. - In Assurance, dall'elenco Eventi, filtrare o cercare gli eventi
-
accordion Convalidare i dettagli del token sul profilo -
Dal tuo Profilo, accedi alla scheda Attributi.
-
Individuare
liveActivityPushNotificationDetails. -
Verifica la configurazione del token:
code language-json { "liveActivityPushNotificationDetails": [ { "appId": "com.example.myapp", "token": "abc123def456...", "platform": "apns", "denylisted": false, "attributeType": "OrderTrackingAttributes", "identity": {} } ] }
Convalida ogni campo:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 Campo Requisito Problema comune appIdDeve corrispondere esattamente all’identificatore del bundle di iOS Mancata corrispondenza tra ID bundle di sviluppo/produzione attributeTypeDeve corrispondere esattamente al nome struct Swift ActivityAttributes(distinzione maiuscole/minuscole)Digita o nome struct errato platformDeve essere "apns"o"apnsSandbox"Valore piattaforma errato denylistedDeve essere falseToken contrassegnato come non valido o utente rifiutato tokenToken push APNs valido Token scaduto o app reinstallata Se un campo non è corretto: aggiorna l'app mobile, registrati di nuovo utilizzando
Messaging.registerLiveActivities, attendi 5-10 minuti, quindi ricontrolla.Se manca
liveActivityPushNotificationDetails: il token non è ancora stato sincronizzato. Attendere 5-10 minuti dopo la visualizzazione dell'eventoliveActivity.pushToStartin Assurance. -
Problemi di configurazione e payload di Campaign payload-issues
[Applicabile a casi di utilizzo sia unitari che broadcast]{class="badge positive"}
Il profilo esiste con token validi, ma l’attività Live non viene visualizzata. Ciò può essere causato da:
- Configurazione della superficie o del canale errata.
- Struttura del payload API errata.
content-stateeattributesnon corrispondono all'implementazione di iOSActivityAttributes.timestampnon aggiornato (critico per aggiornamento/fine).
Nota per i casi d'uso relativi alla trasmissione: la campagna deve essere Marketing attivato da API (non transazionale). Il payload utilizza audience invece dei singoli profile. Consulta questa sezione per la struttura del payload specifica per la trasmissione e la documentazione di Adobe Developer per informazioni sulle specifiche API complete.
Controlli preliminari
- La campagna è Transazionale attivato da API (unitaria) o Marketing attivato da API (broadcast) e l'opzione Alta velocità effettiva deve essere non abilitata in quanto incompatibile con l'attività Live.
- Assicurati che il profilo esista e che i token siano sincronizzati correttamente utilizzando lo scenario precedente.
Passaggi di debug
-
accordion Verificare la configurazione della superficie della campagna - In Journey Optimizer, apri Campaign e passa al menu Azioni.
- Controlla la configurazione attività Live. La superficie deve essere configurata per l'app iOS con un identificatore bundle che corrisponde a
appIdnelliveActivityPushNotificationDetailsdel tuo profilo. Ad esempio, se il tuo profilo ha"appId": "com.example.myapp", la superficie deve avere come destinazione la stessa app. - Verifica che il tipo di attività nella configurazione della campagna corrisponda esattamente al
attributeTypenelliveActivityPushNotificationDetailsdel tuo profilo. Ad esempio, se il tuo profilo ha"attributeType": "FoodDeliveryLiveActivityAttributes", la campagna deve specificare lo stesso tipo di attività.
-
accordion Convalidare la struttura del payload API Durante l’esecuzione della campagna tramite API, assicurati che il payload segua la struttura corretta.
Payload unitario:
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": { ... } } } } }] }Problemi comuni relativi al payload:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 Campo Requisito Problema comune attributes-typeDeve corrispondere al profilo e al tipo di attività della campagna attributeTypeMancata corrispondenza o errore di battitura campaignIdDeve corrispondere all’ID campagna attivato ID campagna errato o mancante content-availableDeve essere 1Valore mancante o errato eventDeve essere "start","update"o"end"Tipo di evento non valido timestampDeve sempre essere il tempo dell’epoca Unix corrente/più recente in secondi Utilizzo di timestamp vecchi/memorizzati nella cache userId/namespaceDeve corrispondere a un profilo esistente in AEP Identificatore profilo non corrispondente Critico: utilizza sempre la marca temporale più recente
- Il campo
timestampdeve always essere l'ora Unix corrente (in secondi) nel momento in cui viene effettuata ogni chiamata API. - Questo vale per tutti i tipi di evento:
start,updatee in particolareend. - Impatto su aggiornamenti/richieste di fine: l'utilizzo di un timestamp non aggiornato o precedente causerà errori nelle richieste di aggiornamento e di fine o verrà ignorato dal dispositivo.
- NOT riutilizza i timestamp da richieste precedenti o utilizza valori memorizzati nella cache.
- Genera una nuova marca temporale per ogni chiamata API.
Campi facoltativi (tutti i tipi di eventi):
requestId: identificatore univoco per il tracciamento (consigliato).alert: oggetto contitleebodyper la notifica (utile per richiamare l'attenzione sugli aggiornamenti).
Informazioni su
dismissal-date:- Campo facoltativo contenente il tempo dell’epoca Unix (secondi).
- Rilevante solo quando
event: "end". - Specifica quando l’attività Live deve essere rimossa automaticamente dal dispositivo.
- Se non viene fornito per l’evento finale, l’attività Live rimane visibile fino a quando l’utente non la chiude.
- Deve essere una marca temporale futura (successiva a
timestamp).
- Il campo
-
accordion Allineare il payload all’implementazione di iOS Assicurati che il payload API corrisponda all'implementazione
ActivityAttributesdell'app iOS. Il protocolloLiveActivityAttributesdi Adobe SDK estende iOSActivityAttributese richiede una proprietàliveActivityData.Convalida mapping:
-
ActivityAttributesdeve implementare il protocolloLiveActivityAttributesdi Adobe. Esempio: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 }Nota che il campo
liveActivityDataè richiesto da Adobe SDK e deve essere incluso in tutte le implementazioni. -
Il payload API deve rispecchiare la struttura di iOS:
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" } } }
Elenco di controllo convalida:
-
Includi tutti i campi
ContentStateincontent-state(obbligatorio per tutti i tipi di evento). -
Includi tutti i campi
LiveActivityAttributesinattributes(solo eventi di inizio), inclusi:liveActivityData(obbligatorio; in genere contieneliveActivityIDo un identificatore simile)- Tutti i campi personalizzati dalla struttura
-
Fai corrispondere esattamente i nomi dei campi (distinzione maiuscole/minuscole).
-
Tipi di dati corrispondenti (String, Int, Bool, oggetti nidificati).
-
Mantieni struttura oggetto nidificata.
Errori comuni:
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 Problema Impatto Correzione liveActivityDatamancante negli attributiL’attività live non verrà avviata Includi sempre l'oggetto liveActivityDatanell'evento di avvioCampo richiesto mancante nell’evento di avvio L’attività live non verrà avviata Aggiungi tutti i campi da iOS struct Nome campo errato (errore di battitura/maiuscole/minuscole) Campo ignorato o errore di analisi Corrispondenza esatta dei nomi dei campi di iOS Tipo di dati errato Errore di analisi Corrispondenza con i tipi di dati di iOS Oggetto nidificato mancante Dati incompleti Includi tutte le strutture nidificate Inclusione di attributesin aggiornamento/fineNon necessario, ma generalmente ignorato Includi solo attributesnell'evento di inizioTimestamp non aggiornato al momento dell’aggiornamento/della fine Aggiornamento/fine ignorato dal dispositivo Genera sempre una nuova marca temporale Per ulteriori esempi, consulta Crea pagina di attività Live.
-
-
accordion Test con Assurance Verifica dell’esecuzione dell’API e della consegna del payload tramite Assurance:
-
Apri la sessione di Assurance.
-
Esegui la chiamata API per attivare l'attività Live.
-
Nell'Elenco eventi, verificare che:
- Eventi di esecuzione della campagna.
- Eventi di consegna di attività live.
- Eventi di errore di convalida del payload.
-
Esamina i payload degli eventi per verificare:
- Il payload è stato elaborato correttamente.
- Non si sono verificati errori di convalida.
- L’attività live è stata inviata ai numeri APN.
-
Errori di consegna e analisi degli errori
[Applicabile a casi di utilizzo sia unitari che broadcast]{class="badge positive"}
In questo scenario, tutti i controlli precedenti sono stati superati:
- Il profilo esiste con token di push attività live validi
- Campaign è configurato correttamente con payload corretto
- I token di aggiornamento sono sincronizzati (solo per eventi di aggiornamento/fine, caso d'uso unitario)
Tuttavia, l’attività Live non viene ancora visualizzata, aggiornata o terminata come previsto. Il problema può verificarsi a livello di sistema di consegna Adobe o con il provider di servizi di notifica push (APN).
Nota per i casi di utilizzo relativi alla trasmissione: i report mostrano metriche per tutti i membri del pubblico. Alcuni profili possono avere esito positivo, mentre altri hanno esito negativo.
Controlli preliminari
-
Scenari precedenti convalidati:
- Il profilo esiste con
liveActivityPushNotificationDetailscorretto - La superficie della campagna e il tipo di attività sono corretti
- Il payload API è valido con la marca temporale corrente
- I token di aggiornamento sono sincronizzati (per eventi di aggiornamento/fine)
- Il profilo esiste con
-
Chiamata API confermata:
- La chiamata API ha restituito HTTP 200 (operazione riuscita)
- L’ID della campagna e i dettagli del destinatario sono corretti
Passaggi di debug
-
accordion Controllare i rapporti delle campagne -
Passa alla campagna attività live.
-
Fai clic sul pulsante Rapporti.
-
Selezionare Visualizza report completo.
-
Consulta le sezioni seguenti:
-
Controlla le metriche Statistiche di invio per comprendere il successo della consegna:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 Metrica Che cosa significa Cosa cercare Target Numero di profili qualificati per il pubblico Deve includere il profilo di test Invia Totale notifiche push tentate Deve corrispondere alle chiamate API Consegnate Distribuito correttamente ai dispositivi Confronta con invii per visualizzare il tasso di successo Inviare errori Notifiche push non inviate Numeri elevati Inviare esclusioni Profili esclusi da Adobe Journey Optimizer Controlla se il tuo profilo è stato escluso -
Se Invia errori > 0, controllare la tabella Motivi di errore per i codici di errore e i messaggi specifici:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 Errore comune Significato Risoluzione Token non valido Token push non valido o scaduto Registra nuovamente i token di attività live dal dispositivo Token non trovato Nessun token valido associato al profilo Verifica che liveActivityPushNotificationDetailsesistaAPN rifiutati Il servizio di notifica push di Apple ha rifiutato il push Verifica certificato APNs, ID bundle, ambiente Timeout di rete Impossibile raggiungere gli APN Problema transitorio; riprova la chiamata API -
Se Invia esclusioni > 0, controlla la tabella Motivi esclusi:
table 0-row-3 1-row-3 2-row-3 3-row-3 Esclusione comune Significato Risoluzione Profilo rifiutato L’utente ha rinunciato alle notifiche Verifica lo stato del consenso del profilo Token Token contrassegnato come non valido Registra di nuovo il token o controlla lo stato di inserisce nell'elenco Bloccati della Profilo non idoneo Il profilo non soddisfa i criteri della campagna Rivedere le regole del pubblico della campagna
-
Ulteriori informazioni sono disponibili nella pagina del report della campagna di attività live.
-
-
accordion Controllare gli eventi di feedback dei messaggi nel profilo -
Passa a Cliente > Profili in Journey Optimizer.
-
Cerca e apri il profilo.
-
Selezionare la scheda Eventi.
-
Filtra o cerca eventi con
eventType = "message.feedback". -
Cerca eventi di feedback corrispondenti al tipo
liveActivityIDeeventdella tua attività Live. -
Esamina i seguenti campi chiave:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 Campo Valori possibili Che cosa significa feedbackStatussent,error,denylistRisultato della consegna dal provider di servizi serviceProviderapns/apnsSandboxDeve essere un APN per le attività iOS Live errorCodeCodice numerico o nullCodice di errore specifico per APNs, se non riuscito errorMessageDescrizione errore o nullMessaggio di errore leggibile -
Se
feedbackStatus: "error":- Controlla
errorCodeeerrorMessageper errori APN specifici - Gli errori APN comuni includono token scaduto, certificato non valido, ID bundle errato
- Controlla
-
Se non è stato trovato alcun evento di feedback:
- È possibile che la notifica push non sia stata tentata
- Verifica se il profilo è stato escluso nei Rapporti di Campaign come descritto nel passaggio 1 precedente.
-
-
accordion Verificare la consegna delle attività live ai numeri APN in Assurance -
Apri la sessione Assurance; deve essere attiva durante la chiamata API.
-
Esegui la chiamata API (inizio, aggiornamento o fine).
-
Nell'Elenco eventi, cerca gli eventi di consegna delle attività live.
-
Cerca gli eventi relativi alla consegna push APN.
-
Controllare la presenza dei seguenti indicatori:
- Invia la richiesta al servizio APN: conferma l'invio del messaggio push ai server di Apple da parte di Adobe
- Risposta APNs: indica se APNs ha accettato o rifiutato il messaggio push
- Stato consegna: indicazione di esito positivo o negativo
-
Se vengono rilevati problemi, consulta i seguenti problemi comuni relativi alla consegna di APN:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 Problema Sintomo in Assurance Risoluzione Certificato APNs scaduto Errore di autenticazione Rinnovare e caricare un nuovo certificato APN Ambiente errato (sviluppo e produzione) Errore di mancata corrispondenza del token Assicurati che il certificato corrisponda al tipo di build dell’app Mancata corrispondenza ID bundle Identificatore bundle non valido Verifica che l’ID del bundle di certificati corrisponda all’app Token scaduto Errore InvalidToken da APNs Registra nuovamente i token di attività live Limitazione di velocità Troppe richieste Ridurre la frequenza delle chiamate API
-
-
accordion Procedi a ulteriori controlli diagnostici -
Verifica le metriche del ciclo di vita delle attività live nel rapporto della campagna.
Nel rapporto della campagna, controlla la sezione Ciclo di vita attività in tempo reale:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 Metrica Cosa controllare Avvii remoti Deve mostrare il numero di avvii attivati da API Aggiornamenti Deve mostrare il conteggio degli eventi di aggiornamento Termina Deve mostrare il conteggio degli eventi finali Conteggio totali Volume evento attività live complessivo Se queste metriche sono pari a zero o non corrispondono alle chiamate API, si verifica un problema di consegna tra Adobe e APN.
-
Se Adobe mostra una consegna corretta ma il dispositivo non mostra l’attività Live:
- Controlla i registri del dispositivo iOS per verificare la presenza di errori di attività live.
- Verifica che l’app sia in primo piano o in background (non terminata).
- Conferma connettività di rete per il dispositivo.
- Esegui il test su più dispositivi per escludere problemi specifici del dispositivo.
- Verifica che la versione di iOS sia 16.1 o successiva.
-
-
accordion Escalation al supporto Adobe Se hai completato tutti i passaggi e il problema rimane non risolto, contatta l’Assistenza clienti Adobe con:
Informazioni richieste:
-
ID e nome della campagna
-
Spazio dei nomi e ID del profilo
liveActivityIDdal payload API
-
Marca temporale delle chiamate API
-
Schermate di:
- Rapporti sulle campagne (statistiche di invio, motivi di errore, motivi di esclusione)
- Eventi profilo (
liveActivity.updateToken,message.feedback) - Sessione Assurance che mostra gli eventi di consegna
-
Payload completo della richiesta API
-
Dettagli del certificato APNs (scadenza, ambiente, ID bundle)
-
Scenari unitari specifici
Token di aggiornamento attività live non sincronizzato token-not-synced
L'attività Live viene avviata correttamente sul dispositivo, ma le successive chiamate API update o end (che restituiscono HTTP 200) non riescono ad aggiornare o chiudere l'attività Live. Ciò si verifica quando il token di aggiornamento dell'attività Live non è sincronizzato correttamente nel sistema di Adobe.
Informazioni sui token di aggiornamento
Quando un’attività Live viene avviata su un dispositivo, iOS genera un token di aggiornamento univoco per tale istanza di attività Live specifica. Questo token è necessario per:
- Invio di aggiornamenti all’attività Live
- Terminazione dell’attività Live in remoto
Ogni istanza di attività Live ha un proprio token di aggiornamento univoco. Adobe necessita di questo token per distribuire eventi di aggiornamento e fine.
Comportamento previsto
Affinché gli eventi di aggiornamento e fine funzionino, si devono verificare i seguenti eventi:
- L’attività live viene avviata correttamente sul dispositivo.
- Il dispositivo genera un token di aggiornamento per l’istanza dell’attività Live.
- Mobile SDK acquisisce e invia il token di aggiornamento ad Adobe.
- Il token di aggiornamento viene sincronizzato e memorizzato nel sistema di Adobe.
- Le successive chiamate API per l’aggiornamento o la fine utilizzano questo token per la consegna.
Controlli preliminari:
- Autorizzazione utente: la prima volta che un'attività Live viene avviata su un dispositivo, iOS visualizza un prompt di sistema: "Consenti a [Nome app] di fornire aggiornamenti dell'attività Live?" L'utente deve toccare "Consenti" per generare e sincronizzare i token di aggiornamento. Se l’utente tocca "Non consentire", non vengono creati token di aggiornamento e le richieste di aggiornamento/fine non riusciranno. Si tratta di un’autorizzazione una tantum per app.
- Convalida profilo e campagna: completa i controlli dello scenario 1 e dello scenario 2 per verificare che la configurazione del profilo, dei token e della campagna sia corretta.
Passaggi di debug
-
accordion Verificare la sincronizzazione del token di aggiornamento in Assurance -
Apri la sessione di Assurance.
-
Assicurati che la sessione sia stata attiva quando l’attività Live è stata avviata sul dispositivo.
-
Filtra o cerca eventi con
eventType = "liveActivity.updateToken". -
Seleziona l’evento e controlla il payload:
- Verificare che il campo
tokencontenga una stringa token di aggiornamento valida. - Controlla che
liveActivityIDcorrisponda alla tua istanza di attività Live. - Conferma che
activityTypecorrisponda al tuoattributes-type.
- Verificare che il campo
-
Se l’evento non viene trovato:
- Il token di aggiornamento non è stato generato o acquisito da SDK.
- Controlla se l'utente ha concesso le autorizzazioni per l'attività live.
- Verifica che l'attività Live sia stata effettivamente avviata sul dispositivo.
- Verifica che il SDK mobile sia correttamente integrato per acquisire i token di aggiornamento.
-
Se viene trovato un evento, procedere al passaggio 2.
-
-
accordion Verificare il token di aggiornamento negli eventi del profilo -
Passa a Cliente > Profili in Journey Optimizer.
-
Cerca e apri il profilo.
-
Selezionare la scheda Eventi.
-
Cerca
liveActivity.updateTokeneventi. -
Controlla i dettagli dell’evento:
- Verifica che il timestamp sia recente (corrisponde all’avvio dell’attività Live).
- Verificare che
tokeneliveActivityIDsiano presenti. - Verificare che
activityTypesia corretto.
-
Se l’evento non viene trovato nel profilo:
- L’evento del token di aggiornamento potrebbe non essere ancora stato acquisito nel profilo.
- Attendere 5-10 minuti e ricontrollare.
- Se manca ancora dopo 15 minuti, potrebbe esserci un problema di acquisizione dell’evento.
-
Se viene trovato un evento, il token di aggiornamento è stato sincronizzato. Procedere al passaggio 3.
-
-
accordion Controllare gli eventi di consegna delle attività live in Assurance -
Nella sessione di Assurance, esegui una chiamata API di aggiornamento o di fine.
-
Nell'Elenco eventi, cerca eventi di consegna attività live (eventi push APN).
-
Verifica la presenza di eventi che indicano:
- Notifica push inviata ai numeri APN.
- Risposta da APN (riuscita o errore).
- Conferma della consegna.
-
Se è presente un evento di consegna APN: è stata inviata la notifica push. Se il dispositivo non viene ancora aggiornato, il problema potrebbe essere sul lato dispositivo (app che non gestisce il push, problemi di rete, ecc.).
-
Se manca l’evento di consegna APN: il token di aggiornamento potrebbe non essere memorizzato correttamente o associato al profilo nel sistema di Adobe.
-
Se sono presenti eventi di errore: controlla i dettagli dell’errore per specifici motivi di errore (token non valido, APN rifiutati, ecc.).
-
Scenari specifici per la trasmissione
Problemi di configurazione e payload della campagna di trasmissione broadcast-config
Questa sezione descrive gli scenari di risoluzione dei problemi specifici per le attività di trasmissione Live, che richiedono approcci di debug diversi rispetto alle campagne unitarie.
Quando i profili hanno token validi ma l’attività Live non viene visualizzata, aggiornata o si comporta come previsto per i membri del pubblico, il problema in genere deriva da uno dei seguenti elementi:
- La campagna non è configurata come marketing attivato da API.
- Il payload API utilizza una struttura di trasmissione non corretta (mancano
audienceoinput-push-channel). - I campi
content-stateeattributesnon corrispondono all'implementazione di iOSActivityAttributes. input-push-channelnon è stato creato correttamente nel portale per sviluppatori di Apple.
Questo scenario di risoluzione dei problemi si applica a tutti gli eventi di attività Live nelle campagne di trasmissione: start, update e end.
Controlli preliminari:
-
Tipo di campagna:
- Verifica che la campagna sia creata come Marketing attivato da API (necessario per campagne broadcast/basate su pubblico).
- Conferma che un pubblico sia definito nella configurazione della campagna.
-
Convalida profilo e token: prova più profili dal pubblico per verificare che dispongano di
liveActivityPushNotificationDetailsvalidi. Per i passaggi di convalida dettagliati, segui Scenario 1.
Passaggi di debug
-
accordion Verificare la configurazione del pubblico della campagna -
Apri la campagna di marketing con attivazione API in Journey Optimizer.
-
Passa alla sezione Pubblico e verifica:
- Per la campagna viene selezionato un pubblico.
- L’ID del pubblico corrisponde a quello utilizzato nel payload API.
- Il pubblico contiene i profili previsti.
-
Passa alla sezione Azioni.
-
Controlla la configurazione attività in tempo reale:
- La configurazione deve essere impostata per l’app iOS con l’identificatore del bundle corretto.
- Il tipo di attività deve corrispondere a
attributes-typenel payload API. Ad esempio, se il payload contiene"attributes-type": "AirplaneTrackingAttributes", la campagna deve specificare lo stesso tipo di attività.
-
-
accordion Convalidare la struttura del payload dell’API di trasmissione La struttura del payload della trasmissione è diversa dalle campagne unitarie. Verifica che il payload segua il formato di trasmissione corretto.
Campi obbligatori per la trasmissione:
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": "update", "attributes-type": "AirplaneTrackingAttributes", "content-state": { ... }, "attributes": { ... } } } } }Problemi comuni relativi al payload:
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 Campo Requisito Problema comune campaignIdDeve corrispondere all’ID campagna di marketing attivato ID campagna errato o utilizzo di una campagna transazionale audience.idDeve corrispondere a un pubblico esistente in AEP L’ID o il pubblico errato non esiste input-push-channelObbligatorio per la trasmissione: identificatore univoco per questa istanza di trasmissione Manca o non corrisponde a channelIDinliveActivityDatatimestampDeve sempre essere il tempo dell’epoca Unix corrente/più recente in secondi Utilizzo di timestamp vecchi/memorizzati nella cache eventDeve essere "start","update"o"end"Tipo di evento non valido attributes-typeDeve corrispondere al tipo di attività della campagna Mancata corrispondenza o errore di battitura content-availableDeve essere 1Valore mancante o errato Campi critici specifici per la trasmissione:
-
input-push-channel- Obbligatorio per tutte le attività di trasmissione in diretta.
- Funge da identificatore univoco per questa istanza di broadcast specifica.
- Tutti i profili del pubblico ricevono attività live collegate a questo canale.
- Deve corrispondere a
channelIDinliveActivityData.channelID(vedere il passaggio 3). - Deve essere creato per
appIDsul portale Apple Developer dal client. - Solo i canali creati per l'elemento
appIDspecifico possono essere utilizzati per trasmettere le attività Live su tale app.
-
audience.id- Deve fare riferimento a un segmento di pubblico valido creato in Adobe Experience Platform.
- Tutti i profili in questo pubblico sono destinati all’attività Live.
- Il pubblico deve essere attivato e contenere profili con
liveActivityPushNotificationDetailsvalidi.
Usa sempre la marca temporale più recente:
- Il campo
timestampdeve essere sempre l'ora Unix corrente (in secondi) per ogni chiamata API. - Questo requisito si applica a tutti i tipi di evento:
start,updateeend. - Critico per aggiornamenti/fine: l'utilizzo di marche temporali non aggiornate causa errori nelle richieste di aggiornamento e fine.
- Genera una nuova marca temporale per ogni chiamata API di trasmissione.
Campi facoltativi:
dismissal-date: tempo epoca Unix per il licenziamento automatico (pertinente solo per eventiend)alert: oggetto contitleebodyper la notifica
Per informazioni sulle specifiche API complete, consulta la documentazione API di messaggistica Adobe Journey Optimizer.
-
-
accordion Allinea lo stato dei contenuti, gli attributi e il canale di input-push con l’implementazione di iOS Assicurati che i campi del payload corrispondano all'implementazione
ActivityAttributesdell'app iOS e cheinput-push-channelcorrisponda achannelIDinliveActivityData.- Rivedi la definizione degli Attributi di attività di iOS.
Lo struct
ActivityAttributespersonalizzato deve implementare il protocolloLiveActivityAttributesdi Adobe: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 }- Mappa i campi di iOS sul payload API della trasmissione.
Per tutti gli eventi, includere
attributesecontent-state: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==" } } } }Critico:
input-push-channeldeve corrispondere achannelID- Il valore
input-push-channelnella radice diapsdeve corrispondere esattamente achannelIDinliveActivityData. - Nell'esempio precedente, entrambi i valori sono
"FEt0NgvLEfEAAOqA6AXdIQ==". - Questa corrispondenza collega l’istanza di trasmissione ai dati dell’attività Live.
- Una mancata corrispondenza causa errori di consegna.
Punti di convalida chiave:
- Includi tutti i campi
ContentStateincontent-stateper tutti i tipi di evento. - Includi tutti i campi
LiveActivityAttributespersonalizzati inattributessolo per gli eventi di inizio. - Per gli eventi di inizio,
liveActivityData.channelIDdeve corrispondere ainput-push-channel. - I nomi dei campi fanno distinzione tra maiuscole e minuscole e devono corrispondere esattamente.
- I tipi di dati devono corrispondere (String, Int, Bool, oggetti nidificati, ecc.).
- Per gli eventi di aggiornamento/fine, utilizzare lo stesso
input-push-channeldell'evento iniziale originale.
Errori comuni:
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 Problema Impatto Correzione Manca input-push-channelLa trasmissione non funzionerà Aggiungi un ID canale univoco per ogni trasmissione input-push-channelnon corrisponde achannelIDL’attività live non verrà avviata Assicurati che entrambi i valori siano identici input-push-channeldiverso per aggiornamento/fineUpdate/end non raggiungerà le attività live Usa lo stesso ID canale per tutto il ciclo di vita Manca liveActivityData.channelIDL'attività live non verrà collegata alla trasmissione Includi channelIDnegli attributi per l'evento di inizioCampo richiesto mancante nell’evento di avvio L’attività live non verrà avviata Aggiungi tutti i campi da iOS struct Nome campo errato (errore di battitura/maiuscole/minuscole) Campo ignorato o errore di analisi Corrispondenza esatta dei nomi dei campi di iOS Timestamp non aggiornato al momento dell’aggiornamento/della fine Aggiornamento/fine ignorato dai dispositivi Genera sempre una nuova marca temporale -
accordion Test con Assurance Verifica dell’esecuzione dell’API e della consegna del payload tramite Assurance:
-
Apri la sessione di Assurance su un dispositivo di prova che fa parte del pubblico.
-
Esegui la chiamata API di trasmissione.
-
Nell'Elenco eventi cercare:
- Eventi di esecuzione della campagna.
- Eventi di consegna di attività live.
- Eventi di errore che indicano errori di convalida del payload.
-
Ispeziona i payload degli eventi per confermare:
- Il payload è stato elaborato correttamente.
input-push-channelè presente.- Non si sono verificati errori di convalida.
- Le attività live sono state inviate ai numeri APN per i membri del pubblico.
-
Profilo non presente nello snapshot del pubblico o non aggiornato
In questo scenario, la campagna e il payload sono configurati correttamente, ma profili specifici non ricevono l’attività Live. Ciò si verifica in genere quando:
- Il profilo non è un membro del pubblico collegato alla campagna.
- Il pubblico è un pubblico batch e contiene un’istantanea obsoleta dei dati di profilo.
- I token di attività Live del profilo sono stati aggiunti di recente, ma non sono ancora stati riflessi nello snapshot del pubblico.
Questo scenario di risoluzione dei problemi si applica in modo specifico alle campagne di trasmissione che utilizzano un targeting basato sul pubblico.
Informazioni sulla valutazione del pubblico
Adobe Experience Platform utilizza diversi metodi di valutazione del pubblico che determinano quando gli aggiornamenti del profilo vengono rispecchiati nel pubblico:
Controlli preliminari:
-
Convalida campagna e payload:
- Completa i controlli in questo scenario per verificare che la campagna e il payload siano corretti.
- Verifica che
audience.idnel payload API corrisponda alla configurazione della campagna.
-
Profilo esistente: verificare che il profilo esista in AEP con
liveActivityPushNotificationDetailsvalido.
Passaggi di debug
-
accordion Verifica che il profilo sia nel pubblico In primo luogo, conferma se il profilo che deve ricevere l’attività Live fa effettivamente parte del pubblico.
-
Passa a Tipi di pubblico in Adobe Experience Platform.
-
Cerca e apri il pubblico utilizzando
audience.iddella tua campagna. -
Fai clic su Sfoglia o Profili campione per visualizzare i membri del pubblico.
-
Cerca il profilo di test utilizzando lo spazio dei nomi e il valore di identità.
-
Se il profilo non è stato trovato nel pubblico:
- Il profilo non soddisfa i criteri di pubblico o le regole dei segmenti.
- Rivedi la definizione del pubblico per comprendere i requisiti di iscrizione.
- Aggiorna i dati del profilo o la definizione del pubblico per includere il profilo.
- Attendi il completamento della valutazione del pubblico (vedi il passaggio 2).
-
Se il profilo viene trovato nel pubblico: Procedi al passaggio 2 per verificare l'aggiornamento dei dati.
-
-
accordion Controllare il tipo e la pianificazione di valutazione del pubblico Identifica se il pubblico utilizza la valutazione in batch o in streaming, in quanto questa determina l’aggiornamento dei dati.
-
Nella pagina Dettagli pubblico, controlla il Metodo di valutazione:
- Batch: valutato una volta al giorno secondo una pianificazione.
- Streaming: valutato in tempo reale quando si verificano aggiornamenti del profilo.
- Edge: valutato in tempo reale nelle posizioni edge.
Segui i passaggi appropriati per la risoluzione dei problemi in base al metodo di valutazione:
Se il pubblico utilizza la valutazione batch:
-
Comprendere le limitazioni del pubblico batch:
- I tipi di pubblico in batch vengono valutati una volta al giorno (in genere durante la notte).
- Lo snapshot del pubblico può risalire a un massimo di 24 ore.
- Se un profilo ha registrato di recente token di attività Live, è possibile che tali token non siano presenti nell’istantanea corrente.
- Gli aggiornamenti ai profili verranno rispecchiati solo nella successiva valutazione batch.
-
Controlla quando si è verificata l'ultima valutazione:
- Nei dettagli del pubblico, cerca il timestamp Ultima valutazione.
- Se
liveActivityPushNotificationDetailsdel profilo è stato aggiornato dopo questa marca temporale, il pubblico contiene dati non aggiornati.
-
Risolvi dati non aggiornati:
-
Opzione 1: attesa della valutazione batch pianificata
- La successiva valutazione batch includerà i dati di profilo aggiornati.
- Questo accade automaticamente una volta al giorno.
- Consigliato per scenari non urgenti.
-
Opzione 2: attivare la valutazione del pubblico su richiesta
- Passa a Tipi di pubblico in AEP.
- Seleziona il pubblico.
- Fai clic su Valuta ora o Attiva su richiesta.
- Attendi il completamento della valutazione (l’operazione può richiedere da diversi minuti ad ore, a seconda delle dimensioni del pubblico).
- Verifica che il profilo disponga ora di dati aggiornati nello snapshot del pubblico.
- Riprova la chiamata API di trasmissione.
-
Se il pubblico utilizza la valutazione in streaming:
-
Comprendere il comportamento del pubblico in streaming:
- I tipi di pubblico in streaming valutano in tempo reale quando si verificano aggiornamenti del profilo.
- Nuovi profili: dopo la creazione, puoi qualificarti se soddisfano i criteri del segmento.
- Profili aggiornati: dopo l'aggiornamento è possibile qualificarsi o annullare la qualifica.
- Profili non modificati esistenti: non vengono rivalutati a meno che non si verifichi un aggiornamento.
-
Identificare il problema:
- Se un profilo esiste già e soddisfa i criteri del segmento, ma non si verifica alcun aggiornamento su tale profilo, potrebbe non essere aggiunto a un pubblico in streaming appena creato.
- Il profilo deve ricevere un aggiornamento (qualsiasi modifica all’attributo) per attivare la rivalutazione.
-
Risolvi il problema:
-
Per i nuovi profili: sono qualificati automaticamente se i criteri sono soddisfatti. Non è necessaria alcuna azione.
-
Per i profili esistenti senza aggiornamenti recenti:
- Effettua un aggiornamento minore al profilo (ad esempio, aggiorna un campo timestamp).
- Questo attiva la valutazione in streaming e aggiunge il profilo al pubblico.
- Alternativa: utilizza un pubblico batch o Edge per i profili esistenti.
-
-