Entitlement Manager è il gestore di funzioni che supporta l’implementazione di autenticazione Primetime.
L’integrazione di autenticazione Primetime con l’implementazione di riferimento dell’SDK di Primetime per Android viene aggiunta una nuova funzionalità manager all’applicazione. Tuttavia, a differenza di molti altri gestori di funzioni, EntitlementManager viene utilizzato in diverse posizioni in tutta l'applicazione. Di seguito viene fornita una panoramica delle modifiche e delle aggiunte apportate all’implementazione di riferimento per supportare l’autenticazione Primetime:
La classe EntitlementManager
gestisce tutte le comunicazioni con l'SDK di autenticazione Primetime, oltre a incapsula la logica dell'applicazione necessaria per i flussi di lavoro di adesione. L'API pubblica di EntitlementManager
viene utilizzata dall'applicazione per avviare i flussi di lavoro di adesione, mentre l'interfaccia EntitlementMangerListener
fornisce un meccanismo di callback che consente all'applicazione di gestire gli eventi EntitlementManger
.
L’attività principale dell’implementazione di riferimento, il CatalogActivity
, crea un’istanza di EntitlementManagerListener
e la registra con il EntitlementManager
. In questo modo, il EntitlementManager
potrebbe segnalare gli aggiornamenti dell'interfaccia utente necessari per il resto dell'applicazione. I callback includono la visualizzazione/l’eliminazione di una finestra di dialogo di caricamento, la visualizzazione delle finestre di dialogo di stato, l’aggiornamento delle icone di autorizzazione e autenticazione e l’avvio della riproduzione video dopo l’autorizzazione.
La classe EntitlementDialogFragment
genera messaggi di dialogo in base allo stato di adesione passato al costruttore di classe. Questa classe viene utilizzata per l’autenticazione dei messaggi di successo e per tutti i messaggi di errore. Il CatalogActivity
visualizza le finestre di dialogo di adesione quando riceve eventi specifici dal EntitlementManager
. Inoltre, CatalogActivity
implementa l'interfaccia EntitlementDialogListener
, che include metodi di callback per segnalare quando una finestra di dialogo viene chiusa o quando l'utente si disconnette dal servizio di autenticazione Primetime.
Durante l'autenticazione con Primetime, due nuove attività, MvpdPickerActivity
e MvpdLoginActivity
, consentono all'utente di selezionare il proprio provider di contenuti e di effettuare l'accesso. Entrambe queste attività sono avviate da CatalogActivity
tramite EntitlementManager
. Inoltre, sia i risultati di ritorno MvpdPickerActivity
che MvpdLoginActivity
a CatalogActivity
e quindi a CatalogActivity
devono sovrascrivere il metodo Activity.onActivityResult
.
L’attività principale dell’implementazione di riferimento, la CatalogActivity
, include un nuovo pulsante "Accedi" nella barra delle azioni. Il pulsante Accedi consente all’utente di avviare l’autenticazione con l’autenticazione Primetime. Inoltre, l'utente può avviare l'autenticazione selezionando un video protetto per la riproduzione. L'icona e il testo del pulsante Accedi cambiano a seconda dello stato di autenticazione dell'utente e il CatalogActivity
contiene il codice necessario per aggiornare l'icona e il testo del pulsante quando la pagina viene aggiornata. A questo scopo, all'avvio di CatalogActivity
, richiama EntitlementManager.checkAuthentication()
per aggiornare lo stato di autenticazione dell'utente.
All’interno di CatalogView
, vengono visualizzate nuove icone sopra l’icona del contenuto per segnalare lo stato di autorizzazione dell’utente per quel contenuto. Ad esempio, se l’utente è autorizzato a visualizzare un video, sul contenuto viene visualizzata un’icona a forma di cerchio verde. Tuttavia, se l’utente non è autorizzato a visualizzare il video, viene visualizzata un’icona chiave. La visualizzazione di queste icone viene gestita in ContentTileAdapter
, tuttavia l'aggiornamento del relativo stato viene avviato dal CatalogActivity
quando viene chiamato un callback nel EntitlementManagerListener
.
La riproduzione video richiede ora un controllo di autorizzazione da parte di EntitlementManager
. La chiamata a EntitlementManager.getAuthorization()
si verifica all'interno di CatalogView
. Se il video richiede un'autorizzazione e l'utente è autorizzato, il percorso PlayerActivity
viene avviato dal percorso CatalogActivity
.