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