Ödüllü

Ödüllü reklamlar, kullanıcıların uygulama içi ödüller karşılığında etkileşime geçebileceği reklamlardır. Bu kılavuzda, AdMob'daki ödüllü reklamların Flutter uygulamasına nasıl entegre edileceği gösterilmektedir.

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ü reklamlar:

Android

ca-app-pub-3940256099942544/5224354917

iOS

ca-app-pub-3940256099942544/1712485313

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

Reklam yükleme

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

class RewardedExampleState extends State<RewardedExample> {
  RewardedAd? _rewardedAd;

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

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

Ödüllü reklam etkinlikleri

FullScreenContentCallback uygulamasını kullanarak yaşam döngüsü boyunca dinleyebilirsiniz. (ör. reklamın gösterilmesi veya kapatılması gibi) Ayarla Almak için reklamı göstermeden önce RewardedAd.fullScreenContentCallback bu etkinlikler için bildirim gönderir. Bu örnekte her bir yöntem uygulanır ve mesaj gönderebilirsiniz:

class RewardedExampleState extends State<RewardedExample> {
  RewardedAd? _rewardedAd;

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

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

Görüntülü reklam

RewardedAd, tüm uygulama içeriğinin üstünde Yer Paylaşımlı olarak görüntülenir ve statik olarak yerleştirilir; dolayısıyla Flutter widget ağacına eklenemez. show() işlevini çağırarak reklamın ne zaman gösterileceğini seçebilirsiniz. RewardedAd.show(), şu durumlarda çağrılan bir OnUserEarnedRewardCallback alır: Kullanıcı ödül kazanır. Bunu uyguladığınızdan ve kullanıcıyı reklam izlediğinden ödüllendirdiğinizden emin olun.

_rewardedAd.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. RewardedAd yalnızca gösterilebilir bir kez. Gösterilecek sonraki aramalar onAdFailedToShowFullScreenContent'ü tetikler.

Bir reklama erişime artık ihtiyaç duyulmadığında reklamın kaldırılması gerekir. En iyi uygulama dispose() ne zaman aranacak: FullScreenContentCallback.onAdDismissedFullScreenContent ve FullScreenContentCallback.onAdFailedToShowFullScreenContent geri arama.

İşte bu kadar. Uygulamanız artık ödüllü reklam göstermeye hazır.

GitHub'daki örneği tamamlayın

Ödüllü