بینابینی با پاداش (بتا)

بینابینی پاداش‌دار نوعی قالب تبلیغاتی است که به شما امکان می‌دهد برای تبلیغاتی که به‌طور خودکار در طول انتقال طبیعی برنامه ظاهر می‌شوند، پاداش ارائه دهید. برخلاف آگهی‌های دارای پاداش، کاربران مجبور نیستند برای مشاهده یک بینابینی دارای پاداش، شرکت کنند. این راهنما نشان می‌دهد که چگونه می‌توان تبلیغات بین‌ستونی با پاداش AdMob را در یک برنامه Flutter ادغام کرد.

پیش نیازها

  • پلاگین Flutter 1.1.0 یا بالاتر.
  • شروع را کامل کنید . برنامه Flutter شما از قبل باید افزونه Google Mobile Ads Flutter را وارد کرده باشد.

همیشه با تبلیغات آزمایشی تست کنید

هنگام ساخت و آزمایش برنامه های خود، مطمئن شوید که از تبلیغات آزمایشی به جای تبلیغات زنده و تولیدی استفاده می کنید. عدم انجام این کار می تواند منجر به تعلیق حساب شما شود.

ساده‌ترین راه برای بارگیری آگهی‌های آزمایشی، استفاده از شناسه واحد آگهی آزمایشی اختصاصی ما برای آگهی‌های بین‌ستونی با پاداش است:

اندروید

ca-app-pub-3940256099942544/5354046379

iOS

ca-app-pub-3940256099942544/6978759866

واحدهای آگهی آزمایشی به گونه‌ای پیکربندی شده‌اند که برای هر درخواستی، آگهی‌های آزمایشی را برگردانند، و شما می‌توانید هنگام کدنویسی، آزمایش و اشکال‌زدایی از آنها در برنامه‌های خود استفاده کنید. فقط مطمئن شوید که قبل از انتشار برنامه خود، آنها را با شناسه واحد تبلیغاتی خود جایگزین کنید.

یک تبلیغ را بارگیری کنید

مثال زیر یک تبلیغ بین‌المللی با پاداش را بارگیری می‌کند:

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');
          },
        ));
  }
}

رویدادهای تبلیغاتی بینابینی پاداش

از طریق استفاده از FullScreenContentCallback ، می‌توانید به رویدادهای چرخه حیات گوش دهید، مانند زمانی که آگهی نشان داده می‌شود یا رد می‌شود. قبل از نمایش آگهی، RewardedInterstitialAd.fullScreenContentCallback را تنظیم کنید تا اعلان‌های این رویدادها را دریافت کنید. این مثال هر روش را پیاده سازی می کند و یک پیام را به کنسول ثبت می کند:

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');
          },
        ));
  }
}

نمایش تبلیغ

RewardedInterstitialAd به عنوان یک پوشش در بالای تمام محتوای برنامه نمایش داده می شود و به صورت ایستا قرار می گیرد. بنابراین، نمی توان آن را به درخت ویجت Flutter اضافه کرد. با فراخوانی show() می‌توانید زمان نمایش آگهی را انتخاب کنید. RewardedInterstitialAd.show() یک OnUserEarnedRewardCallback می گیرد که زمانی که کاربر پاداشی دریافت می کند فراخوانی می شود. حتما این را اجرا کنید و برای تماشای یک تبلیغ به کاربر پاداش دهید.

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

هنگامی که show() فراخوانی شد، Ad که به این روش نمایش داده می‌شود نمی‌تواند از طریق برنامه‌ریزی حذف شود و به ورودی کاربر نیاز دارد. یک RewardedInterstitialAd فقط یک بار می تواند نشان داده شود. تماس‌های بعدی برای نمایش، onAdFailedToShowFullScreenContent فعال می‌شوند.

یک آگهی زمانی که دیگر نیازی به دسترسی به آن نیست باید حذف شود. بهترین روش برای زمان فراخوانی dispose() در FullScreenContentCallback.onAdDismissedFullScreenContent و FullScreenContentCallback.onAdFailedToShowFullScreenContent است.

همین! اکنون برنامه شما برای نمایش تبلیغات بین‌المللی با پاداش آماده است.

مثال کامل در GitHub

بینابینی پاداش