Ödüllü geçiş reklamı

Platform seçin: Android iOS Unity Flutter

Ödüllü geçiş reklamı, doğal uygulama geçişleri sırasında otomatik olarak görünen reklamlar için ödüller sunmanıza olanak tanıyan teşvik edici bir reklam biçimidir. Ödüllü reklamların aksine kullanıcıların ödüllü geçiş reklamı görüntülemeyi etkinleştirmesi gerekmez. Bu kılavuzda, AdMob'dan alınan ödüllü geçiş reklamlarının Flutter uygulamasına nasıl entegre edileceği gösterilmektedir.

Ön koşullar

  • Flutter eklentisi 1.1.0 veya sonraki sürümler.
  • Başlayın bölümünü tamamlayın. Flutter uygulamanızda Google Mobile Ads Flutter eklentisi zaten içe aktarılmış olmalıdır.

Her zaman test reklamlarıyla test yapın

Uygulamalarınızı oluşturup test ederken canlı yayınlanan üretim reklamları yerine test reklamlarını kullandığınızdan emin olun. Bu işlemi yapmazsanız hesabınız askıya alınabilir.

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

Android

ca-app-pub-3940256099942544/5354046379

iOS

ca-app-pub-3940256099942544/6978759866

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

Reklam yükleme

Aşağıdaki örnekte ödüllü geçiş reklamı yükleniyor:

RewardedInterstitialAd.load(
  adUnitId: "_adUnitId",
  request: const AdRequest(),
  rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback(
    onAdLoaded: (RewardedInterstitialAd ad) {
      // Called when an ad is successfully received.
      debugPrint('Ad was loaded.');
      // Keep a reference to the ad so you can show it later.
      _rewardedInterstitialAd = ad;
    },
    onAdFailedToLoad: (LoadAdError error) {
      // Called when an ad request failed.
      debugPrint('Ad failed to load with error: $error');
    },
  ),
);

_adUnitId öğesini kendi reklam birimi kimliğinizle değiştirin.

Ödüllü geçiş reklamı etkinlikleri

FullScreenContentCallback kullanarak reklamın gösterilmesi veya kapatılması gibi yaşam döngüsü etkinliklerini dinleyebilirsiniz. Bu etkinliklerle ilgili bildirim almak için reklamı göstermeden önce RewardedInterstitialAd.fullScreenContentCallback ayarlayın. Bu örnekte her yöntem uygulanır ve konsola bir ileti kaydedilir:

ad.fullScreenContentCallback = FullScreenContentCallback(
  onAdShowedFullScreenContent: (ad) {
    // Called when the ad showed the full screen content.
    debugPrint('Ad showed full screen content.');
  },
  onAdFailedToShowFullScreenContent: (ad, err) {
    // Called when the ad failed to show full screen content.
    debugPrint('Ad failed to show full screen content with error: $err');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdDismissedFullScreenContent: (ad) {
    // Called when the ad dismissed full screen content.
    debugPrint('Ad was dismissed.');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdImpression: (ad) {
    // Called when an impression occurs on the ad.
    debugPrint('Ad recorded an impression.');
  },
  onAdClicked: (ad) {
    // Called when a click is recorded for an ad.
    debugPrint('Ad was clicked.');
  },
);

Görüntülü reklam

RewardedInterstitialAd, tüm uygulama içeriğinin üzerinde statik olarak yerleştirilmiş bir yer paylaşımı olarak gösterilir. Bu nedenle, Flutter widget ağacına eklenemez. show() işlevini çağırarak reklamın ne zaman gösterileceğini seçebilirsiniz. RewardedInterstitialAd.show(), kullanıcı ödül kazandığında çağrılan OnUserEarnedRewardCallback öğesini alır. Bu özelliği uyguladığınızdan ve kullanıcıyı reklam izlediği için ödüllendirdiğinizden emin olun.

_rewardedInterstitialAd?.show(
  onUserEarnedReward: (AdWithoutView view, RewardItem rewardItem) {
    debugPrint('Reward amount: ${rewardItem.amount}');
  },
);

show() çağrıldıktan sonra bu şekilde gösterilen bir Ad programatik olarak kaldırılamaz ve kullanıcı girişi gerektirir. RewardedInterstitialAd yalnızca bir kez gösterilebilir. Gösterilecek sonraki aramalar onAdFailedToShowFullScreenContent tetiklenir.

Bir reklama erişim artık gerekli olmadığında reklamın kaldırılması gerekir. dispose() ile FullScreenContentCallback.onAdDismissedFullScreenContent ve FullScreenContentCallback.onAdFailedToShowFullScreenContent geri aramaları için en iyi uygulama, arama zamanını belirlemektir.

[İsteğe bağlı] Sunucu tarafı doğrulama (SSV) geri çağırmalarını doğrulama

Sunucu tarafı doğrulaması geri çağırmalarında ek veri gerektiren uygulamalar, ödüllü reklamların özel veri özelliğini kullanmalıdır. Ödüllü reklam nesnesinde ayarlanan herhangi bir dize değeri, SSV geri çağırmasının custom_data sorgu parametresine iletilir. Özel veri değeri ayarlanmamışsa custom_data sorgu parametresi değeri SSV geri çağırmasında yer almaz.

Aşağıdaki kod örneğinde, ödüllü geçiş reklamı yüklendikten sonra SSV seçeneklerinin nasıl ayarlanacağı gösterilmektedir:

RewardedInterstitialAd.load(
  adUnitId: "_adUnitId",
  request: AdRequest(),
  rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback(
    onAdLoaded: (ad) {
      ServerSideVerificationOptions _options =
          ServerSideVerificationOptions(
              customData: 'SAMPLE_CUSTOM_DATA_STRING');
      ad.setServerSideOptions(_options);
      _rewardedInterstitialAd = ad;
    },
    onAdFailedToLoad: (error) {},
  ),
);

SAMPLE_CUSTOM_DATA_STRING öğesini özel verilerinizle değiştirin.

GitHub'daki tam örnek

Ödüllü geçiş reklamı