Geçiş reklamları, barındıkları uygulamanın arayüzünü kaplayan tam ekran reklamlardır. Genellikle bir uygulamanın akışındaki doğal geçiş noktalarında (ör. oyun seviyeleri arasındaki duraklatmalar sırasında) gösterilir. Bir uygulama geçiş reklamı gösterdiğinde kullanıcı, reklama dokunup hedef sayfaya devam edebilir veya reklamı kapatıp uygulamaya geri dönebilir. Kasus çalışması.
Bu kılavuzda, geçiş reklamlarının Unity uygulamasına nasıl entegre edileceği açıklanmaktadır.
Ön koşullar
- Başlangıç kılavuzunu tamamlayın.
Her zaman test reklamlarıyla test yapın
Aşağıdaki örnek kod, test reklamları istemek için kullanabileceğiniz bir reklam birimi kimliği içerir. Her istek için yayın reklamları yerine test reklamları döndürecek şekilde özel olarak yapılandırılmıştır. Bu sayede güvenli bir şekilde kullanılabilir.
Ancak AdMob web arayüzüne bir uygulama kaydettikten ve uygulamanızda kullanmak için kendi reklam birimi kimliklerinizi oluşturduktan sonra, geliştirme sırasında cihazınızı test cihazı olarak açıkça yapılandırın.
Yapay Zeka
ca-app-pub-3940256099942544/1033173712
iOS
ca-app-pub-3940256099942544/4411468910
Mobile Ads SDK'sını ilk kullanıma hazırlayın
Reklamları yüklemeden önce uygulamanızın MobileAds.Initialize()
çağrısını yaparak Mobile Ads SDK'sını ilk kullanıma hazırlamasını sağlayın. Bu işlemin ideal olarak uygulamanın lansmanında bir kez yapılması gerekir.
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
Uyumlulaştırma kullanıyorsanız reklamları yüklemeden önce geri çağırma işlevinin gerçekleşmesini bekleyin. Bu, tüm uyumlulaştırma bağdaştırıcıların başlatılmasını sağlar.
Uygulama
Geçiş reklamlarını entegre etmenin ana adımları şunlardır:
- Geçiş reklamını yükleme
- Geçiş reklamını gösterme
- Geçiş reklamı etkinliklerini dinleme
- Geçiş reklamını temizleyin
- Sonraki geçiş reklamını önceden yükleme
Geçiş reklamını yükleme
Geçiş reklamı yükleme işlemi, InterstitialAd
sınıfındaki statik Load()
yöntemi kullanılarak gerçekleştirilir. load yöntemi için bir reklam birimi kimliği, bir AdRequest
nesnesi ve reklam yükleme başarılı olduğunda veya başarısız olduğunda çağrılan bir tamamlama işleyici gerekir. Yüklenen InterstitialAd
nesnesi, tamamlama işleyicide parametre olarak sağlanır. Aşağıdaki örnekte bir InterstitialAd
öğesinin nasıl yükleneceği gösterilmektedir.
// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
private string _adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
private string _adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
private string _adUnitId = "unused";
#endif
private InterstitialAd _interstitialAd;
/// <summary>
/// Loads the interstitial ad.
/// </summary>
public void LoadInterstitialAd()
{
// Clean up the old ad before loading a new one.
if (_interstitialAd != null)
{
_interstitialAd.Destroy();
_interstitialAd = null;
}
Debug.Log("Loading the interstitial ad.");
// create our request used to load the ad.
var adRequest = new AdRequest();
// send the request to load the ad.
InterstitialAd.Load(_adUnitId, adRequest,
(InterstitialAd ad, LoadAdError error) =>
{
// if error is not null, the load request failed.
if (error != null || ad == null)
{
Debug.LogError("interstitial ad failed to load an ad " +
"with error : " + error);
return;
}
Debug.Log("Interstitial ad loaded with response : "
+ ad.GetResponseInfo());
_interstitialAd = ad;
});
}
Geçiş reklamını gösterme
Yüklenen bir geçiş reklamını göstermek için InterstitialAd
örneğinde Show()
yöntemini çağırın. Reklamlar her yükleme için bir kez gösterilebilir. Reklamın gösterilmeye hazır olduğunu doğrulamak için CanShowAd()
yöntemini kullanın.
/// <summary>
/// Shows the interstitial ad.
/// </summary>
public void ShowInterstitialAd()
{
if (_interstitialAd != null && _interstitialAd.CanShowAd())
{
Debug.Log("Showing interstitial ad.");
_interstitialAd.Show();
}
else
{
Debug.LogError("Interstitial ad is not ready yet.");
}
}
Geçiş reklamı etkinliklerini dinleme
Reklamınızın davranışını daha da özelleştirmek için reklamın yaşam döngüsünde çeşitli etkinliklere bağlanabilirsiniz. Aşağıda gösterildiği gibi bir temsilci kaydederek bu etkinlikleri dinleyin.
private void RegisterEventHandlers(InterstitialAd interstitialAd)
{
// Raised when the ad is estimated to have earned money.
interstitialAd.OnAdPaid += (AdValue adValue) =>
{
Debug.Log(String.Format("Interstitial ad paid {0} {1}.",
adValue.Value,
adValue.CurrencyCode));
};
// Raised when an impression is recorded for an ad.
interstitialAd.OnAdImpressionRecorded += () =>
{
Debug.Log("Interstitial ad recorded an impression.");
};
// Raised when a click is recorded for an ad.
interstitialAd.OnAdClicked += () =>
{
Debug.Log("Interstitial ad was clicked.");
};
// Raised when an ad opened full screen content.
interstitialAd.OnAdFullScreenContentOpened += () =>
{
Debug.Log("Interstitial ad full screen content opened.");
};
// Raised when the ad closed full screen content.
interstitialAd.OnAdFullScreenContentClosed += () =>
{
Debug.Log("Interstitial ad full screen content closed.");
};
// Raised when the ad failed to open full screen content.
interstitialAd.OnAdFullScreenContentFailed += (AdError error) =>
{
Debug.LogError("Interstitial ad failed to open full screen content " +
"with error : " + error);
};
}
Geçiş reklamını temizleyin
Bir InterstitialAd
ile işiniz bittiğinde, referansınızı bırakmadan önce Destroy()
yöntemini çağırdığınızdan emin olun:
_interstitialAd.Destroy();
Bu işlem, eklentiye nesnenin artık kullanılmadığını ve kapladığı belleğin geri alınabileceğini bildirir. Bu yöntemin çağrılmaması bellek sızıntısına neden olur.
Sonraki geçiş reklamını önceden yükleme
Geçiş reklamları tek kullanımlık bir nesnedir. Bu, geçiş reklamı gösterildikten sonra nesnenin tekrar kullanılamayacağı anlamına gelir. Başka bir geçiş reklamı istemek için yeni bir InterstitialAd
nesnesi oluşturun.
Bir sonraki gösterim fırsatı için geçiş reklamı hazırlamak üzere OnAdFullScreenContentClosed
veya OnAdFullScreenContentFailed
reklam etkinliği oluşturulduktan sonra geçiş reklamını önceden yükleyin.
private void RegisterReloadHandler(InterstitialAd interstitialAd)
{
// Raised when the ad closed full screen content.
interstitialAd.OnAdFullScreenContentClosed += ()
{
Debug.Log("Interstitial Ad full screen content closed.");
// Reload the ad so that we can show another as soon as possible.
LoadInterstitialAd();
};
// Raised when the ad failed to open full screen content.
interstitialAd.OnAdFullScreenContentFailed += (AdError error) =>
{
Debug.LogError("Interstitial ad failed to open full screen content " +
"with error : " + error);
// Reload the ad so that we can show another as soon as possible.
LoadInterstitialAd();
};
}
En iyi uygulamalar
- Geçiş reklamlarının uygulamanız için doğru reklam türü olup olmadığını belirleyin.
- Geçiş reklamları, doğal geçiş noktalarının olduğu uygulamalarda en iyi sonucu verir. Uygulama içinde resim paylaşma veya oyun seviyesini bitirme gibi bir görevin tamamlanması, geçiş noktası olarak değerlendirilebilir. Uygulamanızın akışında geçiş reklamlarının en iyi şekilde gösterileceği noktaları ve kullanıcının nasıl yanıt verebileceğini göz önünde bulundurun.
- Geçiş reklamı gösterilirken işlemi duraklatın.
- Metin, resim veya video gibi birkaç farklı türde geçiş reklamı kullanabilirsiniz. Uygulamanız bir geçiş reklamı gösterdiğinde, reklamın bu kaynaklardan yararlanabilmesi için bazı kaynakların kullanımını da askıya alması önemlidir. Örneğin, geçiş reklamı gösterme çağrısı yaptığınızda uygulamanız tarafından üretilen tüm ses çıkışlarını duraklattığınızdan emin olun. Kullanıcı reklamla etkileşimi bitirdiğinde çağrılabilecek
OnAdFullScreenContentClosed()
etkinliğinde sesleri oynatmaya devam edebilirsiniz. Ayrıca, reklam gösterilirken oyun döngüsü gibi yoğun hesaplama görevlerini geçici olarak duraklatabilirsiniz. Bu sayede kullanıcı, yavaş veya yanıt vermeyen grafikler ya da takılan videolar yaşamaz. - Kullanıcıyı reklamlarla boğmayın.
- Uygulamanızda geçiş reklamlarının sıklığını artırmak, geliri artırmanın mükemmel bir yolu gibi görünse de kullanıcı deneyimini olumsuz etkileyebilir ve tıklama oranlarını düşürebilir. Kullanıcıların uygulamanızı kullanmanın keyfini çıkaramayacak kadar sık kesintiye uğramamasını sağlayın.
Ek kaynaklar
- Merhaba Dünya örneği: Tüm reklam biçimlerinin minimum düzeyde uygulanması.