Con i recenti progressi nel cloud computing, nell'apprendimento automatico e nell'elaborazione del linguaggio naturale, gli assistenti digitali stanno diventando parte della vita quotidiana. I consumatori cominciano a parlare con i loro dispositivi e si aspettano che capiscano e rispondano in modo simile all'uomo. Man mano che queste piattaforme si rafforzano, i marchi possono presentare i loro servizi ai consumatori in questi stessi modi realistici e realistici. Ad esempio, i consumatori possono chiedere cose come:
Questa pagina fornisce una panoramica del modo migliore di utilizzare Adobe Analytics per misurare e ottimizzare questi tipi di esperienze.
La maggior parte degli assistenti digitali segue oggi un'architettura di alto livello simile:
Una delle posizioni migliori per implementare Analytics è nell’app. L’app riceve l’intento e i dettagli dall’assistente digitale, quindi l’app determina come rispondere.
Ci sono due volte durante una richiesta che possono essere utili per inviare dati ad Adobe Analytics.
Se sei interessato a registrare l’evento con il cliente per un’ottimizzazione futura, invia una richiesta ad Adobe Analytics dopo la restituzione della risposta. Il contesto completo della richiesta e della risposta del sistema.
Per alcuni assistenti digitali, ottieni una notifica quando qualcuno installa la capacità, specialmente quando si tratta di autenticazione. Adobe consiglia di inviare un evento Install impostando la variabile di dati di contesto a.InstallEvent=1
. Questa funzione non è disponibile per tutti gli assistenti digitali, ma è utile quando è presente per guardare la conservazione. Il codice di esempio seguente invia i valori Install event, Install Date e AppID nelle variabili di dati di contesto.
GET
/b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.InstallEvent=1&c.a.InstallDate=2017-04-24&c.a.AppID=Spoofify1.0&c.OSType=Alexa&pageName=install
HTTP/1.1
Host:
<xref href="https://example.data.adobedc.net">
example.data.adobedc.net
Cache-Control: no-cache
</xref href="https:>
È probabile che la tua organizzazione desideri app per più piattaforme. La best practice prevede l’inclusione di un ID app a ogni richiesta. Questa variabile può essere impostata nel a.AppID
variabile di dati di contesto. Seguire il formato di [AppName] [BundleVersion]
, ad esempio, BigMac per Alexa 1.2:
GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.AppID=Spoofify1.0&c.a.Launches=1&c.Product=AmazonEcho&c.OSType=Alexa&pageName=install HTTP/1.1
Host: example.data.adobedc.net
Cache-Control: no-cache
GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.AppID=Spoofify2.0&c.a.Launches=1&c.Product=GoogleHome&c.OSType=Android&pageName=install HTTP/1.1
Host: example.data.adobedc.net
Cache-Control: no-cache
Adobe Analytics utilizza Servizio Adobe Experience Cloud Identity legare le interazioni nel tempo alla stessa persona. La maggior parte degli assistenti digitali restituisce un userID
che puoi utilizzare per mantenere l’attività per utenti diversi. Nella maggior parte dei casi, questo valore è quello che puoi passare come identificatore univoco. Alcune piattaforme restituiscono un identificatore più lungo dei 100 caratteri consentiti. In questi casi, l’Adobe consiglia di aggiungere l’identificatore univoco a un valore a lunghezza fissa utilizzando un algoritmo di hash standard, ad esempio MD5 o Sha1.
L'utilizzo del servizio ID fornisce il massimo valore quando mappi ECID su diversi dispositivi (ad esempio, da web a digitale). Se la tua app è un’app mobile, usa gli SDK di Experience Platform così com’è e invia l’ID utente utilizzando setCustomerID
metodo . Tuttavia, se la tua app è un servizio, usa l’ID utente fornito dal servizio come ECID, nonché impostalo in setCustomerID
.
GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&pageName=[intent] HTTP/1.1
Host: example.data.adobedc.net
Cache-Control: no-cache
Poiché gli assistenti digitali sono conversazionali, spesso hanno il concetto di sessione. Ad esempio:
Consumatore: "Ok Google, chiama un taxi per me"
Google:: "Certo, a che ora vuoi?"
Consumatore: "20:30"
Google: "Suona bene, il conducente sarà alle 8:30pm"
Le sessioni sono importanti per mantenere il contesto e aiutare a raccogliere più dettagli per rendere più naturale l'assistente digitale. Quando si implementa Analytics su una conversazione, è necessario eseguire due operazioni all’avvio di una nuova sessione:
a.LaunchEvent=1
.GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.LaunchEvent=1&c.Intent=[intent]&pageName=[intent] HTTP/1.1
Host: example.data.adobedc.net
Cache-Control: no-cache
Ciascuno degli assistenti digitali dispone di algoritmi che rilevano gli intenti e quindi trasmettono l’intento all’app in modo che l’app sappia cosa fare. Questi intenti sono una breve rappresentazione della richiesta.
Per esempio, se un utente dice, "Siri, mandi John $20 per cena ieri sera dalla mia app bancaria", l'intento potrebbe essere qualcosa come sendMoney.
Inviando ciascuna di queste richieste come eVar, puoi eseguire rapporti di percorsi su ciascuno degli intenti per le app conversazionali. Assicurati che la tua app possa gestire le richieste anche senza un intento. L'Adobe consiglia di passare 'Nessun intento specificato' alla variabile di dati di contesto intento, anziché omettere la variabile .
GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.AppID=Penmo1.0&c.a.LaunchEvent=1&c.Intent=SendPayment&pageName=[intent] HTTP/1.1
Host: example.sc.adobedc.net
Cache-Control: no-cache
oppure
GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.AppID=Penmo1.0&c.a.LaunchEvent=1&c.Intent=No_Intent_Specified&pageName=[intent] HTTP/1.1
Host: example.data.adobedc.net
Cache-Control: no-cache
Oltre all’intento, gli assistenti digitali spesso dispongono di un set di coppie chiave/valore che forniscono dettagli sull’intento. Possono essere chiamati slot, entità o parametri. Ad esempio, "Siri, Invia John $20 per cena ieri sera dalla mia app bancaria" avrebbe i seguenti parametri:
L’app in genere contiene un numero finito di questi valori. Per tenere traccia di questi valori in Analytics, inviali nelle variabili di dati di contesto e quindi mappare ciascuno dei parametri su un eVar.
GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.AppID=Penmo1.0=1&c.a.LaunchEvent=1&c.Intent=SendPayment&c.Amount=20.00&c.Reason=Dinner&c.ReceivingPerson=John&c.Intent=SendPayment&pageName=[intent] HTTP/1.1
Host: example.data.adobedc.net
Cache-Control: no-cache
A volte l’assistente digitale fornisce all’app input che non sa come gestire. Per esempio, "Siri, Invia a John 20 sacchi di carbone per cena ieri sera dalla mia app bancaria"
Quando si verifica questa situazione, chiedi chiarimenti alla tua app. Inoltre, invia i dati ad Adobe che indica che l’app ha uno stato di errore insieme a un eVar che specifica quale tipo di errore si è verificato. Assicurati di includere gli errori in cui gli input non sono corretti ed errori in cui l'app ha avuto un problema.
GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.AppID=Penmo1.0&c.Error=1&c.ErrorName=InvalidCurrency&pageName=[intent] HTTP/1.1
Host: example.data.adobedc.net
Cache-Control: no-cache
Anche se la maggior parte delle piattaforme non espongono il dispositivo a cui l'utente ha parlato, espongono le funzionalità del dispositivo. Ad esempio, Audio, Schermo, Video, ecc. Queste informazioni sono utili perché definiscono i tipi di contenuto che possono essere utilizzati durante l’interazione con gli utenti. Quando si misurano le funzionalità dei dispositivi, è consigliabile concatenarle (in ordine alfabetico).
Esempio: ":Audio:Camera:Screen:Video:"
I due punti iniziali e finali sono utili per la creazione dei segmenti. Ad esempio, mostra tutti gli hit con :Audio:
funzionalità.
Persona | Risposta del dispositivo | Azione/Intento | richiesta GET |
---|---|---|---|
Installa Spoofide | Nessuna risposta | Installa | GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.InstallEvent=1&c.a.InstallDate=[currentDate]&c.a.AppID=Spoofify1.0&c.OSType=Alexa&c.Intent=Install&pageName=Install HTTP/1.1 Host: example.data.adobedc.net Cache-Control: no-cache |
Riproduci Spoofide | "Ok, giocare a Spoofify" | Play | GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.AppID=Spoofify1.0&c.a.LaunchEvent=1&c.Intent=Play&pageName=PlayApp HTTP/1.1 Host: example.data.adobedc.net Cache-Control: no-cache |
Cambia canzone | "Ok, che canzone vuoi?" | ChangeSong | GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.AppID=Spoofify1.0&c.Intent=ChangeSong&pageName= Ask%20For%20Song HTTP/1.1 Host: example.data.adobedc.net Cache-Control: no-cache |
Gioca "Baby Shark" | "Ok, giocando a 'Baby Shark' di PinkFong" | ChangeSong | GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.AppID=Spoofify1.0&c.Intent=ChangeSong&pageName=Action%20Play%20Song&c.SongID=[012345] HTTP/1.1 Host: example.data.adobedc.net Cache-Control: no-cache |
Modificare la playlist | "Ok, quale playlist vuoi?" | ChangePlaylist | GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.AppID=Spoofify1.0&c.Intent=ChangePlaylist&pageName=Ask%20For%20Playlist HTTP/1.1 Host: example.data.adobedc.net Cache-Control: no-cache |
Riproduci la mia playlist di brani preferiti | "Ok, riproduzione della playlist dei tuoi brani preferiti" | ChangePlaylist | GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.AppID=Spoofify1.0&c.Intent=ChangePlaylist&pageName=Action%20Play%20Playlist&c.Playlist=My%20Favorite%20Songs HTTP/1.1 Host: example.data.adobedc.net Cache-Control: no-cache |
Disattiva musica | Nessuna risposta, la musica si spegne | Disattivato | GET /b/ss/examplersid1,examplersid2/1?vid=[UserID]&c.a.AppID=Spoofify1.0&c.Intent=Off&pageName=Music%20Off HTTP/1.1 Host: example.data.adobedc.net Cache-Control: no-cache |