Regras de anúncio

O SDK do IMA para Android é compatível com playlists de anúncios totalmente automatizadas. Este recurso inserem divisões de anúncio no conteúdo, conforme especificado Google Ad Manager (em inglês) ao programar seus anúncios. Ele também simplifica muito o código do player de vídeo necessário para oferecer suporte a intervalos de anúncios, incluindo precedentes, intermediários e finais.

  • Ao programar os anúncios no Ad Manager, é possível especificar várias regras de anúncios. como "sempre reproduzir o intervalo de anúncio no início do conteúdo" ou "toque um de um minuto a cada 30 minutos de conteúdo".
  • Quando os anúncios são solicitados, o servidor de anúncios pode retornar uma lista de anúncios. O SDK processa a lista de reprodução e programa automaticamente os intervalos de anúncio que foram especificado.
  • Como o Android usa o mesmo player de vídeo para a reprodução de anúncios e conteúdos, se você planeja implementar regras de anúncios, deve salvar a posição do marcador do seu conteúdo quando um anúncio é iniciado e, em seguida, procura para essa posição quando o anúncio termina. Implemente a interface VideoAdPlayer no vídeo. de futebol. Isso garante que os intervalos de anúncio sejam inseridos automaticamente na horários especificados no Ad Manager.
    private boolean playingContent = true;
    private int contentPosition = -1;
    private List callbacks =
        new ArrayList();
    
    @Override
    public void addCallback(VideoAdPlayerCallback callback) {
      callbacks.add(callback);
    }
    
    @Override
    public void removeCallback(VideoAdPlayerCallback callback) {
      callbacks.remove(callback);
    }
    
    public void loadContent() {
      playingContent = true;
      load(CONTENT_URL);
    }
    
    @Override
    public void loadAd(String mediaUrl) {
      playingContent = false;
      load(mediaUrl);
    }
    
    public void pauseContent() {
      savePosition();
      pause();
    }
    
    @Override
    public void pauseAd() {
      pause();
    }
    
    private void pause() {
      myVideoView.pause();
      for (VideoAdPlayerCallback callback : callbacks) {
        callback.onPause();
      }
    }
    
    public void resumeContent() {
      loadContent();
      if (contentPosition > 0) {
        restorePosition();
      }
      resume();
    }
    
    @Override
    public void resumeAd() {
      resume();
    }
    
    private void resume() {
      myVideoView.start();
      for (VideoAdPlayerCallback callback : callbacks) {
        callback.onResume();
      }
    }
    
    public void savePosition() {
      contentPosition = myVideoView.getCurrentPosition();
    }
    
    public void restorePosition() {
      myVideoView.seekTo(contentPosition);
    }
    
  • O CONTENT_PAUSE_REQUESTED e CONTENT_RESUME_REQUESTED são usados para pausar e retomar o conteúdo quando os intervalos de anúncio são reproduzidos. Indicar a documentação da API relevante para saber detalhes sobre esses eventos.

Observação:quando o conteúdo terminar de ser reproduzido ou o usuário tiver interrompido a reprodução, chame AdsLoader.contentComplete para sinalizar ao SDK que o conteúdo está pronto. O SDK em seguida, reproduz a divisão de anúncio final, se houver uma programada. A O evento ALL_ADS_COMPLETED é gerado quando TODOS os intervalos de anúncio foram jogadas. Além disso, o acompanhamento de conteúdo começa quando init() é chamado, e você precisa sempre chamar init() antes de reproduzir o conteúdo.