Verwenden der DRMManager-Klasse

Flash Player 10.1 und höher, Adobe AIR 1.5 und höher

Mit der DRMManager-Klasse können Sie Gutscheine und Sitzungen auf Medienrechteservern in Anwendungen verwalten.

Gutscheinverwaltung (nur AIR)

Wenn ein Benutzer geschützten Inhalt abspielt, wird die dazu erforderliche Lizenz in der Laufzeit abgerufen und zwischengespeichert. Wenn die Anwendung die Datei lokal speichert und die Lizenz die Offlinewiedergabe zulässt, kann der Benutzer den Inhalt in der AIR-Anwendung anzeigen. Diese lokale Offlinewiedergabe ist auch dann möglich, wenn keine Verbindung mit dem Medienrechteserver verfügbar ist. Mit DRMManager und der preloadEmbeddedMetadata() -Methode von NetStream können Sie den Gutschein vorab zwischenspeichern. Die Anwendung muss die zur Anzeige des Inhalts erforderliche Lizenz nicht abrufen. Ihre Anwendung kann zum Beispiel die Mediendatei herunterladen und dann den Gutschein abrufen, während der Benutzer noch online ist.

Um einen Gutschein vorauszuladen, verwenden Sie die NetStream-Methode preloadEmbeddedMetadata() , um ein DRMContentData-Objekt zu erhalten. Das DRMContentData-Objekt enthält die URL und die Domäne des Medienrechteservers, der die Lizenz bereitstellen kann, und gibt an, ob die Benutzerauthentifizierung erforderlich ist. Mit diesen Informationen können Sie die DRMManager-Methode loadVoucher() aufrufen, um den Gutschein zu erhalten und zwischenzuspeichern. Der Ablauf beim Vorausladen von Gutscheinen wird ausführlicher unter Vorausladen von Gutscheinen für die Offlinewiedergabe beschrieben.

Sitzungsverwaltung

Sie können den DRMManager auch verwenden, um den Benutzer für einen Medienrechteserver zu authentifizieren und dauerhafte Sitzungen zu verwalten.

Rufen Sie die DRMManager-Methode authenticate() auf, um eine Sitzung mit dem Medienrechteserver herzustellen. Wenn die Authentifizierung erfolgreich abgeschlossen wird, löst der DRMManager ein DRMAuthenticationCompleteEvent-Objekt aus. Dieses Objekt enthält ein Sitzungs-Token. Sie können dieses Token speichern, um es für zukünftige Sitzungen zu verwenden, damit der Benutzer seine Anmeldedaten nicht einzugeben braucht. Übergeben Sie das Token an die setAuthenticationToken() -Methode, um eine neue authentifizierte Sitzung herzustellen. (Die Gültigkeitsdauer des Tokens sowie andere Attribute werden von den Einstellungen des Servers, der das Token generiert hat, bestimmt. Die Datenstruktur des Tokens sollte nicht vom AIR-Anwendungscode interpretiert werden, da sie in späteren AIR-Aktualisierungen möglicherweise geändert wird.)

Authentifizierungs-Token können auf andere Computer übertragen werden. Um Token zu schützen, können Sie sie im verschlüsselten lokalen Speicher von AIR speichern. Weitere Informationen finden Sie unter Verschlüsselter lokaler Speicher .

DRMStatus-Ereignisse

Der DRMManager löst ein DRMStatusEvent-Objekt aus, nachdem die loadVoucher() -Methode erfolgreich aufgerufen wurde.

Wenn ein Gutschein abgerufen wird, hat die detail -Eigenschaft (nur AIR) des Ereignisobjekts den Wert „DRM.voucherObtained“ und die voucher -Eigenschaft enthält das DRMVoucher-Objekt.

Wenn kein Gutschein abgerufen wird, hat die detail -Eigenschaft (nur AIR) immer noch den Wert „DRM.voucherObtained“, doch die voucher -Eigenschaft ist null . Ein Gutschein kann nicht abgerufen werden, wenn Sie beispielsweise LoadVoucherSetting mit dem Wert localOnly verwenden und kein lokal gespeicherter Gutschein vorhanden ist.

Wenn der Aufruf von loadVoucher() nicht erfolgreich abgeschlossen wird, möglicherweise wegen eines Authentifizierungs- oder Kommunikationsfehlers, löst der DRMManager stattdessen ein DRMErrorEvent- oder DRMAuthenticationErrorEvent-Objekt aus.

DRMAuthenticationComplete-Ereignisse

Der DRMManager löst ein DRMAuthenticationCompleteEvent-Objekt aus, wenn ein Benutzer über einen Aufruf der authenticate() -Methode erfolgreich authentifiziert wird.

Das DRMAuthenticationCompleteEvent-Objekt enthält ein wiederverwendbares Token, mit dem die Benutzerauthentifizierung über mehrere Anwendungssitzungen erhalten bleibt. Übergeben Sie dieses Token an die setAuthenticationToken() -Methode des DRMManagers, um die Sitzung wiederherzustellen. (Die Tokenattribute, zum Beispiel die Gültigkeitsdauer, werden vom Tokenersteller festgelegt. Adobe bietet keine API zur Überprüfung der Tokenattribute.)

DRMAuthenticationError-Ereignisse

Der DRMManager löst ein DRMAuthenticationErrorEvent-Objekt aus, wenn ein Benutzer über einen Aufruf der Methode authenticate() oder setAuthenticationToken() nicht erfolgreich authentifiziert werden kann.