Iklan picture-in-picture (PiP) ditampilkan di jendela mengambang yang tetap berada di atas konten di layar, seperti artikel, feed, atau gameplay. Format ini memungkinkan pengguna berinteraksi dengan aplikasi Anda saat iklan tetap terlihat. Untuk menampilkan iklan yang tidak memenuhi seluruh layar, pilih format ini.
Panduan ini membahas cara meminta dan menampilkan iklan picture-in-picture di aplikasi Anda menggunakan Google Mobile Ads Unity Plugin.
Sebelum memulai
Sebelum melanjutkan, lakukan hal berikut:
Instal Google Mobile Ads Unity Plugin versi
11.6.0atau yang lebih baru.
- Untuk aplikasi Android, instal GMA Next-Gen SDK.
Aktifkan iklan pengujian dan gunakan ID unit iklan uji coba berikut:
/21775744923/example/picture-in-picture
Memuat iklan
Untuk memuat objek
PictureInPictureAd, buat permintaan iklan dan panggil metode pemuatan:
Ganti _adUnitId dengan ID unit iklan Anda.
Menampilkan iklan
Untuk menampilkan iklan picture-in-picture di layar, panggil metode show. Contoh berikut menampilkan iklan di posisi default:
public void ShowPictureInPictureAd() { // Use the ad reference saved from the Load callback. if (_pictureInPictureAd != null) { _pictureInPictureAd.Show(); } else { Debug.Log("No ad to show."); } }
Menetapkan posisi
Secara default, Google Mobile Ads Unity Plugin menampilkan iklan picture-in-picture di pojok kanan bawah layar saat pertama kali ditampilkan, atau di posisi terakhir yang diketahui jika sebelumnya ditampilkan. Untuk menyesuaikan tempat iklan muncul, tentukan posisi saat menampilkan iklan. Contoh berikut menetapkan posisi di atas konten di sudut kiri atas layar:
public void ShowPictureInPictureAdTopLeft() { // Use the ad reference saved from the Load callback. if (_pictureInPictureAd != null) { _pictureInPictureAd.Show(PictureInPictureAdPosition.TopLeft); } else { Debug.Log("No ad to show."); } }
Untuk semua posisi yang tersedia, lihat
PictureInPictureAdPosition.
Memproses peristiwa iklan
Untuk menangani peristiwa siklus proses iklan picture-in-picture, daftarkan peristiwa iklan sebelum menampilkan iklan. Peristiwa ini melaporkan interaksi iklan, seperti klik dan tayangan iklan. Peristiwa ini juga melaporkan peristiwa khusus picture-in-picture, seperti saat iklan ditampilkan atau disembunyikan:
private void RegisterEventHandlers(PictureInPictureAd ad) { // Raised when the ad is estimated to have earned money. ad.OnAdPaid += (AdValue adValue) => { Debug.Log($"Picture-in-picture ad paid: {adValue.Value} {adValue.CurrencyCode}"); }; // Raised when an impression is recorded for an ad. ad.OnAdImpressionRecorded += () => { Debug.Log("Picture-in-picture ad recorded an impression."); }; // Raised when a click is recorded for an ad. ad.OnAdClicked += () => { Debug.Log("Picture-in-picture ad recorded a click."); }; // Raised when the picture-in-picture ad is displayed on the screen. ad.OnAdShown += () => { Debug.Log("Picture-in-picture ad shown."); }; // Raised when the picture-in-picture ad is hidden from the screen. ad.OnAdHidden += () => { Debug.Log("Picture-in-picture ad hidden."); }; // Raised when an ad opened full screen content. ad.OnAdFullScreenContentOpened += () => { Debug.Log("Picture-in-picture ad opened full screen content."); }; // Raised when the ad closed full screen content. ad.OnAdFullScreenContentClosed += () => { Debug.Log("Picture-in-picture ad closed full screen content."); }; // Raised when the ad failed to open full screen content. ad.OnAdFullScreenContentFailed += (AdError error) => { Debug.LogWarning( "Picture-in-picture ad failed to open full screen " + "content: " + error); }; }
Menyembunyikan iklan
Untuk menghapus iklan mengambang dari layar, panggil metode hide. Metode ini memanggil peristiwa iklan tersembunyi:
public void HidePictureInPictureAd() { // Use the ad reference saved from the Load callback. if (_pictureInPictureAd != null) { _pictureInPictureAd.Hide(); } else { Debug.Log("No ad to hide."); } }
Membersihkan resource iklan
Untuk menghindari kebocoran memori, hapus referensi Anda ke objek iklan setelah aplikasi Anda selesai menggunakan iklan. Misalnya, saat aplikasi Anda tidak lagi menampilkan atau berinteraksi dengan iklan:
public void DestroyPictureInPictureAd() { // Use the ad reference saved from the Load callback. if (_pictureInPictureAd != null) { _pictureInPictureAd.Destroy(); _pictureInPictureAd = null; } }