Uso da classe DRMManagerFlash Player 10.1 e posterior, Adobe AIR 1.5 e posterior Use a classe DRMManager para gerenciar vouchers e sessões do servidor de direitos de mídia em aplicativos. Gerenciamento de Vouchers (apenas no AIR) Sempre que um usuário reproduz conteúdo protegido, o tempo de execução obtém e armazena a licença necessária para visualizar o conteúdo. Se o aplicativo salva o arquivo localmente e a licença permite a reprodução offline, o usuário pode visualizar o conteúdo no aplicativo AIR. A reprodução offline local ocorre com sucesso mesmo se a conexão ao servidor de direitos de mídia não estiver disponível. Utilizando o DRMManager e o método preloadEmbeddedMetadata() , você pode pré-armazenar o voucher. O aplicativo não tem que obter a licença necessária para visualizar o conteúdo. Por exemplo, seu aplicativo pode baixar o arquivo de mídia e obter o voucher enquanto o usuário ainda está online. Para pré-carregar um voucher, use o método preloadEmbeddedMetadata() do NetStream para obter um conteúdo do objeto DRMContentData. O objeto DRMContentData contém a URL e o domínio do servidor dos direitos de mídia que pode fornecer a licença e descreve se a autenticação é necessária. Com essas informações, você pode chamar o método loadVoucher() do DRMManager para obter o voucher e armazená-lo em cache. O fluxo de trabalho para pré-carregar vouchers é descrito com mais detalhes em Pré-carregar vouchers para reprodução offline. Gerenciamento de sessão Você também pode usar o DRMManager para autenticar o usuário para um servidor de direitos de mídia e gerenciar sessões persistentes. Chame o método authenticate() do DRMManager para estabelecer uma sessão com o servidor de direitos de mídia. Quando a autenticação for concluída com êxito, o DRMManager despachará um objeto DRMAuthenticationCompleteEvent. Esse objeto contém um token de sessão. Você pode salvar esse token para estabelecer sessões futuras, de forma que o usuário não precise fornecer suas credenciais de conta. Envie o token para o método setAuthenticationToken() a fim de estabelecer uma nova sessão autenticada. (As configurações do servidor que geraram o sinal determinam a expiração do token e outros atributos. O código do aplicativo AIR não deve interpretar a estrutura de dados do token, porque a estrutura pode alterar atualizações posteriores do AIR.) É possível transferir tokens de autenticação para outros computadores. Para proteger os tokens, armazene-os no depósito local criptografado do AIR. Consulte Armazenamento local criptografado para obter mais informações. Eventos do DRMStatusO DRMManager despacha um objeto DRMStatusEvent após uma chamada bem-sucedida para o método loadVoucher(). Se um voucher for obtido, a propriedade detail (apenas no AIR) do objeto de evento terá um valor: "DRM.voucherObtained", e a propriedade voucher conterá o objeto DRMVoucher. Se um voucher não for obtido, a propriedade detail (apenas no AIR) ainda terá o valor: "DRM.voucherObtained"; no entanto, a propriedade voucher será null. Um voucher não pode ser obtido se, por exemplo, for utilizado LoadVoucherSetting de localOnly e não existir um voucher armazenado em cache localmente. Se a chamada loadVoucher() não for concluída com êxito, talvez por causa de um erro de autenticação ou comunicação, o DRMManager despachará um objeto DRMErrorEvent ou DRMAuthenticationErrorEvent em vez disso. Eventos DRMAuthenticationCompleteO DRMManager despacha um objeto DRMAuthenticationCompleteEvent quando um usuário é autenticado com êxito por meio de uma chamada do método authenticate(). O objeto DRMAuthenticationCompleteEvent contém um token reutilizável que pode ser usado para persistir em autenticações do usuário em sessões do aplicativo. Passe esse token para o método setAuthenticationToken() do DRMManager, a fim de estabelecer novamente a sessão. (Os atributos do token como, por exemplo, sua expiração, são definidos pelo criador do token. A Adobe não fornece uma API para a examinar atributos de token). Eventos DRMAuthenticationErrorO DRMManager despacha um objeto DRMAuthenticationErrorEvent quando um usuário não pode ser autenticado com êxito por meio de uma chamada para os métodos authenticate() ou setAuthenticationToken(). |
![]() |