Aturan iklan

IMA Android SDK mendukung playlist iklan yang sepenuhnya otomatis. Fitur ini menyisipkan jeda iklan ke dalam konten seperti yang ditentukan dalam Google Ad Manager saat memproses iklan. Hal ini juga sangat menyederhanakan kode pemutar video untuk mendukung jeda iklan, termasuk pre-roll, mid-roll, dan post-roll.

  • Saat memproses iklan di Ad Manager, Anda dapat menentukan berbagai aturan iklan seperti "selalu putar jeda iklan di awal konten" atau "mainkan satu jeda iklan setiap 30 menit konten".
  • Saat iklan diminta, server iklan dapat menampilkan playlist iklan. SDK memproses playlist dan secara otomatis menjadwalkan jeda iklan yang telah yang ditentukan.
  • Karena Android menggunakan pemutar video yang sama untuk pemutaran iklan dan konten, jika berencana menerapkan aturan iklan, Anda harus menyimpan posisi titik pemutaran konten saat iklan dimulai, lalu cari ke posisi tersebut saat iklan selesai. Pastikan untuk menerapkan antarmuka VideoAdPlayer di video Anda web. Hal ini memastikan jeda iklan otomatis disisipkan pada waktu yang ditentukan dalam 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);
    }
  • CONTENT_PAUSE_REQUESTED dan CONTENT_RESUME_REQUESTED peristiwa digunakan untuk menjeda dan melanjutkan konten saat jeda iklan diputar. Rujuk ke dokumentasi API yang relevan untuk mengetahui detail tentang peristiwa ini.

Catatan: Saat konten telah selesai diputar atau pengguna telah menghentikan pemutaran, pastikan untuk memanggil AdsLoader.contentComplete untuk memberi tahu SDK bahwa konten sudah selesai. SDK kemudian memutar jeda iklan post-roll, jika sudah dijadwalkan. Tujuan ALL_ADS_COMPLETED peristiwa dipicu saat SEMUA jeda iklan yang telah dimainkan. Selain itu, perhatikan bahwa pelacakan konten dimulai saat init() dipanggil dan Anda harus selalu memanggil init() sebelum memutar konten.