Riferimento API client nativo Amazon FireOS amazon-fireos-native-client-api-reference
Introduzione intro
Questo documento descrive i metodi e i callback esposti dall’SDK Amazon FireOS per l’autenticazione Adobe Pass, supportati con l’autenticazione Adobe Pass. I metodi e le funzioni di callback qui descritti sono definiti nei file di intestazione AccessEnabler.h e EntitlementDelegate.h.
Fare riferimento a https://tve.zendesk.com/hc/en-us/articles/115005561623-fire-TV-Native-AccessEnabler-Library per l'SDK AccessEnabler di Amazon FireOS più recente.
- Le API pubbliche sono disponibili e completamente testate su tutti i tipi di client supportati. Per qualsiasi funzione pubblica, ci assicuriamo che ogni tipo di client abbia una versione corrispondente dei metodi associati.
- Le API pubbliche devono essere il più stabili possibile, per supportare la compatibilità con le versioni precedenti e garantire che le integrazioni dei partner non si interrompano. Tuttavia, per API non pubbliche, ci riserviamo il diritto di modificare la loro firma in qualsiasi momento futuro. Se incontri un flusso particolare che non può essere supportato tramite una combinazione delle chiamate API di autenticazione di Adobe Pass pubbliche correnti, l’approccio migliore è quello di farcelo sapere. Tenendo conto delle tue esigenze, possiamo modificare le API pubbliche e fornire una soluzione stabile.
API SDK di Amazon FireOS api
- getInstance
- setOptions
- setRequestor
- setRequestorComplete
- checkAuthentication
- getAuthentication
- displayProviderDialog
- setSelectedProvider
- navigateToUrl
- getAuthenticationToken
- setAuthenticationStatus
- checkPreauthorizedResources
- risorse preautorizzate
- checkAuthorization
- getAuthorization
- setToken
- tokenRequestFailed
- logout
- getSelectedProvider
- selectedProvider
- getMetadata
- setMetadataStatus
- getVersion
Factory.getInstance getInstance
Descrizione: crea istanze dell'oggetto Access Enabler. Deve essere presente una singola istanza di Access Enabler per ogni istanza dell'applicazione.
public static AccessEnabler getInstance(Context appContext, String softwareStatement, String redirectUrl)<br> throws AccessEnablerException
public static AccessEnabler getInstance(Context appContext, String env_url, String softwareStatement, String redirectUrl) throws AccessEnablerException
Disponibilità: v3.0+
Parametri:
- appContext: contesto dell'applicazione Amazon Fire OS.
- softwareStatement
- redirectUrl : in caso di FireOS, il valore del parametro verrà ignorato e impostato sul valore predefinito : adobepass://android.app
- env_url: per eseguire test utilizzando l’ambiente di staging Adobe, env_url può essere impostato su "sp.auth-staging.adobe.com"
Obsoleto:
public static AccessEnabler getInstance(Context appContext)
throws AccessEnablerException
setRequestor setRequestor
Descrizione: stabilisce l'identità del programmatore. A ciascun programmatore viene assegnato un ID univoco al momento della registrazione all’Adobe per il sistema di autenticazione di Adobe Pass. Questa impostazione deve essere eseguita una sola volta durante il ciclo di vita dell'applicazione.
La risposta del server contiene un elenco di MVPD insieme ad alcune informazioni di configurazione collegate all'identità del programmatore. La risposta del server viene utilizzata internamente dal codice di Access Enabler. Solo lo stato dell’operazione (ovvero SUCCESS/FAIL) viene presentato all’applicazione tramite il callback setRequestorComplete().
Se il parametro urls non viene utilizzato, la chiamata di rete risultante esegue il targeting dell'URL del provider di servizi predefinito: l'ambiente Adobe Release/Production.
Se viene fornito un valore per il parametro urls, la chiamata di rete risultante eseguirà il targeting di tutti gli URL forniti nel parametro urls. Tutte le richieste di configurazione vengono attivate contemporaneamente in thread separati. Il primo responder ha la precedenza quando si compila l’elenco degli MVPD. Per ogni MVPD nell'elenco, Access Enabler ricorda l'URL del provider di servizi associato. Tutte le richieste di adesione successive vengono indirizzate all’URL associato al provider di servizi che è stato associato all’MVPD di destinazione durante la fase di configurazione.
public void setRequestor(String requestorId)
Disponibilità: v3.0+
public void setRequestor(String requestorId, ArrayList<String> urls)
Disponibilità: v3.0+
Parametri:
- requestorID: ID univoco associato al programmatore. Trasmetti l’ID univoco assegnato da Adobe al sito quando ti sei registrato per la prima volta con il servizio di autenticazione di Adobe Pass.
- url: parametro facoltativo; per impostazione predefinita, viene utilizzato il provider di servizi Adobe (http://sp.auth.adobe.com/). Questo array consente di specificare gli endpoint per i servizi di autenticazione e autorizzazione forniti da Adobe (a scopo di debug possono essere utilizzate istanze diverse). È possibile utilizzare questa opzione per specificare più istanze del provider di servizi di autenticazione di Adobe Pass. In tal caso, l'elenco MVPD è composto dagli endpoint di tutti i fornitori di servizi. Ogni MVPD è associato al provider di servizi più veloce, ovvero il provider che ha risposto per primo e che supporta tale MVPD.
Callback attivati: setRequestorComplete()
Obsoleto:
public void setRequestor(String requestorId, String signedRequestorId)
public void setRequestor(String requestorId, String signedRequestorId, ArrayList<String> urls)
setRequestorComplete setRequestorComplete
Descrizione: richiamata attivata da Access Enabler che informa l'applicazione che la fase di configurazione è stata completata. Questo è un segnale che l’app può iniziare a emettere richieste di adesione. L’applicazione non può inviare richieste di adesione fino al completamento della fase di configurazione.
public void setRequestorComplete(int status)
Disponibilità: v1.0+
Parametri:
-
status: può assumere uno dei seguenti valori:
AccessEnabler.ACCESS_ENABLER_STATUS_SUCCESS
- configurazione
fase completata correttamenteAccessEnabler.ACCESS_ENABLER_STATUS_ERROR
- configurazione
fase non riuscita
Attivato da: setRequestor()
setOptions fire_setOption
Descrizione: configura le opzioni SDK globali. Accetta un Map<String, String> come argomento. I valori della mappa verranno passati al server insieme a ogni chiamata di rete effettuata dall'SDK.
I valori vengono passati al server indipendentemente dal flusso corrente (autenticazione/autorizzazione). Se desideri modificare i valori, puoi chiamare questo metodo in qualsiasi momento.
public void setOptions(HashMap<String,String> options)
Disponibilità: v3.0+
Parametri:
-
options: una mappa<String, String> contenente le opzioni SDK globali. Attualmente sono disponibili le seguenti opzioni:
- applicationProfile - Può essere utilizzato per creare configurazioni server basate su questo valore.
- ap_vi - Servizio ID Experience Cloud. Questo valore può essere utilizzato in seguito per i rapporti di analisi avanzata.
- dispositivo_info - Informazioni sul dispositivo come descritto in Passaggio del manuale di informazioni sul dispositivo
checkAuthentication checkAuthN
Descrizione: verifica lo stato di autenticazione. A tale scopo, cerca un token di autenticazione valido nello spazio di archiviazione dei token locale. La chiamata a questo metodo non esegue chiamate di rete. Viene utilizzata dall’applicazione per eseguire una query sullo stato di autenticazione dell’utente e aggiornare di conseguenza l’interfaccia utente (ad esempio, aggiornare l’interfaccia utente di accesso/disconnessione). Lo stato di autenticazione viene comunicato all'applicazione tramite il callback setAuthenticationStatus().
Se un MVPD supporta la funzione "Autenticazione per richiedente", è possibile memorizzare su un dispositivo più token di autenticazione.
public void checkAuthentication()
Disponibilità: v1.0+
Parametri: Nessuno
Callback attivati: setAuthenticationStatus()
getAuthentication getAuthN
Descrizione: avvia il flusso di lavoro di autenticazione completo. Viene avviato controllando lo stato di autenticazione. Se non è già autenticato, viene avviato il computer dello stato del flusso di autenticazione:
- Se l'ultimo tentativo di autenticazione ha avuto esito positivo, la fase di selezione MVPD viene ignorata e un controllo WebView presenta all'utente la pagina di accesso di MVPD.
- Se l'ultimo tentativo di autenticazione non è riuscito o se l'utente si è disconnesso in modo esplicito, viene attivato il callback displayProviderDialog(). L'applicazione utilizza questo callback per visualizzare l'interfaccia utente di selezione MVPD. L'app deve inoltre riprendere il flusso di autenticazione informando la libreria di Access Enabler della selezione MVPD dell'utente tramite il metodo setSelectedProvider().
Se un MVPD supporta la funzione "Autenticazione per richiedente", è possibile memorizzare su un dispositivo più token di autenticazione (uno per programmatore).
Infine, lo stato di autenticazione viene comunicato all'applicazione tramite il callback setAuthenticationStatus().
public void getAuthentication()
Disponibilità: v1.0+
public void getAuthentication(boolean forceAuthN, Map<String, Object> genericData)
Disponibilità: v1.0+
Parametri:
- forceAuthn: flag che specifica se avviare il flusso di autenticazione, indipendentemente dal fatto che l'utente sia già autenticato o meno.
- dati: una mappa costituita da coppie chiave-valore da inviare al servizio pass Pay-TV. Adobe può utilizzare questi dati per abilitare funzionalità future senza modificare l’SDK.
Callback attivati: setAuthenticationStatus(), displayProviderDialog(), sendTrackingData()
displayProviderDialog displayProviderDialog
Descrizione Il callback è stato attivato da Access Enabler per informare l'applicazione che è necessario creare un'istanza degli elementi dell'interfaccia utente appropriati per consentire all'utente di selezionare il MVPD desiderato. Il callback fornisce un elenco di oggetti MVPD con informazioni aggiuntive che possono aiutare a creare correttamente il pannello dell'interfaccia utente di selezione (come l'URL che punta al logo MVPD, il nome visualizzato intuitivo, ecc.)
Dopo che l'utente ha selezionato il MVPD desiderato, l'applicazione di livello superiore deve riprendere il flusso di autenticazione chiamando setSelectedProvider() e trasmettendogli l'ID del MVPD corrispondente alla selezione dell'utente.
public void displayProviderDialog(ArrayList<Mvpd> mvpds)
Disponibilità: v1.0+
Parametri:
- mvpds: elenco di oggetti MVPD contenenti informazioni relative a MVPD che l'applicazione può utilizzare per creare gli elementi dell'interfaccia utente di selezione MVPD.
Attivato da: getAuthentication(), getAuthorization()
setSelectedProvider setSelectedProvider
Descrizione: questo metodo viene chiamato dall'applicazione per informare Access Enabler della selezione MVPD dell'utente. Quando si passa null come parametro, Access Enabler reimposta il MVPD corrente su un valore Null.
public void setSelectedProvider(String mvpdId)
Disponibilità: v 1.0+
Parametri: Nessuno
Callback attivati: setAuthenticationStatus(), sendTrackingData()
navigateToUrl navigagteToUrl
Descrizione: callback attivato dall'Access Enabler sull'SDK di Android. Deve essere ignorato nell’SDK di Amazon FireOS.
public void navigateToUrl(String url)
Disponibilità: v1.0+
Parametri:
- url: URL che punta alla pagina di accesso di MVPD
Attivato da: getAuthentication(), setSelectedProvider()
getAuthenticationToken getAuthNToken
Descrizione: completa il flusso di autenticazione richiedendo il token di autenticazione al server back-end.
public void getAuthenticationToken(String cookies)
Disponibilità: v1.0+
Parametri:
- cookie: cookie impostati sul dominio di destinazione (vedi l'applicazione demo nell'SDK per un'implementazione di riferimento).
Callback attivati: setAuthenticationStatus(), sendTrackingData()
setAuthenticationStatus setAuthNStatus
Descrizione: richiamata attivata da Access Enabler che informa l'applicazione dello stato dell'autenticazione. In molti casi il flusso di autenticazione può non riuscire, a causa dell’interazione dell’utente o di altri scenari imprevisti (ad esempio, problemi di connettività di rete, ecc.). Questo callback informa l’applicazione dello stato di esito positivo/negativo dell’autenticazione, fornendo al contempo informazioni aggiuntive sul motivo dell’errore, quando necessario.
Questo callback segnala anche quando il flusso di logout è completo.
public void setAuthenticationStatus(int status, String errorCode)
Disponibilità: v1.0+
Parametri:
-
status: può assumere uno dei seguenti valori:
AccessEnabler.ACCESS_ENABLER_STATUS_SUCCESS
- flusso di autenticazione completatoAccessEnabler.ACCESS_ENABLER_STATUS_ERROR
- flusso di autenticazione non riuscitoAccessEnabler.ACCESS_ENABLER_STATUS_LOGOUT
- disconnessione
-
codice: motivo dello stato presentato. Se status è
AccessEnabler.ACCESS_ENABLER_STATUS_SUCCESS
, code è una stringa vuota, ovvero definita dalla costanteAccessEnabler.USER_AUTHENTICATED
. Se non è autenticato, questo parametro può assumere uno dei seguenti valori:AccessEnabler.USER_NOT_AUTHENTICATED_ERROR
- Utente non autenticato. In risposta alla chiamata al metodo checkAuthentication() quando non è presente alcun token di autenticazione valido nella cache dei token locale.AccessEnabler.PROVIDER_NOT_SELECTED_ERROR
- AccessEnabler ha reimpostato il computer dello stato di autenticazione dopo che l'applicazione del livello superiore ha passato null asetSelectedProvider()
per interrompere il flusso di autenticazione. Presumibilmente l’utente ha annullato il flusso di autenticazione (ovvero ha premuto il pulsante "Indietro").AccessEnabler.GENERIC_AUTHENTICATION_ERROR
- Flusso di autenticazione non riuscito per motivi quali la non disponibilità della rete o l'annullamento esplicito del flusso di autenticazione da parte dell'utente.AccessEnabler.LOGOUT
- L'utente non è autenticato a causa di un'azione di disconnessione.
Attivato da: checkAuthentication(), getAuthentication(), checkAuthorization()
checkPreauthorizedResources checkPreauth
Descrizione: Questo metodo viene utilizzato dall'applicazione per determinare se l'utente è già autorizzato a visualizzare risorse protette specifiche. Lo scopo principale di questo metodo è quello di recuperare informazioni da utilizzare per decorare l’interfaccia utente (ad esempio, per indicare lo stato di accesso con le icone di blocco e sblocco).
public void checkPreauthorizedResources(ArrayList<String> resources)
Disponibilità: v1.0+
<Parametri: Il parametro resources
è una matrice di risorse per le quali deve essere controllata l'autorizzazione. Ogni elemento dell’elenco deve essere una stringa che rappresenta l’ID della risorsa. L'ID risorsa è soggetto alle stesse limitazioni dell'ID risorsa nella chiamata getAuthorization()
, ovvero deve essere un valore concordato tra il Programmatore e l'MVPD o un frammento RSS del supporto.
Callback attivato: preauthorizedResources()
risorse preautorizzate preauthResources
Descrizione: richiamata attivata da checkPreauthorizedResources(). Fornisce un elenco delle risorse che l’utente è già autorizzato a visualizzare.
public void checkPreauthorizedResources(ArrayList<String> resources)
Disponibilità: v 1.0+
Parametri: Il parametro resources
è un array di risorse per le quali l'utente è già autorizzato a visualizzare.
Attivato da: checkPreauthorizedResources()
checkAuthorization checkAuthZ
Descrizione: Questo metodo viene utilizzato dall'applicazione per verificare lo stato dell'autorizzazione. Viene innanzitutto verificato lo stato di autenticazione. Se non è autenticato, il callback setTokenRequestFailed() viene attivato e il metodo viene chiuso. Se l’utente è autenticato, attiva anche il flusso di autorizzazione. Vedi i dettagli sul metodo getAuthorization().
public void checkAuthorization(String resourceId)
Disponibilità: v1.0+
public void checkAuthorization(String resourceId, Map<String, Object> genericData)
Disponibilità: v1.0+
Parametri:
- resourceId: l'ID della risorsa per cui l'utente richiede l'autorizzazione.
- dati: una mappa costituita da coppie chiave-valore da inviare al servizio pass Pay-TV. Adobe può utilizzare questi dati per abilitare funzionalità future senza modificare l’SDK.
Callback attivati: tokenRequestFailed(), setToken(), sendTrackingData(), setAuthenticationStatus()
getAuthorization getAuthZ
Descrizione: Questo metodo viene utilizzato dall'applicazione per avviare il flusso di autorizzazione. Se l’utente non è già autenticato, avvia anche il flusso di autenticazione. Se l’utente viene autenticato, Access Enabler procede con il rilascio di richieste per il token di autorizzazione (se non è presente alcun token di autorizzazione valido nella cache dei token locale) e per il token multimediale di breve durata. Una volta ottenuto il token multimediale breve, il flusso di autorizzazione viene considerato completo. Il callback setToken() viene attivato e il token multimediale breve viene consegnato come parametro all'applicazione. Se per qualsiasi motivo l'autorizzazione non riesce, viene attivato il callback tokenRequestFailed() e vengono forniti il codice di errore e i dettagli.
public void getAuthorization(String resourceId)
Disponibilità: v1.0+
public void getAuthorization(String resourceId, Map<String, Object> genericData)
Disponibilità: v1.0+
Parametri:
- resourceId: l'ID della risorsa per cui l'utente richiede l'autorizzazione.
- dati: una mappa costituita da coppie chiave-valore da inviare al servizio pass Pay-TV. Adobe può utilizzare questi dati per abilitare funzionalità future senza modificare l’SDK.
Callback attivati: tokenRequestFailed(), setToken(), sendTrackingData()
Questo metodo può anche attivare i seguenti callback (se è stato avviato anche il flusso di autenticazione): setAuthenticationStatus(), displayProviderDialog()
NOTA: utilizzare checkAuthorization() invece di getAuthorization() quando possibile. Il metodo getAuthorization() avvierà un flusso di autenticazione completo (se l'utente non è autenticato) e ciò potrebbe comportare una complicata implementazione da parte del programmatore.
setToken setToken
Descrizione: richiamata attivata da Access Enabler che informa l'applicazione che il flusso di autorizzazione è stato completato correttamente. Anche il token multimediale di breve durata viene distribuito come parametro.
public void setToken(String token, String resourceId)
Disponibilità: v 1.0+
Parametri:
- token: token multimediale di breve durata
- resourceId: la risorsa per la quale è stata ottenuta l'autorizzazione
Attivato da: checkAuthorization(), getAuthorization()
tokenRequestFailed tokenRequestFailed
Descrizione: callback attivato dall'Access Enabler che informa l'applicazione di livello superiore che il flusso di autorizzazione non è riuscito.
public void tokenRequestFailed(String resourceId, <br> String errorCode, String errorDescription)
Disponibilità: v1.0+
Parametri:
- resourceId: la risorsa per la quale è stata ottenuta l'autorizzazione
- errorCode: codice di errore associato allo scenario di errore. Valori possibili:
AccessEnabler.USER_NOT_AUTHORIZED_ERROR
- L'utente non è stato in grado di autorizzare per la risorsa specificata
- errorDescription: ulteriori dettagli sullo scenario di errore. Se per qualsiasi motivo questa stringa descrittiva non è disponibile, Adobe Pass Authentication invia una stringa vuota >("). Questa stringa può essere utilizzata da un MVPD per trasmettere messaggi di errore personalizzati o messaggi relativi alle vendite. Ad esempio, se a un abbonato viene negata l’autorizzazione per una risorsa, l’MVPD potrebbe inviare un messaggio del tipo: "Attualmente non hai accesso a questo canale nel pacchetto. Se desideri aggiornare il pacchetto, fai clic qui." Il messaggio viene passato dall’autenticazione di Adobe Pass tramite questo callback al programmatore, che ha la possibilità di visualizzarlo o ignorarlo. L’autenticazione di Adobe Pass può inoltre utilizzare questo parametro per fornire una notifica della condizione che potrebbe aver causato un errore. Ad esempio, "Si è verificato un errore di rete durante la comunicazione con il servizio di autorizzazione del provider".
Attivato da: checkAuthorization(), getAuthorization()
logout logout
Descrizione: Utilizzare questo metodo per avviare il flusso di disconnessione. La disconnessione è il risultato di una serie di operazioni di reindirizzamento HTTP dovute al fatto che l’utente deve essere disconnesso sia dai server di autenticazione di Adobe Pass che dai server MVPD.
public void logout()
Disponibilità: v1.0+
Parametri: Nessuno
Callback attivati: Nessuno
getSelectedProvider getSelectedProvider
Descrizione: Utilizzare questo metodo per determinare il provider attualmente selezionato.
public void getSelectedProvider()
Disponibilità: v1.0+
Parametri: Nessuno
Callback attivati: selectedProvider()
selectedProvider selectedProvider
Descrizione: callback attivato dall'Access Enabler che fornisce all'applicazione informazioni sull'MVPD attualmente selezionato.
public void selectedProvider(Mvpd mvpd)
Disponibilità: v1.0+
Parametri:
- mvpd: oggetto contenente informazioni sull'MVPD attualmente selezionato
Attivato da: getSelectedProvider()
getMetadata getMetadata
Descrizione: Utilizzare questo metodo per recuperare informazioni esposte come metadati dalla libreria di Access Enabler. L'applicazione può accedere a queste informazioni fornendo un oggetto MetadataKey composito.
public void getMetadata(MetadataKey metadataKey)
Disponibilità: v1.0+
Esistono due tipi di metadati disponibili per i programmatori:
- Metadati statici (TTL del token di autenticazione, TTL del token di autorizzazione e ID dispositivo)
- Metadati utente (informazioni specifiche dell’utente, come ID utente e codice postale; trasmessi da un MVPD al dispositivo di un utente durante i flussi di autenticazione e/o autorizzazione)
Parametri:
-
metadataKey: struttura di dati che incapsula una variabile chiave e args, con il seguente significato:
-
Se la chiave è
METADATA_KEY_TTL_AUTHN
, viene eseguita la query per ottenere l'ora di scadenza del token di autenticazione. -
Se la chiave è
METADATA_KEY_TTL_AUTHZ
e l'argomento contiene un oggetto SerializableNameValuePair con nome =METADATA_ARG_RESOURCE_ID
e valore =[resource_id]
, viene eseguita la query per ottenere la scadenza del token di autorizzazione associato alla risorsa specificata. -
Se la chiave è
METADATA_KEY_DEVICE_ID
, viene eseguita la query per ottenere l'ID dispositivo corrente. Tieni presente che questa funzione è disabilitata per impostazione predefinita e i programmatori devono contattare l’Adobe per informazioni sull’abilitazione e sulle tariffe. -
Se la chiave è
METADATA_KEY_USER_META
e l'argomento contiene un oggetto SerializableNameValuePair con nome =METADATA_KEY_USER_META
e valore =[metadata_name]
, viene eseguita la query per i metadati utente. L’elenco corrente dei tipi di metadati utente disponibili:zip
- Codice postalehouseholdID
- Identificatore famiglia. Se un MVPD non supporta gli account secondari, sarà identico auserID
.maxRating
- Valutazione genitori massima per l'utenteuserID
- Identificatore utente. Se un MVPD supporta gli account secondari e l'utente non è l'account principale,channelID
- Elenco dei canali che l'utente ha il diritto di visualizzare
-
I metadati utente effettivi disponibili per un programmatore dipendono da ciò che viene reso disponibile da un MVPD. Questo elenco verrà ulteriormente esteso man mano che nuovi metadati saranno disponibili e aggiunti al sistema di autenticazione di Adobe Pass.
Callback attivati: setMetadataStatus()
Ulteriori informazioni: Metadati utente
setMetadataStatus setMetadaStatus
Descrizione: callback attivato dall'Access Enabler che distribuisce i metadati richiesti tramite una chiamata getMetadata().
public void setMetadataStatus(MetadataKey key, MetadataStatus result)
Disponibilità: v1.0+
Parametri:
-
chiave: l'oggetto MetadataKey contenente la chiave per la quale viene richiesto il valore dei metadati e i parametri associati (vedere l'applicazione demo per un'implementazione di riferimento).
-
result: oggetto composito contenente i metadati richiesti. L’oggetto dispone dei seguenti campi:
-
simpleResult: valore String che rappresenta il valore dei metadati quando è stata effettuata la richiesta per Authentication TTL, Authorization TTL o Device ID. Questo valore è nullo se la richiesta è stata effettuata per i metadati utente.
-
userMetadataResult: oggetto contenente la rappresentazione Java di un payload di metadati utente JSON. Ad esempio:
code language-json { "street": "Main Avenue", "buildings": ["150", "320"] }
è tradotto in Java come:
code language-java Map("street" -> "Main Avenue", "buildings" -> List("150", "320")))
La struttura effettiva degli oggetti metadati utente è simile alla seguente:
code language-json { updated: 1334243471, encrypted: ["encryptedProp"], data: { zip: ["12345", "34567"], maxRating: { "MPAA": "PG-13", "VCHIP": "TV-Y", "URL": "http://exam.pl/e/manage/ratings" }, householdID: "3456", userID: "BgSdasfsdk23/dsaf3+saASesadgfsShggssd=", channelID: ["channel-1", "channel-2"] } }
-
Questo valore è nullo quando la richiesta è stata effettuata per metadati semplici (TTL di autenticazione, TTL di autorizzazione o ID dispositivo).
- crittografato: valore booleano che specifica se i metadati recuperati sono crittografati o meno. Questo parametro è significativo solo per le richieste di metadati utente, non ha significato per i metadati statici (ad esempio, TTL di autenticazione) che vengono sempre ricevuti non crittografati. Se questo parametro è impostato su True, spetta al programmatore ottenere il valore dei metadati utente non crittografati eseguendo una decrittografia RSA utilizzando la chiave privata dell'inserimento nella whitelist (la stessa chiave privata utilizzata per la firma dell'ID richiedente nella chiamata
setRequestor
).
Attivato da: getMetadata()
Ulteriori informazioni: Metadati utente
getVersion getVersion
Descrizione: Utilizzare questo metodo per recuperare la versione corrente di AccessEnabler
public static String getVersion()
Tracciamento degli eventi tracking
L’Access Enabler attiva un callback aggiuntivo che non è necessariamente correlato ai flussi di adesione. L'implementazione della funzione di callback di tracciamento degli eventi denominata sendTrackingData() è facoltativa, ma consente all'applicazione di tenere traccia di eventi specifici e di compilare statistiche quali il numero di tentativi di autenticazione/autorizzazione riusciti/non riusciti. Di seguito è riportata la specifica per il callback sendTrackingData():
sendTrackingData sendTrackingData
Descrizione: callback attivato dal servizio Access Enabler che segnala all'applicazione la presenza di vari eventi, ad esempio il completamento/errore dei flussi di autenticazione/autorizzazione. Il tipo di dispositivo, il tipo di client Access Enabler e il sistema operativo vengono inoltre segnalati da sendTrackingData().
-
Valori possibili per il tipo di dispositivo:
computer
tablet
mobile
gameconsole
unknown
-
Valori possibili per il tipo di client Access Enabler:
flash
html5
ios
tvos
android
firetv
public void sendTrackingData(Event event, ArrayList<String> data)
Disponibilità: v1.0+
Parametri:
-
event: evento di cui viene tenuta traccia. Esistono tre possibili tipi di eventi di tracciamento:
- authorizationDetection: ogni volta che viene restituita una richiesta del token di autorizzazione (tipo di evento:
EVENT_AUTHZ_DETECTION
) - authenticationDetection: ogni volta che si verifica un controllo di autenticazione (tipo di evento:
EVENT_AUTHN_DETECTION
) - mvpdSelection: quando l'utente seleziona un MVPD nel modulo di selezione MVPD (il tipo di evento è
EVENT_MVPD_SELECTION
)
- authorizationDetection: ogni volta che viene restituita una richiesta del token di autorizzazione (tipo di evento:
-
dati: dati aggiuntivi associati all'evento segnalato. Questi dati vengono presentati sotto forma di elenco di valori.
Di seguito sono riportate le istruzioni per l'interpretazione dei valori nell'array data:
-
Per il tipo di evento
EVENT_AUTHN_DETECTION
:- 0 - Indica se la richiesta del token è riuscita (true/false) e se quanto sopra è vero:
- 1 - Stringa ID MVPD
- 2 - GUID (hash md5)
- 3 - Token già nella cache (true/false)
- 4 - Tipo di dispositivo
- 5 - Tipo di client Access Enabler
- 6 - Tipo di sistema operativo
-
Per il tipo di evento
EVENT_AUTHZ_DETECTION
- 0 - Se la richiesta del token è stata completata correttamente (true/false) e in caso di esito positivo:
- 1 - ID MVPD
- 2 - GUID (hash md5)
- 3 - Token già nella cache (true/false)
- 4 - Errore
- 5 - Dettagli
- 6 - Tipo di dispositivo
- 7 - Tipo client Access Enabler
- 8 - Tipo di sistema operativo
-
Per il tipo di evento
EVENT_MVPD_SELECTION
- 0 - ID del MVPD attualmente selezionato
- 1 - Tipo di dispositivo
- 2 - Tipo di client Access Enabler
- 3 - Tipo di sistema operativo
Attivato da: checkAuthentication(), getAuthentication(), checkAuthorization(), getAuthorization(), setSelectedProvider()