Bu kılavuzda, Google Mobil Reklamlar Unity eklentisinin Reklam Yerleşimler özelliğidir.
Ön koşullar
Unity 2017.4 veya sonraki sürümler.
İndir ve GMA Unity eklentisinin erken derlemesini içe aktarın.
AdMob uygulama kimliğinizi Unity Düzenleyici.
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.
- Sabit Uyarlanabilir Banner birkaç seçenek daha sunar:
- 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:
Reklam geri çağırmasıyla uyumlu bir işlev oluşturun.
public void OnBannerAdFailedToLoad(string reason) { Debug.Log("Banner ad failed to load: " + reason); }
Yukarıdaki işlevi içeren komut dosyasını sahne.
+ düğmesini tıklayın, ardından sürükleyin ve eklediğiniz GameObject'i bırakın aktaracağım.
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:
Banner
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.
Banner
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.