Uso de la clase DRMManager

Flash Player 10.1 y posterior, Adobe AIR 1.5 y posterior

Utilice la clase DRMManager para administrar licencias y sesiones del servidor de derechos de medios en aplicaciones.

Administración de licencias (solo AIR)

Cada vez que un usuario reproduce contenido protegido, el motor de ejecución obtiene la licencia necesaria para ver el contenido y la guarda en caché. Si la aplicación guarda el archivo localmente, y la licencia permite la reproducción sin conexión, el usuario puede ver el contenido en la aplicación de AIR. Esta reproducción local sin conexión se produce incluso si no hay disponible ninguna conexión con el servidor de derechos digitales. Con el método DRMManager y NetStream preloadEmbeddedMetadata() , puede guardar en caché previamente la licencia. La aplicación no deberá obtener la licencia necesaria para ver el contenido. Por ejemplo, la aplicación puede descargar el archivo de medios y posteriormente obtener la licencia mientras que el usuario esté en línea.

Para precargar una licencia, utilice el método preloadEmbeddedMetadata() de NetStream para obtener un objeto DRMContentData. El objeto DRMContentData contiene la dirección URL y el dominio del servidor de derechos de medios que puede proporcionar la licencia y describe si se requiere la autenticación del usuario. Con esta información, puede llamar al método loadVoucher() de DRMManager para obtener y almacenar en caché la licencia. El flujo de trabajo para precarga de licencias se describe más detalladamente en Precarga de licencias para reproducción sin conexión .

Administración de sesión

También puede utilizar DRMManager para autenticar al usuario en un servidor de derechos de medios y para administrar sesiones persistentes.

Llame al método authenticate() de DRMManager para establecer una sesión con el servidor de derechos de medios. Una vez que la autenticación se lleva a cabo correctamente, DRMManager distribuye un objeto DRMAuthenticationCompleteEvent. Este objeto contiene un token de sesión. Este token se puede guardar para establecer futuras sesiones de modo que el usuario no tenga que proporcionar sus credenciales de cuenta. Transmita el símbolo al método setAuthenticationToken() para establecer una nueva sesión autenticada. (La configuración del servidor que generó el token determina su caducidad y otros atributos. El código de la aplicación de AIR no debe interpretar la estructura de datos del token, ya que esta estructura pueda cambiar con futuras actualizaciones de AIR.)

Los token de autenticación se pueden transferir a otros equipos. Para proteger los token, puede almacenarlos en el almacén local cifrado de AIR. Consulte Almacenamiento local cifrado para obtener más información.

Eventos DRMStatus

DRMManager distribuye un objeto DRMStatusEvent cuando la llamada al método loadVoucher() se completa correctamente.

Si se obtiene una licencia, la propiedad detail (solo AIR) del objeto de evento tendrá el valor: "DRM.voucherObtained" y la propiedad voucher contendrá el objeto DRMVoucher.

Si no se obtiene ninguna licencia, la propiedad detail (solo AIR) aún tendrá el valor: "DRM.voucherObtained"; sin embargo, la propiedad voucher será null . No se puede obtener una licencia si, por ejemplo, se utiliza LoadVoucherSetting de localOnly y no existen ninguna licencia almacenada en la caché local.

Si la llamada a loadVoucher() no se realiza correctamente, quizá debido a un error de comunicación o autenticación, DRMManager distribuye un objeto DRMErrorEvent o un objeto DRMAuthenticationErrorEvent.

Eventos DRMAuthenticationComplete

DRMManager distribuye un objeto DRMAuthenticationCompleteEvent cuando un usuario se autentica correctamente mediante una llamada al método authenticate() .

El objeto DRMAuthenticationCompleteEvent contiene un token reutilizable que se puede usar para mantener la autenticación del usuario a través de sesiones de la aplicación. Transmita este token al método setAuthenticationToken() de DRMManager para restablecer la sesión. (El creador del token define sus atributos, como la caducidad. Adobe no proporciona ninguna API para examinar los atributos del token.)

Eventos DRMAuthenticationError

DRMManager distribuye un objeto DRMAuthenticationErrorEvent cuando un usuario no se puede autenticar correctamente mediante una llamada a los métodos authenticate() o setAuthenticationToken() .