Riferimento API di Android SDK (legacy) android-sdk-api-reference
Introduzione intro
Questo documento descrive i metodi e i callback esposti da Android SDK per l’autenticazione di Adobe Pass, supportati con le versioni di autenticazione di Adobe Pass 1.7 e successive. I metodi e le funzioni di callback qui descritti sono definiti nei file di intestazione AccessEnabler.h e EntitlementDelegate.h.
Consulta https://tve.zendesk.com/hc/en-us/articles/204963219-Android-Native-AccessEnabler-Library per la versione più recente di Android AccessEnabler SDK.
Nota: il team di autenticazione di Adobe Pass ti incoraggia a utilizzare solo le API di autenticazione di Adobe Pass public:
- 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 ANDROID api
- getInstance
- setOptions
- setRequestor
- setRequestorComplete
- checkAuthentication
- getAuthentication
- displayProviderDialog
- setSelectedProvider
- navigateToUrl
- getAuthenticationToken
- setAuthenticationStatus
- preautorizza
- 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.
genera AccessEnablerException
statico pubblico AccessEnabler getInstance(Context appContext, String env_url, String softwareStatement, String redirectUrl)
genera AccessEnablerException
Disponibilità: v3.1.2+
Parametri:
- appContext: contesto dell'applicazione Android.
- env_url: per i test eseguiti con l’ambiente di staging di 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 a Adobe per il sistema di autenticazione di Adobe Pass. Quando si tratta di token SSO e remoti, lo stato di autenticazione può cambiare quando l'applicazione è in background, setRequestor può essere richiamato nuovamente quando l'applicazione viene portata in primo piano per sincronizzarsi con lo stato del sistema (recuperare un token remoto se SSO è abilitato o eliminare il token locale se nel frattempo si è verificato un logout).
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 verrà indirizzata all'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 al 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. Passa l’ID univoco assegnato da Adobe al sito alla prima registrazione al servizio di autenticazione di Adobe Pass.
-
signedRequestorID: copia dell'ID richiedente con firma digitale nella chiave privata. .
-
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 questo caso, l’elenco MVPD è composto dagli endpoint di tutti i provider 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.
Disponibilità: v1.0+
Parametri:
-
status: può assumere uno dei seguenti valori:
-
SDK >= 3.4.0
AccessEnablerConstants.ACCESS_ENABLER_STATUS_SUCCESS
- fase di configurazione completataAccessEnablerConstants.ACCESS_ENABLER_STATUS_ERROR
- fase di configurazione non riuscita
-
SDK < 3,4
AccessEnabler.ACCESS_ENABLER_STATUS_SUCCESS
- fase di configurazione completataAccessEnabler.ACCESS_ENABLER_STATUS_ERROR
- fase di configurazione non riuscita
-
Attivato da: setRequestor()
setOptions setOptions
Descrizione: Configura le opzioni globali di SDK. Accetta un Map<String, String> come argomento. I valori della mappa verranno passati al server insieme a ogni chiamata di rete effettuata dal 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.
Disponibilità: v1.9.2+
Parametri:
-
options: una mappa<String, String> contenente le opzioni globali di SDK. Attualmente, sono disponibili le seguenti opzioni:
- applicationProfile - Può essere utilizzato per creare configurazioni server basate su questo valore.
- ap_vi - ID Experience Cloud (visitorID). Questo valore può essere utilizzato in seguito per i rapporti di analisi avanzata.
- ap_ai - L'ID Advertising
- informazioni_dispositivo - Informazioni client come descritto qui: Passaggio della connessione e dell'applicazione del dispositivo per le informazioni client.
checkAuthentication checkAuthN
Descrizione: verifica lo stato di autenticazione. A tale scopo, cerca un token di autenticazione valido nello spazio di archiviazione dei token locale. Questo metodo non esegue chiamate di rete e si consiglia di chiamarlo sul thread principale. 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. Per informazioni dettagliate su questa funzione, consulta la sezione Linee guida per il caching nella Panoramica tecnica di Android.
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 di MVPD viene ignorata e il callback navigateToUrl() viene attivato. L'applicazione utilizza questo callback per creare un'istanza del controllo WebView che 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 di MVPD. È inoltre necessario che l'app riprenda il flusso di autenticazione informando la libreria di Access Enabler della selezione MVPD dell'utente tramite il metodo setSelectedProvider().
Man mano che le credenziali dell’utente vengono verificate nella pagina di accesso di MVPD, l’applicazione deve monitorare le diverse operazioni di reindirizzamento che si verificano durante l’autenticazione dell’utente nella pagina di accesso di MVPD. Quando vengono immesse le credenziali corrette, il controllo WebView viene reindirizzato a un URL personalizzato definito dalla costante AccessEnabler.ADOBEPASS_REDIRECT_URL. Questo URL non deve essere caricato da WebView. L’applicazione deve intercettare questo URL e interpretare questo evento come un segnale del completamento della fase di accesso. Dovrebbe quindi passare il controllo all'Access Enabler per completare il flusso di autenticazione chiamando il metodo getAuthenticationToken().
Se un MVPD supporta la funzione "Autenticazione per richiedente", è possibile memorizzare su un dispositivo più token di autenticazione (uno per programmatore). Per informazioni dettagliate su questa funzione, consulta la sezione Linee guida per il caching nella Panoramica tecnica di Android.
Infine, lo stato di autenticazione viene comunicato all'applicazione tramite il callback setAuthenticationStatus().
Disponibilità: v1.0+
Disponibilità: v1.8+
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 il SDK.
Callback attivati: setAuthenticationStatus(), displayProviderDialog(), navigateToUrl(), sendTrackingData()
displayProviderDialog displayProviderDialog
Descrizione richiamata attivata 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 descrittivo, 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.
Tieni presente che è un punto in cui l’utente può premere il pulsante "Indietro", che equivale all’interruzione del flusso di autenticazione. In questo caso, è necessario che l'applicazione chiami il metodo
setSelectedProvider()
, passando null come parametro, per consentire a Access Enabler di reimpostare il computer dello stato di autenticazione.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 di MVPD.
Attivato da: getAuthentication(), getAuthorization()
setSelectedProvider setSelectedProvider
Descrizione: questo metodo viene chiamato dall'applicazione per informare Access Enabler della selezione MVPD dell'utente. È possibile utilizzare questo metodo per selezionare o modificare il provider di servizi utilizzato per l'autenticazione.
Se il MVPD selezionato è un MVPD TempPass, effettuerà automaticamente l’autenticazione con tale MVPD senza dover successivamente chiamare getAuthentication().
Tieni presente che questo non è possibile per il Passaggio temporaneo promozionale in cui vengono forniti parametri aggiuntivi sul metodo getAuthentication().
Quando si passa null come parametro, Access Enabler presume che l'utente abbia annullato il flusso di autenticazione (ovvero ha premuto il pulsante "Indietro") e risponde reimpostando lo stato-computer di autenticazione e chiamando il callback setAuthenticationStatus() con il codice di errore AccessEnablerConstants.PROVIDER_NOT_SELECTED_ERROR
.
Disponibilità: v1.0+
Parametri: Nessuno
Callback attivati: setAuthenticationStatus(), sendTrackingData(), navigateToUrl()
navigateToUrl navigagteToUrl
Obsoleto: A partire da Android SDK 3.0, navigateToUrl viene utilizzato solo se la scheda personalizzata di Chrome non è presente nel dispositivo
Descrizione: richiamata attivata da Access Enabler che informa l'applicazione che l'utente deve essere presentato con la pagina di accesso di MVPD per poter immettere le credenziali. L’Access Enabler trasmette come parametro l’URL della pagina di accesso di MVPD. L'applicazione deve creare un'istanza di un controllo WebView e indirizzarlo a questo URL. È inoltre necessario che l'applicazione monitori gli URL caricati dal controllo WebView e intercetti l'operazione di reindirizzamento dell'URL personalizzato definito dalla costante AccessEnabler.ADOBEPASS_REDIRECT_URL (deprecated)
. In seguito a questo evento, è necessario che l'applicazione chiuda o nasconda il controllo WebView e restituisca il controllo alla libreria Access Enabler chiamando il metodo getAuthenticationToken(). L’Access Enabler completa il flusso di autenticazione recuperando il token di autenticazione dal server back-end e archiviandolo localmente nell’archivio dei token.
Tieni presente che questo è un punto in cui l'utente può premere il pulsante "Indietro", che equivale all'interruzione del flusso di autenticazione. In questo caso, è necessario che l'applicazione chiami il metodo setSelectedProvider() passando null come parametro e dando la possibilità a Access Enabler di reimpostare il computer dello stato di autenticazione.
Disponibilità: v1.0+
Parametri:
- url: URL che punta alla pagina di accesso di MVPD
Attivato da: getAuthentication(), setSelectedProvider()
getAuthenticationToken getAuthNToken
Obsoleto: A partire da Android SDK 3.0, poiché per l'autenticazione viene utilizzata la scheda personalizzata Chrome, questo metodo non viene più utilizzato dall'applicazione.
Descrizione: completa il flusso di autenticazione richiedendo il token di autenticazione al server back-end. Questo metodo deve essere chiamato dall'applicazione solo in risposta all'evento in cui il controllo WebView che ospita la pagina di accesso di MVPD viene reindirizzato all'URL personalizzato definito dalla costante AccessEnabler.ADOBEPASS_REDIRECT_URL
.
Disponibilità: v1.0+
Parametri:
- cookie: cookie impostati sul dominio di destinazione (vedi l'applicazione demo in SDK per un'implementazione di riferimento).
Callback attivati: setAuthenticationStatus()
, sendTrackingData()
setAuthenticationStatus setAuthNStatus
Descrizione: callback attivato dall'attivatore di accesso che informa
l’applicazione dello stato del flusso di autenticazione. Ce ne sono molti
luoghi in cui questo flusso può non riuscire, come risultato del
interazioni o a causa di altri scenari imprevisti (ad es.
problemi di connettività, ecc.). Questo callback informa l'applicazione di
lo stato di esito positivo/negativo del flusso di autenticazione, e
fornendo informazioni aggiuntive sul motivo dell’errore, se necessario.
Disponibilità: v1.0+
Parametri:
-
status: può assumere uno dei seguenti valori:
AccessEnablerConstants.ACCESS_ENABLER_STATUS_SUCCESS
- flusso di autenticazione completatoAccessEnablerConstants.ACCESS_ENABLER_STATUS_ERROR
- flusso di autenticazione non riuscito
-
codice: motivo errore. Se status è
AccessEnablerConstants.ACCESS_ENABLER_STATUS_SUCCESS
, code è una stringa vuota, ovvero definita dalla costanteAccessEnablerConstants.USER_AUTHENTICATED
. In caso di errore, questo parametro può assumere uno dei seguenti valori:AccessEnablerConstants.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.AccessEnablerConstants.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").AccessEnablerConstants.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.
Attivato da: checkAuthentication(), getAuthentication(), checkAuthorization()
checkPreauthorizedResources checkPreauth
Obsoleto: A partire da Android SDK 3.6, l'API di preautorizzazione sostituisce checkPreauthorizedResources, fornendo codici di errore estesi.
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.3+
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 MVPD o un frammento RSS multimediale.
Callback attivato: preauthorizedResources()
checkPreauthorizedResources checkPreauth2
Obsoleto: A partire da Android SDK 3.6, l'API di preautorizzazione sostituisce checkPreauthorizedResources, fornendo codici di errore estesi.
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, boolean cache)
Disponibilità: v3.1+
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 MVPD o un frammento RSS multimediale.
Il parametro cache
specifica se è possibile utilizzare o meno la risposta di preautorizzazione memorizzata nella cache. Per impostazione predefinita, la cache è true, SDK restituirà una risposta precedentemente memorizzata nella cache, se disponibile.
Callback attivato: preauthorizedResources()
risorse preautorizzate preauthResources
Obsoleto: A partire da Android SDK 3.6, l'API di preautorizzazione sostituisce checkPreauthorizedResources, fornendo codici di errore estesi. Il callback preauthorizedResources non verrà chiamato sulla nuova API.
Descrizione: richiamata attivata da checkPreauthorizedResources(). Fornisce un elenco delle risorse che l’utente è già autorizzato a visualizzare.
public void checkPreauthorizedResources(ArrayList<String> resources)
Disponibilità: v1.3+
Parametri: Il parametro resources
è un array di risorse per le quali l'utente è già autorizzato a visualizzare.
Attivato da: checkPreauthorizedResources()
checkAuthorization
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().
Disponibilità: v1.0+
Disponibilità: v1.8+
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 il SDK.
Callback attivati: tokenRequestFailed(), setToken(),sendTrackingData(), setAuthenticationStatus()
getAuthorization
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.
Disponibilità: v1.0+
Disponibilità: v1.8+
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 il SDK.
Callback attivati: tokenRequestFailed(), setToken(), sendTrackingData()
Questo metodo può anche attivare i seguenti callback (se è stato avviato anche il flusso di autenticazione): setAuthenticationStatus(), displayProviderDialog(), navigateToUrl()
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.
Disponibilità: v1.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.
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:
AccessEnablerConstants.USER_NOT_AUTHORIZED_ERROR
- L'utente non è stato in grado di autorizzare per la risorsa specificata
-
errorDescription: ulteriori dettagli sullo scenario di errore. Se questa stringa descrittiva non è disponibile per alcun motivo, 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, MVPD potrebbe inviare un messaggio del tipo: "Attualmente non hai accesso a questo canale nel tuo 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 di MVPD. Di conseguenza, questo flusso non può essere completato con una semplice richiesta HTTP emessa dalla libreria di Access Enabler. SDK utilizza una scheda personalizzata di Chrome per eseguire le operazioni di reindirizzamento HTTP. Questo flusso sarà visibile all’utente e al termine verrà chiuso
Disponibilità: v1.0+
Parametri: Nessuno
Callback attivati:
navigateToUrl()
per la versione di SDK precedente alla 3.0setAuthenticationStatus()
per SDK versione > 3.0
getSelectedProvider getSelectedProvider
Descrizione: Utilizzare questo metodo per determinare il provider attualmente selezionato.
Disponibilità: v1.0+
Parametri: Nessuno
Callback attivati: selectedProvider()
selectedProvider
Descrizione: callback attivato dall'Access Enabler che invia all'applicazione le informazioni sul MVPD attualmente selezionato.
Disponibilità: v1.0+
Parametri:
- mvpd: oggetto contenente informazioni sul 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 CAP, trasmesse 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_USER_META
e l'argomento contiene un oggetto SerializableNameValuePair con nome =METADATA_ARG_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 postale -
householdID
- Identificatore famiglia. Se un MVPD non supporta gli account secondari, sarà identico auserID
. -
maxRating
- Valutazione genitori massima per l'utente -
userID
- Identificatore utente. Se un MVPD supporta gli account secondari e l'utente non è l'account principale,userID
sarà diverso dahouseholdID
. -
channelID
- Elenco dei canali che l'utente ha il diritto di visualizzare
-
-
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 Adobe per informazioni sull’abilitazione e le tariffe. -
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_TTL_AUTHN
, viene eseguita la query per ottenere l'ora di scadenza del token di autenticazione.
-
METADATA_KEY_USER_META, METADATA_KEY_DEVICE_ID, METADATA_KEY_TTL_AUTHZ, METADATA_KEY_TTL_AUTHN
sono disponibili da com.adobe.adobepass.accessenabler.api.profile.UserProfileService.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:
-
'{
"street": "Main Avenue",
"buildings": ["150", "320"]
}'
è tradotto in Java come:
Map("street" -> "Main Avenue", "buildings" -> List("150", "320")))
La struttura effettiva degli oggetti metadati utente è simile alla seguente:
{
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: Questo metodo può essere utilizzato per recuperare la versione della libreria 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
android
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 (tipo 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 in data
array:
-
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 MVPD ID
- 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()