jeda iklan()

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()

Name 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' pemain menjeda game
  • 'next' pemain melanjutkan ke level berikutnya
  • 'browse' pemain menjelajahi opsi di luar gameplay
  • 'reward' iklan reward
name string (OPTIONAL) nama untuk penempatan iklan tertentu dalam game Anda. Ini adalah ID internal, dan tidak ditampilkan kepada pemutar. Di rilis mendatang, ID ini dapat digunakan untuk mengaktifkan fitur pelaporan dan pengoptimalan tambahan.

Sebaiknya namai semua penempatan Anda.
beforeAd fungsi (OPTIONAL) Dipanggil sebelum iklan ditampilkan. Game harus menjeda dan membisukan suara. Tindakan ini harus dilakukan secara sinkron. Iklan akan segera ditampilkan setelah callback ini selesai.
afterAd fungsi (OPTIONAL) Dipanggil setelah iklan selesai (karena alasan apa pun). Untuk iklan reward, nilai ini dipanggil setelah adDismissed atau adViewed, bergantung pada tindakan pemain. Fungsi ini harus digunakan untuk melanjutkan alur game. Misalnya, gunakan untuk membunyikan suara dan memulai level berikutnya.
adBreakDone fungsi (OPTIONAL) Selalu dipanggil sebagai langkah terakhir dalam adBreak(), meskipun tidak ada iklan yang ditampilkan. Fungsi mengambil argumen sebagai objek placementInfo 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 Dipanggil hanya 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 pemain menyelesaikan iklan dan harus diberikan reward.

adBreakDone() and placementInfo

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

Fungsi adBreakDone() menggunakan argumen placementInfo sebagai objek yang ditentukan 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' Waktu tunggu penempatan habis karena Ad Placement API terlalu lama merespons
'invalid' Penempatan tidak valid dan diabaikan–misalnya hanya boleh ada satu penempatan preroll per pemuatan halaman, pre-roll 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 ke 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 sebelumnya di-cache dibuang karena layar diubah ukurannya/dirotasi.)
'dismissed' Pengguna menutup iklan reward sebelum melihatnya sampai selesai
'viewed' Iklan telah dilihat oleh pengguna

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

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