Uso della classe DRMManager

Flash Player 10.1 e versioni successive, Adobe AIR 1.5 e versioni successive

Utilizzate la classe DRMManager per gestire i voucher e le sessioni del server di gestione dei diritti multimediali in un'applicazione.

Gestione dei voucher (solo AIR)

Ogni volta che un utente riproduce contenuto protetto, il runtime recupera e memorizza nella cache la licenza richiesta per visualizzare il contenuto. Se l'applicazione salva il file localmente, e la licenza consente la riproduzione non in linea, l'utente può visualizzare il contenuto nell'applicazione AIR. Tale riproduzione non in linea locale viene eseguita anche se non è disponibile una connessione al server di gestione dei diritti multimediali. Utilizzando la classe DRMManager e il metodo preloadEmbeddedMetadata() della classe NetStream, è possibile memorizzare preventivamente il voucher nella cache, in modo da evitare che l'applicazione avvii la riproduzione per ottenere la licenza necessaria per la visualizzazione del contenuto. L'applicazione può, ad esempio, scaricare il file multimediale, quindi ottenere il voucher mentre l'utente è online.

Per precaricare un voucher, usate il metodo preloadEmbeddedMetadata() della classe NetStream per ottenere un oggetto DRMContentData. L'oggetto DRMContentData contiene l'URL e il dominio del server di gestione dei diritti multimediali che può fornire la licenza e indica se è richiesta l'autenticazione. Con queste informazioni potete chiamare il metodo loadVoucher() della classe DRMManager per ottenere il voucher e memorizzarlo nella cache. Il flusso di lavoro per precaricare i voucher è descritto più dettagliatamente in Precaricamento di voucher per la riproduzione non in linea .

Gestione delle sessioni

Potete usare la classe DRMManager anche per autenticare l'utente su un server di gestione dei diritti multimediali e gestire le sessioni persistenti.

Chiamate il metodo authenticate() della classe DRMManager per stabilire una sessione con il server di gestione dei diritti multimediali. Una volta completata correttamente l'autenticazione, DRMManager invia un oggetto DRMAuthenticationCompleteEvent. Questo oggetto contiene un token di sessione. Potete salvare questo token per stabilire le sessioni successive, in modo che l'utente non debba fornire le credenziali del proprio account. Passate il token al metodo setAuthenticationToken() per stabilire una nuova sessione autenticata. (Le impostazioni del server che hanno generato il token determinano la scadenza del token e altri attributi. Il codice dell'applicazione AIR non deve interpretare la struttura di dati del token, poiché questa può cambiare in aggiornamenti AIR futuri.)

I token di autenticazione possono essere trasferiti ad altri computer. Per proteggere i token, potete archiviarli nell'archivio locale crittografato di AIR. Per ulteriori informazioni, vedete Archiviazione locale crittografata .

Eventi DRMStatus

DRMManager invia un oggetto DRMStatusEvent dopo che una chiamata al metodo loadVoucher() è stata completata correttamente.

Se si ottiene un voucher, la proprietà detail (solo AIR) dell'oggetto event presenta il valore "DRM.voucherObtained" e la proprietà voucher contiene l'oggetto DRMVoucher.

Se non si ottiene un voucher, la proprietà detail (solo AIR) ha comunque il valore "DRM.voucherObtained", tuttavia la proprietà voucher è null . Non è possibile ottenere un voucher se, ad esempio, utilizzate LoadVoucherSetting di localOnly e non sono presenti voucher memorizzati nella cache locale.

Se la chiamata a loadVoucher() non viene completata correttamente, ad esempio a causa di un errore di autenticazione o di comunicazione, DRMManager invia un oggetto DRMErrorEvent o DRMAuthenticationErrorEvent.

Eventi DRMAuthenticationComplete

DRMManager invia un oggetto DRMAuthenticationCompleteEvent quando un utente viene autenticato correttamente tramite una chiamata al metodo authenticate() .

L'oggetto DRMAuthenticationCompleteEvent contiene un token riutilizzabile che può essere usato per fare in modo che l'autenticazione dell'utente persista in tutte le sessioni dell'applicazione. Passate questo token al metodo setAuthenticationToken() di DRMManager per stabilire nuovamente la sessione. (Il creatore del token imposta gli attributi token come la scadenza. Adobe non fornisce un'API per l'esame degli attributi dei token.

Eventi DRMAuthenticationError

DRMManager invia un oggetto DRMAuthenticationErrorEvent quando un utente non può essere autenticato correttamente tramite una chiamata al metodo authenticate() o setAuthenticationToken() .