Använda klassen DRMManager
Flash Player 10.1 och senare, Adobe AIR 1.5 och senare
Använd klassen DRMManager för att hantera vouchers och sessioner på mediarättighetsservern i program.
Voucher-hantering (endast AIR)
När en användare spelar upp skyddat innehåll erhålls och cachelagras den licens som krävs för visning av innehållet i körningen. Om filen sparas lokalt, och licensen tillåter offlineuppspelning, kan användaren visa innehållet i AIR-programmet. Sådan lokal offlineuppspelning lyckas även om det inte finns någon anslutning till medieservern. Genom att använda DRMManager och NetStream-metoden
preloadEmbeddedMetadata()
kan du cachelagra vouchern i förväg. Programmet behöver inte få licensen som krävs för att visa innehållet. Programmet kan exempelvis hämta mediefilen och sedan erhålla vouchern när användaren fortfarande är online.
Om du vill förhandsladda en voucher hämtar du ett DRMContentData-objekt med hjälp av
preloadEmbeddedMetadata()
-metoden för NetStream-objektet. DRMContentData-objektet innehåller URL-adressen och domänen för den mediarättighetsserver som kan ge ut licensen och anger om användarautentisering krävs. Med hjälp av den här informationen kan du anropa
loadVoucher()
-metoden för DRMManager-objektet för att hämta och cachelagra vouchern. Anvisningar om hur du läser in vouchers i förväg beskrivs i detalj i avsnittet
Läs in vouchers i förväg för uppspelning offline
.
Sessionshantering
Du kan också autentisera användaren mot en mediarättighetsserver och hantera beständiga sessioner med hjälp av DRMManager.
Upprätta en session med mediarättighetsservern genom att anropa
authenticate()
-metoden för DRMManager-objektet. När autentiseringen är färdig skickar DRMManager ett DRMAuthenticationCompleteEvent-objekt. Det här objektet innehåller en sessionstoken. Du kan spara denna token för att upprätta framtida sessioner så att användaren slipper uppge sina kontouppgifter. Skicka token till metoden
setAuthenticationToken()
när du vill upprätta en ny autentiserad session. (Inställningarna på den server som genererade token avgör när den upphör att gälla och dess övriga attribut. AIR-programkod bör inte tolka tokens datastruktur, eftersom strukturen kan ändras i framtida AIR-uppdateringar.)
En autentiseringstoken kan överföras till andra datorer. Du kan skydda tokens genom att lagra dem på den krypterade lokala lagringsplatsen i AIR. Du hittar mer information i avsnittet
Krypterad lokal lagringsplats
.
DRMStatus-händelser
DRMManager skickar ett DRMStatusEvent-objekt när ett anrop till
loadVoucher()
-metoden har slutförts.
Om en voucher erhålls kommer egenskapen
detail
(endast AIR) i händelseobjektet att ha värdet: "DRM.voucherObtained", och egenskapen
voucher
innehålla DRMVoucher-objektet.
Om en voucher inte erhålls har egenskapen
detail
(endast AIR) fortfarande värdet "DRM.voucherObtained", men egenskapen
voucher
är
null
. En voucher kan inte erhållas om du exempelvis använder LoadVoucherSetting för
localOnly
och det inte finns någon lokalt cachelagrad voucher.
Om
loadVoucher()
-anropet inte slutförs korrekt, kanske på grund av ett autentiserings- eller kommunikationsfel, skickar DRMManager i stället ett DRMErrorEvent-objekt eller ett DRMAuthenticationErrorEvent-objekt.
DRMAuthenticationComplete-händelser
DRMManager skickar ett DRMAuthenticationCompleteEvent-objekt om en användare autentiseras genom ett anrop till
authenticate()
-metoden.
DRMAuthenticationCompleteEvent-objektet innehåller en token som kan återanvändas för användarautentiseringen i olika programsessioner. Överför denna token till
setAuthenticationToken()
-metoden i DRMManager för att återupprätta sessionen. (Den som skapar en token anger även dess attribut, till exempel förfallodatum. Adobe tillhandahåller inte något API för granskning av tokenattribut.)
DRMAuthenticationError-händelser
DRMManager skickar ett DRMAuthenticationErrorEvent-objekt om en användare inte kan autentiseras via ett anrop till
authenticate()
- eller
setAuthenticationToken()
-metoden.
|
|
|