Reklam Yerleşimleri

Bu kılavuzda, Google Mobil Reklamlar Unity eklentisinin Reklam Yerleşimler özelliğidir.

Ön koşullar

Google Mobile Ads SDK'sını başlatma

Reklamları yüklemeden önce, aşağıdaki kodu çağırarak Mobile Ads SDK'sını başlatın: Action<InitializationStatus> geri aranmasıyla MobileAds.Initialize(). Bu yalnızca bir kez yapılması gerekir. Bu işlem ideal olarak uygulama lansmanında yapılır.

using GoogleMobileAds.Api;
using System.Collections.Generic;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    ...
    public void Start()
    {
        // Initialize the Mobile Ads SDK.
        MobileAds.Initialize((initStatus) =>
        {
            // SDK initialization is complete
        });
        ...
    }
}

Reklam yerleşimleri oluşturma

Google Mobil Reklamlar ile bir banner görüntülemenin ilk adımı, banner'ın Bir reklam yerleşimini yapılandırma. Banner reklam yerleşimini seçebilirsiniz. Öğeler >'den Geçiş veya Ödüllü reklam biçimi Google Mobil Reklamlar > Reklam Yerleşimler bölümünde bulabilirsiniz. Bu durumda, üç demo reklam yerleşimi hazır olduğundan emin olun.

Yeni bir Reklam Yerleşimi eklemek için yerleşimin sonundaki Yeni Yerleşim Ekle düğmesini liste dışı bırakmalısınız. Reklam yerleşimini İnceleyici görünümünden yapılandırabilirsiniz.

Reklam yerleşimi yapılandırması

Her yerleşim aşağıdaki özelliklere sahiptir:

Yerleşim Adı
Yerleşimin adı. Şurada reklamları ayarlarken yerleşimleri tanımlamak için kullanılır: açın.
Reklam Biçimi
Banner, Ödüllü, Geçiş Reklamı. Reklamın türü.
Reklam birimi kimliği
Android ve iOS için banner reklam birimi kimliğinizi girin. Şu adreste sağlamanız gerekir: az bir reklam birimi kimliği eklemeniz gerekir.
Sahneler arasında kalıcı
İşaretlendiğinde, banner sahneden bağımsız olarak ekranda kalır (aynı davranış DontDestroyOnLoad)
.
Otomatik Yükleme Etkin
İşaretlendiğinde, şu sahneyle ilişkili bir sahne söz konusu olduğunda reklam otomatik olarak yüklenir: reklam yerleşimi yüklenir.

Aşağıdaki ekran görüntüsünde, Muhteşem Banner'ım.

Sahneye AdGameObject ekleme

Reklam öğenize Banner, Geçiş Reklamı veya Ödüllü biçimler için AdGameObject GameObject > Google Mobile Ads'i nasıl kullanacağınızı öğrenin. Önce biçimini kullanın.

Sahneye AdGameObject eklediğinizde bir GameObject görürsünüz. Unity Editor'ın Hiyerarşi görünümünde reklamı temsil etmesi.

GameObject'in adını değiştirerek yerleşimin adını değiştirebilirsiniz. kendisi. Aşağıdaki ekran görüntüsünde bir AdGameObject örneği gösterilmektedir Banner Reklam şeklinde adlandırılmıştır.

AdGameObject ayarları

Sahnenizdeki AdGameObject'i Denetleyici’den yapılandırabilirsiniz. Reklam Oyun Nesnesi (Komut Dosyası) bileşeninin ayarlarında görüntüleyin.

Reklam Yerleşimi

Yapılandırılmış yerleşimler açılır listesinden reklam yerleşimini seçin. İlgili içeriği oluşturmak için kullanılan listesi yalnızca doğru biçime sahip reklam birimleri içermelidir. Örneğin, bir banner reklam için oyun nesnelerinde açılır liste yalnızca yapılandırılmış banner reklam yerleşimlerini gösterir.

BannerAdGameObject yapılandırması (yalnızca banner)

  • Boyut: Kullanmak istediğiniz banner'ın boyutunu seçin.
    • Sabit Uyarlanabilir Banner birkaç seçenek daha sunar:
      • Yön - Reklamın hesaplanması için kullanılan cihaz yönünü seçin yükseklik.
      • Tam ekran genişliğini kullan - İşaretlendiğinde banner kaplar tam ekran genişliğinde. Ekran genişliği yüzdesini (%50~99) ayarlayabilirsiniz. Tam ekran genişliği kullan seçeneğinin işaretini kaldırın.
    • Özel, banner genişliği ve yüksekliğini sağlamanıza olanak tanır.
  • Reklam Konumu: Banner'ın yerleştirilmesi gereken konumu seçin.

Geri çağırma işlevleri

Reklam geri çağırmalarına karşılık gelen işlevleri uygulayabilirsiniz. Örneğin, Yüklenmediğinde ele almak istediğiniz işlem vardır:

  1. Reklam geri çağırmasıyla uyumlu bir işlev oluşturun.

    public void OnBannerAdFailedToLoad(string reason) {
        Debug.Log("Banner ad failed to load: " + reason);
    }
    
  2. Yukarıdaki işlevi içeren komut dosyasını sahne.

  3. + düğmesini tıklayın, ardından sürükleyin ve eklediğiniz GameObject'i bırakın aktaracağım.

  4. Reklam geri çağırmasına bağlamak istediğiniz işlevi seçin. parametreli reklam geri çağırmalarının sayısını, değişkeninin değerini gönderin.

Komut dosyasından AdGameObject kullan

Komut dosyasından AdGameObject örneğini alma

Tüm AdGameObject nesnelerinin tümü LoadAd() kolaylık yöntemine sahip. Bu, yüklenecek düz, hedeflenmemiş AdRequest içeren bir reklam. Hedefleme uygulamak için Kendi yapılandırılmış reklam isteğinizi kullanarak LoadAd(AdRequest adRequest).

Bir AdGameObject örneğini almak için her biçim için aşağıdaki yöntemi kullanın:

MobileAds.Instance.GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

Döndürülen BannerAdGameObject nesnesinin kolaylık yöntemleri de var Hide() ve Show().

Geçiş reklamı

MobileAds.Instance.GetAd<InterstitialAdGameObject>("AD_GAMEOBJECT_NAME");

Döndürülen InterstitialAdGameObject nesnesi, kolaylık yöntemi içeriyor ShowIfLoaded().

Ödüllü

MobileAds.Instance.GetAd<RewardedAdGameObject>("AD_GAMEOBJECT_NAME");

Döndürülen RewardedAdGameObject nesnesi, kolaylık yöntemi içeriyor ShowIfLoaded().

Örneğin, bir BannerAdGameObject örneğini alıp şu şekilde yükleyebilirsiniz: şöyle olur:

using UnityEngine;

using GoogleMobileAds.Api;
using GoogleMobileAds.Placement;

public class BannerTestScript : MonoBehaviour
{
    BannerAdGameObject bannerAd;

    void Start()
    {
        bannerAd = MobileAds.Instance
            .GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

        bannerAd.LoadAd();
        ...
    }
    ...
}

BannerAd adlı bir BannerAdGameObject varsa bu şekildedir:

MobileAds.Instance.GetAd<BannerAdGameObject>("BannerAd");

AdGameObject içindeki temel reklam nesnesine erişme

Bu snippet'ler, ilişkili temel reklam nesnesine nasıl erişileceğini gösterir. öğesini kullanabilirsiniz.

BannerAdGameObject bannerAd = MobileAds.Instance
    .GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

// Access BannerView object
BannerView bannerView = bannerAd.BannerView;

Geçiş reklamı

InterstitialAdGameObject interstitialAdGameObject = MobileAds.Instance
    .GetAd<InterstitialAdGameObject>("AD_GAMEOBJECT_NAME");

// Access InterstitialAd object
InterstitialAd interstitialAd = interstitialAdGameObject.InterstitialAd;

Ödüllü

RewardedAdGameObject rewardedAdGameObject = MobileAds.Instance
    .Get<RewardedAdGameObject>("AD_GAMEOBJECT_NAME");

// Access RewardedAd object
RewardedAd rewardedAd = rewardedAdGameObject.RewardedAd;

Örnekler

Geçiş reklamı gösterin

Bir oyunun geçiş reklamı yüklemek ve bunu göstermek üzere nasıl yapılandırılacağına dair bir örneği burada bulabilirsiniz. bir reklam öğesidir.

Sahneye bir InterstitialAdGameObject ekleyin ve Otomatik Yükleme'yi etkinleştirin Bu özellik etkinleştirildiğinde, sahne yüklendiğinde reklam otomatik olarak yüklenir.

Ardından, aşağıdaki adımları kullanarak SDK'yı başlattığınızdan emin olun. Otomatik AdGameObject'teki yükleme özelliği, SDK'dır.

Daha sonra, InterstitialAdGameObject.ShowIfLoaded() işlevi. Aşağıdaki kodda bir Örnek: sahne geçişi arasında geçiş reklamı gösterme.

using UnityEngine;
using UnityEngine.SceneManagement;

using GoogleMobileAds.Api;
using GoogleMobileAds.Placement;

public class MainScene : MonoBehaviour
{
    InterstitialAdGameObject interstitialAd;

    void Start()
    {
        interstitialAd = MobileAds.Instance
            .GetAd<InterstitialAdGameObject>("interstitial");

        MobileAds.Initialize((initStatus) => {
            Debug.Log("Initialized MobileAds");
        });
    }

    public void OnClickShowGameSceneButton()
    {
        // Display an interstitial ad
        interstitialAd.ShowIfLoaded();

        // Load a scene named "GameScene"
        SceneManager.LoadScene("GameScene");
    }
}

Reklam yerleşiminde Otomatik Yükleme özelliğini etkinleştirdiğiniz için bir reklam istemem gerektiğini söylüyor. Sahne değiştiğinde geçiş reklamı ve hazır olduğunda görünür.

Manuel olarak bir reklam isteğinde bulunmak isterseniz şu menüden Otomatik Yükleme özelliğini devre dışı bırakın: reklam yerleşimi inceleyicisini çağırın ve InterstitialAdGameObject.LoadAd() işlevini kullanın. Aşağıdaki kod snippet'inde, bir reklam.

public class MainScene : MonoBehaviour
{
    InterstitialAdGameObject interstitialAd;

    void Start()
    {
        interstitialAd = MobileAds.Instance
            .GetAdGameObject<InterstitialAdGameObject>("interstitial");

        MobileAds.Initialize((initStatus) => {
            Debug.Log("MobileAds initialized");

            // Load an interstitial ad after the SDK initialization is complete
            interstitialAd.LoadAd();
        });
    }
    ...
}

"Ödüllü reklam izleme" işlemini gerçekleştirme düğme durumu

"Ödüllü reklam izleme" özelliğinin nasıl etkinleştirileceğiyle ilgili bir örneği burada bulabilirsiniz. düğmesini tıklayın yerleşimler.

Sahneye bir Button GameObject (bu örnekte Button olarak adlandırılmıştır) ekleyin. Bu ödüllü reklam göstermek için kullanılacak. Bu düğmeyi yalnızca Ödüllü reklam sunulduğunda.

Start() yönteminde, düğmenin etkin durumunu false olarak değiştirin. Bu düğme sahneden kaybolur.

public class MainScene : MonoBehaviour
{
    ...
    void Start()
    {
        GameObject.Find("Button").SetActive(false);
        ...
    }
}

Sahneye bir RewardedAdGameObject ekleyin ve AdMob Demo Ödüllü Reklamını seçin Reklam Reklam Yerleşimi'ni seçin.

RewardedAdGameObject denetleyicisindeki Geri çağırmalar bölümünde, On Ad Loaded() işlevindeki + düğmesine basarak işlevin ödüllü reklam yüklendiğinde.

Önceki adımda eklediğiniz Düğme GameObject'i None (Nesne) alanına girin. Açılır menüden çağrılacak bir işlev seçin. İşlev Yok > GameObject > SetActive(bool) seçeneğini belirleyin, ardından true parametresini parametre olarak gönderir (SetActive(true) çağırır).

Bu Geri Çağırmalar bölümünde, çağrılacak bir RewardedAd.OnUserEarnedReward etkinliği tetiklendiğinde. Daha ayrıntılı bilgi için bu bölüme bakın.

Daha sonra, tıklandığında ödüllü reklam gösterecek düğmeyi yapın. Açık Düğme inceleyicideki Click() Geri Çağırmaları bölümünde + düğmesini tıklayın ve Ödüllü Reklam Yerleşimi GameNesnesini (bu öğede Ödüllü Reklam örnek) Yok (Nesne) alanına yapıştırın.

Ardından, RewardedAdGameObject.ShowIfLoaded() işlevini düğmenin On Click() geri çağırması.

Son olarak, SDK'yı başlatmayı unutmayın. Aşağıdaki kod snippet'i aşağıdaki örnekte kullanılan sahnenin tam kodunu ekleyin:

using UnityEngine;

using GoogleMobileAds.Api;

public class MainScene : MonoBehaviour
{
    void Start()
    {
        GameObject.Find("Button").SetActive(false);

        MobileAds.Initialize((initStatus) => {
            Debug.Log("Initialized MobileAds");
        });
    }
}

Projeyi çalıştırdıktan sonra, bir komut dosyası açıldığında sahnede düğmenin ödüllü reklam yüklendi ve gösterilmeye hazır.

ÖdüllüAdGameObject için ödül geri çağırması yapılandırma

Aşağıda, ödüllü bir reklama ödüllü geri çağırmanın nasıl yapılandırılacağına dair bir örnek verilmiştir Böylece, geri çağırma işlevi etkin olduğunda kullanıcıya ödül çağrıldı.

Yeni bir komut dosyası oluşturun ve parametre olarak Reward kabul eden bir işlev tanımlayın aşağıdaki gibi ekleyebilirsiniz.

using UnityEngine;
using GoogleMobileAds.Api;

class RewardedTestScript : MonoBehaviour {
    ...
    public void OnUserEarnedReward(Reward reward) {
        Debug.Log("OnUserEarnedReward: reward=" +
            reward.Type + ", amount=" + reward.Amount);
    }
    ...
}

RewardedTestScript komut dosyasını herhangi bir GameObject'e (Reklam hariç) Oyun Nesnesi Yerleşimi). Bu örnekte, Kamera GameNesnesi.

Sahneye RewardedAdGameObject ekleyin. Aramalar bölümünde RewardedAdGameObject denetleyicisinde, Kullanıcıda'daki + düğmesini tıklayın. Ödül olduğunda işlevin çağrılmasını sağlamak için Ödül (Ödül) kazanıldı: bir veridir.

Önceki None (Nesne) alanına girin. açılır. İşlev Yok > ÖdüllüTestScript > OnUserearnedReward

Projeyi yürütüp ödüllü reklamı izledikten sonra RewardedTestScript.OnUserEarnedReward() çağrılacak: reklam etkileşimi için ödüllendirilir.