Ödüllü geçiş reklamı (beta)

Ödüllü geçiş reklamı, kullanıcılara çeşitli reklamlar sunarak gösterilen reklamlar için ödüller doğal uygulama geçişlerinde otomatik olarak değiştirilir. Ö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'daki ö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 Mobil Reklamlar Flutter eklentisi zaten içe aktarılmış olmalıdır.

Her zaman test reklamlarıyla test etme

Uygulamalarınızı oluşturup test ederken canlı üretim reklamları yerine test reklamları kullandığınızdan emin olun. Aksi takdirde hesabınız askıya alınabilir.

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

Android

ca-app-pub-3940256099942544/5354046379

iOS

ca-app-pub-3940256099942544/6978759866

Test reklam birimleri her istek için test reklamı döndürecek şekilde yapılandırılır ve bunları kendi uygulamalarınızda kullanabilirsiniz. Uygulamanızı yayınlamadan önce bu kimlikleri kendi reklam birimi kimliklerinizle değiştirdiğinizden emin olun.

Reklam yükle

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

class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> {
  RewardedInterstitialAd? _rewardeInterstitialdAd;

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

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

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

FullScreenContentCallback'ü kullanarak reklamın gösterilmesi veya kapatılması gibi yaşam döngüsü etkinliklerini dinleyebilirsiniz. Ayarla RewardedInterstitialAd.fullScreenContentCallback önce reklamı şu kullanıcılara gösterme: bu etkinlikler için bildirim alabilir. Bu örnekte her bir yöntem uygulanır ve konsola bir mesaj kaydeder:

class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> {
  RewardedInterstitialAd? _rewardedInterstitialAd;

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

  /// Loads a rewarded ad.
  void loadAd() {
    RewardedInterstitialAd.load(
        adUnitId: adUnitId,
        adRequest: const AdRequest(),
        adLoadCallback: RewardedInterstitialAdLoadCallback(
          // 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.
            _rewardedInterstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugprint('RewardedInterstitialAd failed to load: $error');
          },
        ));
  }
}

Görüntülü reklam

RewardedInterstitialAd, tüm uygulama içeriğinin üst kısmında Yer Paylaşımı olarak gösterilir ve statik olarak yerleştirilir; dolayısıyla Flutter widget ağacına eklenemez. show() adresini arayarak reklamın ne zaman gösterileceğini seçebilirsiniz. RewardedInterstitialAd.show(), OnUserEarnedRewardCallback alıyor. Kullanıcı ödül kazandığında çağrılır. Bunu uygulayın ve ekibinizin bir reklam izleyeceğini unutmayın.

_rewardedInterstitialAd.show(onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) {
  // Reward the user for watching an ad.
});

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

Reklamlara artık erişilmesine gerek kalmadığında reklamın imha edilmesi gerekir. En iyi uygulama dispose() ne zaman aranacak: FullScreenContentCallback.onAdDismissedFullScreenContent ve FullScreenContentCallback.onAdFailedToShowFullScreenContent geri arama.

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

GitHub'daki örneği tamamlayın

Ödüllü geçiş reklamı