بینابینی

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

این راهنما نحوه ادغام تبلیغات بینابینی را در برنامه Flutter توضیح می دهد.

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

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

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

اندروید

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

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

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

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

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

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

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

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

نمایش یک تبلیغ بینابینی

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

_interstitiaAd.show();

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

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

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

مراحل بعدی

مثال کامل در GitHub

بینابینی