Geçiş

Geçiş reklamları, ana makine uygulamasının arayüzünü kapsayan tam ekran reklamlardır. Genellikle bir uygulamanın akışındaki doğal geçiş noktalarında (ör. etkinlikler arasında veya bir oyundaki seviyeler arasındaki duraklama sırasında) gösterilir. Bir uygulama geçiş reklamı gösterdiğinde kullanıcı, reklama dokunup hedefine devam etme veya reklamı kapatıp uygulamaya dönme arasında seçim yapabilir.

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

Her zaman test reklamlarıyla test etme

Uygulamalarınızı oluştururken ve test ederken canlı, üretim reklamları yerine test reklamlarını kullandığınızdan emin olun. Bunu yapmazsanız hesabınız askıya alınabilir.

Test reklamlarını yüklemenin en kolay yolu, geçiş reklamları için özel test reklam birimi kimliğimizi kullanmaktır:

Android

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

Test reklam birimleri her istek için test reklamları döndürecek şekilde yapılandırılır. Bu reklam birimlerini kodlama, test ve hata ayıklama sırasında kendi uygulamalarınızda da kullanabilirsiniz. Yalnızca uygulamanızı yayınlamadan önce bunları kendi reklam birimi kimliklerinizle değiştirdiğinizden emin olun.

Reklam yükle

Aşağıdaki örnek bir geçiş reklamı yükler:

class InterstitialExampleState extends State<InterstitialExample> {
  InterstitialAd? _interstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = Platform.isAndroid
    ? 'ca-app-pub-3940256099942544/1033173712'
    : 'ca-app-pub-3940256099942544/4411468910';

  /// Loads an interstitial ad.
  void loadAd() {
    InterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdRequest(),
        adLoadCallback: InterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _interstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('InterstitialAd failed to load: $error');
          },
        ));
  }
}

Geçiş reklamı etkinlikleri

FullScreenContentCallback kullanarak reklamın gösterilmesi veya reddedilmesi gibi yaşam döngüsü olaylarını dinleyebilirsiniz. Bu etkinliklerle ilgili bildirim almak için reklamı göstermeden önce InterstitialAd.fullScreenContentCallback ayarını yapın. Aşağıdaki örnekte her bir yöntem uygulanmaktadır:

class InterstitialExampleState extends State<InterstitialExample> {
  InterstitialAd? _interstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = Platform.isAndroid
    ? 'ca-app-pub-3940256099942544/1033173712'
    : 'ca-app-pub-3940256099942544/4411468910';

  /// Loads an interstitial ad.
  void loadAd() {
    InterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdRequest(),
        adLoadCallback: InterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
             ad.fullScreenContentCallback = FullScreenContentCallback(
                // Called when the ad showed the full screen content.
                onAdShowedFullScreenContent: (ad) {},
                // Called when an impression occurs on the ad.
                onAdImpression: (ad) {},
                // Called when the ad failed to show full screen content.
                onAdFailedToShowFullScreenContent: (ad, err) {
                  // Dispose the ad here to free resources.
                  ad.dispose();
                },
                // Called when the ad dismissed full screen content.
                onAdDismissedFullScreenContent: (ad) {
                  // Dispose the ad here to free resources.
                  ad.dispose();
                },
                // Called when a click is recorded for an ad.
                onAdClicked: (ad) {});

            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _interstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('InterstitialAd failed to load: $error');
          },
        ));
  }
}

Bir geçiş reklamı gösterme

InterstitialAd, tüm uygulama içeriğinin üstünde Overlay olarak gösterilir ve statik olarak yerleştirilir. Bu nedenle Flutter widget ağacına eklenemez. show() numaralı telefonu arayarak reklamın ne zaman gösterileceğini seçebilirsiniz.

_interstitiaAd.show();

show() çağrıldıktan sonra, bu şekilde gösterilen Ad programlı bir şekilde kapatılamaz ve kullanıcı girişi gerektirir. InterstitialAd yalnızca bir kez gösterilebilir. Sonraki gösterilecek aramalar onAdFailedToShowFullScreenContent özelliğini tetikleyecek.

Artık erişim gerektirmeyen reklamlar imha edilmelidir. dispose() çağrısının ne zaman yapılacağına ilişkin en iyi uygulama, FullScreenContentCallback.onAdDismissedFullScreenContent ve FullScreenContentCallback.onAdFailedToShowFullScreenContent geri çağırma yöntemidir.

İşte bu kadar. Uygulamanız artık geçiş reklamları göstermeye hazır.

Sonraki adımlar

GitHub'daki örneği tamamlayın

Geçiş reklamı