Geri bildiriminizi paylaşın ve Google Mobile Ads SDK'sı yol haritasının şekillendirilmesine yardımcı olun. 5 Mayıs 2023'te sona ermeden önce 2023 Google Mobile Ads SDK'sı Yıllık Anketi'ne katılın.

Geçiş reklamları

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Geçiş reklamları, ana makine uygulamalarının arayüzünü kaplayan tam ekran reklamlardır. Genellikle bir uygulamanın akışındaki doğal geçiş noktalarında (ör. bir oyundaki seviyeler arasındaki duraklama sırasında) gösterilirler. Uygulama bir geçiş reklamı gösterdiğinde, kullanıcının reklama dokunmasını ve hedefine devam edip kapatmasını ve uygulamaya geri dönmesini seçebilir. Örnek olay.

Bu kılavuzda, geçiş reklamlarının bir Unity uygulamasına nasıl entegre edileceği açıklanmaktadır.

Ön koşullar

Always test with test ads

The sample code below contains an ad unit ID which you can use to request test ads. It's been specially configured to return test ads rather than production ads for every request, making it safe to use.

However, once you register an app in the AdMob UI and create your own ad unit IDs for use in your app, you'll need to explicitly configure your device as a test device during development.

Android

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

Initialize the Mobile Ads SDK

Before loading ads, have your app initialize the Mobile Ads SDK by calling MobileAds.Initialize(). This needs to be done only once, ideally at app launch.

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.
        });
    }
}

If you're using mediation, wait until the callback occurs before loading ads as this will ensure that all mediation adapters are initialized.

Uygulama

Geçiş reklamlarını entegre etmenin temel adımları şunlardır:

  1. Geçiş reklamını yükleyin
  2. Geçiş reklamını göster
  3. Geçiş reklamı etkinliklerini dinleme
  4. Geçiş reklamını temizleyin
  5. Sonraki geçiş reklamını önceden yükleme

Geçiş reklamını yükleyin

Geçiş reklamı yükleme işlemi, InterstitialAd sınıfındaki statik Load() yöntemi kullanılarak gerçekleştirilir. Yükleme yöntemi, reklam birimi başarılı veya başarısız olduğunda çağrılacak bir reklam birimi kimliği, AdRequest nesnesi ve bir tamamlama işleyici gerektirir. Yüklenen InterstitialAd nesnesi, tamamlama işleyicisinde parametre olarak sağlanır. Aşağıdaki örnekte InterstitialAd nasıl yüklenir?

// 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.Builder()
              .AddKeyword("unity-admob-sample")
              .Build();

      // 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öster

Yüklenen geçiş reklamı göstermek için InterstitialAd örneğinde Show() yöntemini çağırın. Reklamlar, yükleme başına 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 ShowAd()
{
    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 davranışını daha da özelleştirmek için reklamınızın yaşam döngüsündeki açık, kapanan ve farklı etkinlikler dahil edebilirsiniz. Aşağıda gösterildiği gibi bir yetki vererek kaydolarak bu etkinlikleri dinleyin.

private void RegisterEventHandlers(InterstitialAd ad)
{
    // Raised when the ad is estimated to have earned money.
    ad.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.
    ad.OnAdImpressionRecorded += () =>
    {
        Debug.Log("Interstitial ad recorded an impression.");
    };
    // Raised when a click is recorded for an ad.
    ad.OnAdClicked += () =>
    {
        Debug.Log("Interstitial ad was clicked.");
    };
    // Raised when an ad opened full screen content.
    ad.OnAdFullScreenContentOpened += () =>
    {
        Debug.Log("Interstitial ad full screen content opened.");
    };
    // Raised when the ad closed full screen content.
    ad.OnAdFullScreenContentClosed += () =>
    {
        Debug.Log("Interstitial ad full screen content closed.");
    };
    // Raised when the ad failed to open full screen content.
    ad.OnAdFullScreenContentFailed += (AdError error) =>
    {
        Debug.LogError("Interstitial ad failed to open full screen content " +
                       "with error : " + error);
    };
}

Geçiş reklamını temizleyin

InterstitialAd ile işiniz bittiğinde, referansını bırakmadan önce Destroy() yöntemini çağırdığınızdan emin olun:

interstitialAd.Destroy();

Böylece eklenti, nesnenin artık kullanılmadığını ve belleğe sahip olduğu belleği geri alabileceğini bildirir. Bu yöntemin çağrılmaması bellek sızıntılarına neden olur.

Sonraki geçiş reklamını önceden yükleme

Geçiş reklamları, tek kullanımlık bir nesnedir. Geçiş reklamı gösterildikten sonra nesne tekrar kullanılamaz. Başka bir geçiş reklamı istemek için yeni bir InterstitialAd nesnesi oluşturmanız gerekir.

Bir sonraki gösterim fırsatına geçiş reklamı hazırlamak için, OnAdFullScreenContentClosed veya OnAdFullScreenContentFailed reklam etkinliği oluşturulduktan sonra geçiş reklamını önceden yükleyin.

private void RegisterReloadHandler(InterstitialAd ad)
{
    // Raised when the ad closed full screen content.
    ad.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.
    ad.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();
    };
}

Bazı en iyi uygulamalar

Geçiş reklamlarının uygulamanız için doğru reklam türü olup olmadığını değerlendirin.
Geçiş reklamları, doğal geçiş noktalarına sahip uygulamalarda en iyi sonucu verir. Uygulama içinde bir görev tamamlamak (ör. resim paylaşmak veya oyunda bir seviye bitirmek), bu tür bir noktayı oluşturur. Kullanıcılar işlemde ara vermeyi beklediğinden, deneyimlerini kesintiye uğratmadan geçiş reklamını sunmak kolaydır. Uygulamanızın iş akışında hangi noktalarda geçiş reklamı göstereceğinizi ve kullanıcının nasıl yanıt verebileceğini dikkate aldığınızdan emin olun.
Geçiş reklamı gösterirken işlemi duraklatmayı unutmayın.
Bir dizi farklı geçiş reklamı türü vardır: metin, resim, video ve diğerleri. Uygulamanızda bir geçiş reklamı gösterildiğinde, reklamın bunlardan yararlanmasını sağlamak için bazı kaynakların kullanımını askıya alması önemlidir. Örneğin, bir geçiş reklamı görüntülemek için çağrı yaptığınızda, uygulamanızın oluşturduğu tüm ses çıkışlarını duraklattığınızdan emin olun. Kullanıcı OnAdFullScreenContentClosed() Ayrıca, reklam görüntülenirken yoğun hesaplama görevlerini (ör. oyun döngüsü) geçici olarak durdurmayı düşünebilirsiniz. Bu, kullanıcının yavaş veya yanıtsız grafikler veya takılmalı video yaşamamasını sağlar.
Kullanıcıyı reklamlara maruz bırakmayın.
Uygulamanızdaki geçiş reklamlarının sıklığını artırmak, geliri artırmanın iyi bir yolu gibi görünse de kullanıcı deneyimini kötüleştirebilir ve tıklama oranlarını düşürebilir. Kullanıcıların uygulamanızı artık kullanamayacakları kadar sık bir şekilde kesintiye uğramadıklarından emin olun.

Ek kaynaklar

Örnekler

Başarı öyküleri