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äsa 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.