adBreak()

Tanda tangan fungsi:

adBreak(
   type: '<type>',                     // The type of this placement
   name: '<name>',                     // A descriptive name for this placement
   beforeAd: () => {},                 // Prepare for the ad. Mute and pause the game flow
   afterAd: () => {},                  // Resume the game and re-enable sound
   beforeReward: (showAdFn) => {},     // Show reward prompt (call showAdFn() if clicked)
   adDismissed: () => {},              // Player dismissed the ad before completion
   adViewed: () => {},                 // Ad was viewed and closed
   adBreakDone: (placementInfo) => {}, // Always called (if provided) even if an ad didn't show
);

Parameter adBreak()

Nama Jenis Deskripsi
Semua jenis penempatan
type string

Jenis penempatan. Nilai:

  • 'preroll' sebelum game dimuat (sebelum UI dirender)
  • 'start' sebelum gameplay dimulai (setelah UI dirender)
  • 'pause' pemutar menjeda game
  • 'next' pemain membuka level berikutnya
  • 'browse' pemain menjelajahi opsi di luar gameplay
  • 'reward' iklan reward
name string (OPSIONAL) nama untuk penempatan iklan tertentu ini dalam game Anda. ID ini adalah ID internal, dan tidak ditampilkan kepada pemain. Pada rilis mendatang, ID ini dapat digunakan untuk mengaktifkan fitur pelaporan dan pengoptimalan tambahan.

Sebaiknya Anda memberi nama semua penempatan.
beforeAd fungsi (OPSIONAL) Dipanggil sebelum iklan ditampilkan. Game akan dijeda dan suara akan dimatikan. Tindakan ini harus dilakukan secara sinkron. Iklan akan ditampilkan segera setelah callback ini selesai.
afterAd fungsi (OPSIONAL) Dipanggil setelah iklan selesai (karena alasan apa pun). Untuk iklan reward, metode ini dipanggil setelah adDismissed atau adViewed, bergantung pada tindakan pemain. Fungsi ini harus digunakan untuk melanjutkan alur game. Misalnya, gunakan untuk mengaktifkan suara dan memulai level berikutnya.
adBreakDone fungsi (OPSIONAL) Selalu dipanggil sebagai langkah terakhir dalam adBreak(), meskipun tidak ada iklan yang ditampilkan. Fungsi mengambil objek placementInfo sebagai argumen yang ditentukan sebagai berikut:
{
    breakType: '<type>',
    breakName: '<name>',
    breakFormat: 'interstitial|reward',
    breakStatus:  'error|noAdPreloaded|...|viewed',
}
Lihat adBreakDone dan placementInfo() untuk penjelasan mendetail tentang objek info penempatan.
Hanya penempatan reward...
beforeReward fungsi Dipanggil jika iklan reward tersedia. Fungsi ini harus mengambil satu argumen–showAdFn() yang harus dipanggil untuk menampilkan iklan reward.
adDismissed fungsi Hanya dipanggil untuk iklan reward saat pemutar menutup iklan. Callback ini hanya dipanggil jika pemutar menutup iklan sebelum selesai. Dalam hal ini, reward tidak boleh diberikan.
adViewed fungsi Dipanggil hanya untuk iklan reward saat pemutar menyelesaikan iklan dan harus diberikan reward.

adBreakDone() and placementInfo

Jika tidak ada iklan yang dapat ditampilkan, Ad Placement API tidak akan memanggil berbagai callback sebelum/sesudah yang Anda teruskan. Namun, jika Anda memberikan callback adBreakDone() ini akan selalu dipanggil, meskipun iklan tidak ditampilkan. Hal ini memungkinkan Anda melakukan pekerjaan tambahan yang mungkin perlu Anda lakukan untuk penempatan, seperti mencatat analisis tambahan tentang penempatan.

Fungsi adBreakDone() mengambil objek placementInfo yang ditentukan sebagai argumen sebagai berikut:

{
  breakType: '<type>',
  breakName: '<name>',
  breakFormat: 'interstitial|reward',
  breakStatus: 'notReady|timeout|error|noAdPreloaded|frequencyCapped|ignored|other|dismissed|viewed',
}

Dengan kolom dalam objek ini memiliki semantik berikut:

  • breakType adalah argumen jenis yang diteruskan ke adBreak()
  • breakName adalah argumen nama yang diteruskan ke adBreak()
  • breakStatus adalah status penempatan ini dan dapat berupa salah satu nilai berikut:
breakStatus Alasan
'notReady' Ad Placement API belum diinisialisasi
'timeout' Penempatan kehabisan waktu karena Ad Placement API membutuhkan waktu terlalu lama untuk merespons
'invalid' Penempatan tidak valid dan diabaikan–misalnya, hanya boleh ada satu penempatan preroll per pemuatan halaman, preroll berikutnya gagal dengan status ini
'error' Terjadi error JavaScript dalam callback
'noAdPreloaded' Iklan belum dimuat sebelumnya sehingga penempatan ini dilewati
'frequencyCapped' Iklan tidak ditampilkan karena batas frekuensi diterapkan pada penempatan ini
'ignored' Pengguna tidak mengklik perintah reward sebelum mencapai penempatan berikutnya, yaitu showAdFn() tidak dipanggil sebelum adBreak() berikutnya.
'other' Iklan tidak ditampilkan karena alasan lain. (mis., Iklan masih diambil, atau iklan yang di-cache sebelumnya dihapus karena ukuran/orientasi layar diubah.)
'dismissed' Pengguna menutup iklan reward sebelum menontonnya hingga selesai
'viewed' Iklan dilihat oleh pengguna

Catatan: adBreakDone() selalu merupakan callback terakhir yang dipanggil adBreak().

Jika Anda menggunakan afterAd() untuk melanjutkan game setelah iklan ditampilkan, adBreakDone() akan dipanggil setelah game Anda dimulai ulang. Untuk hal-hal seperti mencatat analisis, ini mungkin cocok, tetapi jika Anda ingin melakukan pekerjaan tambahan sebelum game dimulai ulang, pindahkan logika untuk melanjutkan game dari afterAd() ke adBreakDone().