Iklan overlay native

Mulai

Iklan overlay native ditampilkan kepada pengguna melalui komponen UI yang merupakan bagian native dari platform. Iklan ini ditampilkan sebagai overlay di atas aplikasi. Cara kerjanya mirip dengan iklan banner, tetapi dengan kemampuan untuk menyesuaikan tampilan iklan.

Iklan overlay native mendukung mediasi dan iklan video. Ini adalah keunggulan utama yang dimiliki iklan overlay native dibandingkan iklan native.

Panduan ini menunjukkan cara menerapkan iklan overlay native di aplikasi Unity, serta beberapa hal penting yang perlu dipertimbangkan saat melakukannya.

Prasyarat

Selalu uji dengan iklan percobaan

Kode contoh berikut berisi ID unit iklan yang dapat Anda gunakan untuk meminta iklan percobaan. Iklan ini telah dikonfigurasi secara khusus untuk menampilkan iklan pengujian, bukan iklan produksi untuk setiap permintaan, sehingga aman digunakan.

Namun, setelah mendaftarkan aplikasi di antarmuka web AdMob dan membuat ID unit iklan Anda sendiri untuk digunakan di aplikasi, konfigurasi perangkat Anda sebagai perangkat pengujian secara eksplisit selama pengembangan.

Android

ca-app-pub-3940256099942544/2247696110

iOS

ca-app-pub-3940256099942544/3986624511

Memuat iklan overlay native

Pemuatan iklan overlay native dilakukan menggunakan metode Load() statis pada class NativeOverlayAd. Objek NativeOverlayAd yang dimuat disediakan sebagai parameter di pengendali penyelesaian.

Kode berikut menggunakan NativeOverlayAd untuk memuat iklan:



  // These ad units are configured to always serve test ads.
#if UNITY_ANDROID
  private string _adUnitId = "ca-app-pub-3940256099942544/2247696110";
#elif UNITY_IPHONE
  private string _adUnitId = "ca-app-pub-3940256099942544/3986624511";
#else
  private string _adUnitId = "unused";
#endif


private NativeOverlayAd _nativeOverlayAd;

/// <summary>
/// Loads the ad.
/// </summary>
public void LoadAd()
{
    // Clean up the old ad before loading a new one.
    if (_nativeOverlayAd != null)
    {
        DestroyAd();
    }

    Debug.Log("Loading native overlay ad.");

    // Create a request used to load the ad.
    var adRequest = new AdRequest();

    // Optional: Define native ad options.
    var options = new NativeAdOptions
    {
        AdChoicesPosition = AdChoicesPlacement.TopRightCorner,
        MediaAspectRatio = NativeMediaAspectRatio.Any,
    };

    // Send the request to load the ad.
    NativeOverlayAd.Load(_adUnitId, adRequest, options,
        (NativeOverlayAd ad, LoadAdError error) =>
    {
        if (error != null)
        {
            Debug.LogError("Native Overlay ad failed to load an ad " +
                           " with error: " + error);
            return;
        }

        // The ad should always be non-null if the error is null, but
        // double-check to avoid a crash.
        if (ad == null)
        {
            Debug.LogError("Unexpected error: Native Overlay ad load event " +
                           " fired with null ad and null error.");
            return;
        }

        // The operation completed successfully.
        Debug.Log("Native Overlay ad loaded with response : " +
                   ad.GetResponseInfo());
        _nativeOverlayAd = ad;

        // Register to ad events to extend functionality.
        RegisterEventHandlers(ad);
    });
}

Merender dan menata gaya iklan overlay native

Iklan overlay native dirender menggunakan NativeTemplateStyle. Class ini menentukan kolom yang memungkinkan Anda menyesuaikan tampilan iklan.

TemplateID adalah string wajib yang menentukan template native yang digunakan untuk merender iklan overlay native. Gunakan konstanta NativeTemplateID untuk memilih template native yang sesuai untuk iklan Anda.

Kode berikut merender iklan overlay native dengan template sedang dan gaya kustom.

/// <summary>
/// Renders the ad.
/// </summary>
public void RenderAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Rendering Native Overlay ad.");

        // Define a native template style with a custom style.
        var style = new NativeTemplateStyle
        {
            TemplateID = NativeTemplateID.Medium,
            MainBackgroundColor = Color.red,
            CallToActionText = new NativeTemplateTextStyles
            {
                BackgroundColor = Color.green,
                FontColor = Color.white,
                FontSize = 9,
                Style = NativeTemplateFontStyle.Bold
            }
        };

        // Renders a native overlay ad at the default size
        // and anchored to the bottom of the screne.
        _nativeOverlayAd.RenderTemplate(style, AdPosition.Bottom);
    }
}

Menampilkan dan menyembunyikan iklan overlay native

Kode berikut menunjukkan cara menampilkan iklan overlay native yang dimuat.

/// <summary>
/// Shows the ad.
/// </summary>
public void ShowAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Showing Native Overlay ad.");
        _nativeOverlayAd.Show();
    }
}

Menyembunyikan iklan overlay native

Kode berikut menunjukkan cara menyembunyikan iklan overlay native.

/// <summary>
/// Hides the ad.
/// </summary>
public void HideAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Hiding Native Overlay ad.");
        _nativeOverlayAd.Hide();
    }
}

Menghancurkan iklan overlay native

Setelah selesai menggunakan iklan overlay native, pastikan untuk memanggil Destroy() untuk melepaskan resource.

/// <summary>
/// Destroys the native overlay ad.
/// </summary>
public void DestroyAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Destroying native overlay ad.");
        _nativeOverlayAd.Destroy();
        _nativeOverlayAd = null;
    }
}

Langkah Berikutnya