Использование класса DRMManager

Flash Player 10.1 и более поздних версий, Adobe AIR 1.5 и более поздних версий

Используйте класс DRMManager для управления ваучерами и сеансами связи с сервером регистрации авторских прав на мультимедийные ресурсы в приложениях.

Управление ваучерами (только для AIR)

Когда пользователь воспроизводит защищенное содержимое, среда выполнения получает и кэширует лицензию, необходимую для просмотра содержимого. Если программа сохраняет файл на компьютере и лицензией предусмотрена возможность автономного воспроизведения, пользователь может открывать содержимое в программе AIR. Автономное воспроизведение возможно, даже если отсутствует подключение к серверу регистрации авторских прав на мультимедийные ресурсы. С помощью метода preloadEmbeddedMetadata() объектов DRMManager и NetStream можно предварительно кэшировать ваучер. Приложению не потребуется получать лицензию, необходимую для просмотра содержимого. Например, приложение может загрузить мультимедийный файл, а затем получить ваучер на него, пока пользователь подключен к Интернету.

Для предварительной загрузки файла используйте метод preloadEmbeddedMetadata() класса NetStream, чтобы получить объект DRMContentData. Объект DRMContentData содержит адрес URL и домен сервера регистрации авторских прав на мультимедийные ресурсы, который может предоставить такую лицензию, а также указывает, требуется ли проверка подлинности пользователя. С помощью этой информации можно вызвать метод loadVoucher() класса DRMManager, чтобы получить и кэшировать ваучер. Поток операций для предварительной загрузки ваучеров подробно описан в разделе Предварительная загрузка ваучеров для автономного воспроизведения.

Управление сеансами

Класс DRMManager также можно использовать для проверки подлинности пользователя при входе на сервер регистрации авторских прав на мультимедийные ресурсы и для управления длительными сеансами.

Вызовите метод authenticate() класса DRMManager, чтобы установить сеанс связи с сервером регистрации авторских прав на мультимедийные ресурсы. Если проверка подлинности прошла успешно, класс DRMManager отправляет объект события DRMAuthenticationComplete. Этот объект содержит маркер сеанса. Данный маркер можно сохранить для создания сеансов в будущем, что избавит пользователя от необходимости предоставлять свои учетные данные. Передайте этот маркер методу setAuthenticationToken(), чтобы установить новый сеанс с проверкой подлинности. (Срок действия и другие атрибуты маркера определяются настройками сервера, создавшего этот маркер. Код программы AIR не должен интерпретировать структуру данных маркера, так как это может повлиять на последующие обновления AIR.)

Маркеры проверки подлинности можно передавать на другие компьютеры. Чтобы защитить маркеры, их можно хранить в зашифрованном локальном хранилище AIR. Дополнительные сведения см. в разделе «Зашифрованная локальная система хранения данных».

События DRMStatus

Класс DRMManager отправляет объект DRMStatusEvent после того, как успешно завершается вызов метода loadVoucher().

Если ваучер получен, то свойство detail (только для AIR) объекта события принимает значение DRM.voucherObtained, а свойство voucher содержит объект DRMVoucher.

Если ваучер не получен, то свойство detail (только для AIR) по-прежнему принимает значение DRM.voucherObtained, однако значением свойства voucher является null. Ваучер не может быть получен в том случае, если, например, для LoadVoucherSetting используется значение localOnly и локально кэшированный ваучер отсутствует.

Если вызов метода loadVoucher() завершается неудачно (возможно, причина в ошибке проверки подлинности или связи), то DRMManager отправляет объект DRMErrorEvent или DRMAuthenticationErrorEvent.

События DRMAuthenticationComplete

Класс DRMManager отправляет объект DRMAuthenticationCompleteEvent, если проверка подлинности пользователя с помощью метода authenticate() прошла успешно.

Объект DRMAuthenticationCompleteEvent содержит многократно используемую метку, которую можно применять для сохранения проверки подлинности пользователя в различных сеансах приложения. Передайте этот маркер в метод setAuthenticationToken() класса DRMManager, чтобы восстановить сеанс. (Создатель маркера устанавливает такие его атрибуты, как срок действия. Компания Adobe не предоставляет API-интерфейс для проверки атрибутов метки.)

События DRMAuthenticationError

Класс DRMManager отправляет объект DRMAuthenticationErrorEvent, когда пользователь не может успешно пройти проверку подлинности с помощью методов authenticate() или setAuthenticationToken().