Menambahkan Iklan Interstisial ke Aplikasi Kesatuan

Dengan Audience Network, Anda dapat memonetisasi aplikasi Android dan iOS dengan iklan Facebook. Iklan interstisial adalah pengalaman layar iklan penuh yang dapat digunakan pada titik transisi dalam alur aplikasi, misalnya di antara aktivitas atau selama jeda antar level dalam game. Konten materi iklan dapat berupa gambar, video, atau carousel. Panduan ini menjelaskan cara menambahkan iklan interstisial ke aplikasi Anda.

Pastikan Anda sudah membaca tuntas panduan Memulai Audience Network dan Memulai Unity sebelum melanjutkan.

Langkah Iklan Interstisial

Langkah 1: Membuat Objek Iklan Interstisial

Langkah 2: Menambahkan Peristiwa Panggilan Balik

Langkah 3: Memuat Iklan

Langkah 4: Menampilkan Iklan

Langkah 1: Membuat Objek Iklan Interstisial

Langkah pertama untuk menampilkan iklan interstisial adalah membuat objek InterstitialAd dalam skrip C# yang terlampir ke GameObject.

...
using AudienceNetwork;
...

public class InterstitialAdTest : MonoBehaviour
{
    ...
    private InterstitialAd interstitialAd;
    private bool isLoaded;
    ...

    public void LoadInterstitial()
    {
        this.interstitialAd = new InterstitialAd("YOUR_PLACEMENT_ID");
        this.interstitialAd.Register(this.gameObject);

        // Set delegates to get notified on changes or when the user interacts with the ad.
        this.interstitialAd.InterstitialAdDidLoad = (delegate() {
            Debug.Log("Interstitial ad loaded.");
            this.isLoaded = true;
        });
        interstitialAd.InterstitialAdDidFailWithError = (delegate(string error) {
            Debug.Log("Interstitial ad failed to load with error: " + error);
        });
        interstitialAd.InterstitialAdWillLogImpression = (delegate() {
            Debug.Log("Interstitial ad logged impression.");
        });
        interstitialAd.InterstitialAdDidClick = (delegate() {
            Debug.Log("Interstitial ad clicked.");
        });

        this.interstitialAd.interstitialAdDidClose = (delegate() {
            Debug.Log("Interstitial ad did close.");
            if (this.interstitialAd != null) {
                this.interstitialAd.Dispose();
            }
        });

        // Initiate the request to load the ad.
        this.interstitialAd.LoadAd();
    }
    ...
}

Konstruktor untuk InterstitialAd memiliki parameter berikut:

  • placementId - ID Penempatan Audience Network untuk unit iklan interstisial ini.

Langkah 2: Menambahkan Peristiwa Panggilan Balik

Selanjutnya, Anda dapat menerapkan beberapa panggilan balik untuk berlangganan peristiwa siklus hidup iklan. Dengarkan peristiwa ini dengan mendaftarkan delegasi untuk peristiwa tersebut, seperti yang ditunjukkan pada contoh di bawah ini:

...
// Set delegates to get notified on changes or when the user interacts with the ad.
this.interstitialAd.InterstitialAdDidLoad = (delegate() {
    Debug.Log("Interstitial ad loaded.");
    this.isLoaded = true;
});
interstitialAd.InterstitialAdDidFailWithError = (delegate(string error) {
    Debug.Log("Interstitial ad failed to load with error: " + error);
});
interstitialAd.InterstitialAdWillLogImpression = (delegate() {
    Debug.Log("Interstitial ad logged impression.");
});
interstitialAd.InterstitialAdDidClick = (delegate() {
    Debug.Log("Interstitial ad clicked.");
});

this.interstitialAd.interstitialAdDidClose = (delegate() {
    Debug.Log("Interstitial ad did close.");
    if (this.interstitialAd != null) {
        this.interstitialAd.Dispose();
    }
});
...

Callback untuk Aktivitas Iklan Rusak di Unity Android.

Ini hanya relevan untuk Android.

Saat ini, game Unity untuk Android hanya mendukung Unity utama Activity untuk menggunakan launchMode dari singleTask. Lihat Dokumen Unity untuk manifes Android dan dokumen Android untuk aktivitas.

Karena kami menggunakan Activity untuk menampilkan Interstitial dan iklan Rewarded Video, aktivitas iklan tersebut bisa rusak jika pengguna membuka aplikasi dan menutupnya dengan tidak benar, kemudian membukanya kembali menggunakan ikon, bukan pengalih aplikasi. Anda dapat menggunakan callback berikut dan memastikan bahwa iklan ini sudah ditutup oleh pengguna lain:

Untuk Interstisial:

this.interstitialAd.interstitialAdDidClose = (delegate() { Debug.Log("Interstitial ad did close."); this.didClose = true; if (this.interstitialAd != null) { this.interstitialAd.Dispose(); } }); #if UNITY_ANDROID /* * Hanya relevan untuk Android. * Callback ini hanya akan dipicu jika aktivitas Interstisial * rusak tanpa ditutup dengan benar. Hal ini dapat terjadi jika * aplikasi dengan launchMode:singleTask (seperti game Unity) membuka * latar belakang dan kemudian dibuka kembali dengan mengetuk ikon. */ this.interstitialAd.interstitialAdActivityDestroyed = (delegate() { if (!this.didClose) { Debug.Log("Interstitial activity destroyed without being closed first."); Debug.Log("Game should resume."); } }); #endif 

Untuk Video Berinsentif:

this.rewardedVideoAd.rewardedVideoAdDidClose = (delegate() { Debug.Log("Rewarded video ad did close."); this.didClose = true; if (this.rewardedVideoAd != null) { this.rewardedVideoAd.Dispose(); } }); #if UNITY_ANDROID /* * Hanya relevan untuk Android. * Callback ini hanya akan dipicu jika aktivitas Video Berinsentif * rusak tanpa ditutup dengan benar. Hal ini dapat terjadi jika * aplikasi dengan launchMode:singleTask (seperti game Unity) membuka * latar belakang dan kemudian dibuka kembali dengan mengetuk ikon. */ this.rewardedVideoAd.rewardedVideoAdActivityDestroyed = (delegate() { if (!this.didClose) { Debug.Log("Rewarded video activity destroyed without being closed first."); Debug.Log("Game should resume. User should not get a reward."); } }); #endif 

Langkah 3: Memuat Iklan

Setelah InterstitialAd diinstansiasikan, langkah selanjutnya adalah memuat iklan. Itu dilakukan dengan metode loadAd() di kelas InterstitialAd.

Pada contoh yang ditampilkan di atas, berikut ini cara memuat iklan:

...
this.interstitialAd.LoadAd();
...

Langkah 4: Menampilkan Iklan

Terakhir, setelah iklan interstisial dimuat, Anda dapat memanggil metode Show untuk me-render iklan interstisial di layar. Contoh: Anda bisa memiliki fungsi ShowInterstitial, dan memanggil fungsi ini ketika tiba saatnya untuk menampilkan iklan interstisial:

// Show button
public void ShowInterstitial()
{
    if (this.isLoaded) {
        this.interstitialAd.Show();
        this.isLoaded = false;

    } else {
        Debug.Log("Interstitial Ad not loaded!");
    }
}

Langkah Berikutnya

Ikuti panduan kami untuk mengintegrasikan berbagai Format Iklan ke dalam aplikasi Unity Anda:

Setelah Anda siap meluncurkan aplikasi Anda dan memonetisasi, kirimkan aplikasi Anda untuk tinjauan setelah memastikannya mematuhi kebijakan Audience Network dan standar komunitas Facebook.