تبلیغات بینابینی

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

این راهنما به شما نشان می دهد که چگونه با استفاده از Google Mobile Ads C++ SDK، تبلیغات بینابینی را در برنامه های Android و iOS ادغام کنید.

پیش نیازها

  • کامل شروع کنید.
  • (فقط اندروید) آشنایی با کار با مراجع JNI jobject (به نکات Android JNI مراجعه کنید).

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

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

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

  • اندروید: ca-app-pub-3940256099942544/1033173712
  • iOS: ca-app-pub-3940256099942544/4411468910

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

برای کسب اطلاعات بیشتر در مورد نحوه عملکرد تبلیغات آزمایشی SDK Ads Mobile، به Test Ads مراجعه کنید.

پیاده سازی

مراحل اصلی برای یکپارچه سازی تبلیغات بینابینی عبارتند از:

  1. یک تبلیغ را بارگیری کنید.
  2. برای پاسخ به تماس ها ثبت نام کنید.
  3. آگهی را نمایش دهید و رویدادهای چرخه حیات آن را مدیریت کنید.

یک InterstitialAd را پیکربندی کنید

تبلیغات بینابینی در اشیاء InterstitialAd نمایش داده می شوند، بنابراین اولین قدم برای ادغام تبلیغات بینابینی در برنامه شما این است که یک شی InterstitialAd ایجاد و مقداردهی اولیه کنید.

  1. هدر زیر را به کد C++ برنامه خود اضافه کنید:

     #include "firebase/gma/interstial_ad.h"
    

  2. یک شی InterstitialAd را اعلام و نمونه سازی کنید:

     firebase::gma::InterstitialAd* interstitial_ad;
     interstitial_ad = new firebase::gma::InterstitialAd();
    

  3. نمونه InterstitialAd را با استفاده از نمای والدین خود که به یک نوع AdParent می شود، راه اندازی کنید. نمای والد یک مرجع JNI jobject به یک Android Activity یا یک اشاره گر به یک iOS UIView است.

    // my_ad_parent is a jobject reference to an Android Activity or
    // a pointer to an iOS UIView.
    firebase::gma::AdParent ad_parent =
      static_cast<firebase::gma::AdParent>(my_ad_parent);
    firebase::Future<void> result = interstitial_ad->Initialize(ad_parent);
    
  4. به‌عنوان جایگزینی برای حفظ آینده به‌عنوان متغیر، می‌توانید به صورت دوره‌ای وضعیت عملیات مقداردهی اولیه را با فراخوانی InitializeLastResult() در شی InterstitialAd بررسی کنید. این ممکن است برای پیگیری روند اولیه سازی در حلقه جهانی بازی شما مفید باشد.

    // Monitor the status of the future in your game loop:
    firebase::Future<void> result = interstitial_ad->InitializeLastResult();
    if (result.status() == firebase::kFutureStatusComplete) {
      // Initialization completed.
      if(future.error() == firebase::gma::kAdErrorCodeNone) {
        // Initialization successful.
      } else {
        // An error has occurred.
      }
    } else {
      // Initialization on-going.
    }
    

برای اطلاعات بیشتر در مورد کار با firebase::Future ، به استفاده از Futures برای نظارت بر وضعیت تکمیل فراخوانی متدها مراجعه کنید.

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

بارگذاری یک تبلیغ با استفاده از LoadAd() روی شی InterstitialAd انجام می شود. روش بارگذاری مستلزم آن است که شی InterstitialAd را مقداردهی اولیه کرده باشید و شناسه واحد تبلیغات و یک شی AdRequest . یک firebase::Future برگردانده شده است که می توانید از آن برای نظارت بر وضعیت و نتیجه عملیات بار استفاده کنید.

کد زیر نحوه بارگیری آگهی را پس از اینکه InterstitialAd با موفقیت راه اندازی شد نشان می دهد:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result;
load_ad_result = interstitial_ad->LoadAd(interstitial_ad_unit_id, ad_request);

برای پاسخ به تماس ها ثبت نام کنید

شما باید کلاس FullScreenContentListener را گسترش دهید تا اعلان های ارائه تبلیغات بینابینی و رویدادهای چرخه حیات را دریافت کنید. زیرکلاس FullScreenContentListener سفارشی شما را می توان از طریق InterstitialAd::SetFullScreenContentListener() ثبت کرد، و زمانی که تبلیغ با موفقیت یا ناموفق ارائه شد و همچنین زمانی که رد شد، بازخوانی دریافت خواهد کرد.

کد زیر نحوه گسترش کلاس و اختصاص آن به آگهی را نشان می دهد:

  class ExampleFullScreenContentListener
      : public firebase::gma::FullScreenContentListener {

   public:
    ExampleFullScreenContentListener() {}

    void OnAdClicked() override {
      // This method is invoked when the user clicks the ad.
    }

    void OnAdDismissedFullScreenContent() override {
     // This method is invoked when the ad dismisses full screen content.
    }

    void OnAdFailedToShowFullScreenContent(const AdError& error) override {
      // This method is invoked when the ad failed to show full screen content.
      // Details about the error are contained within the AdError parameter.
    }

    void OnAdImpression() override {
      // This method is invoked when an impression is recorded for an ad.
    }

    void OnAdShowedFullScreenContent() override {
      // This method is invoked when the ad showed its full screen content.
    }
  };

  ExampleFullScreenContentListener* full_screen_content_listener =
    new ExampleFullScreenContentListener();
  interstitial_ad->SetFullScreenContentListener(full_screen_content_listener);

InterstitialAd یک شی یک بار مصرف است. این بدان معنی است که وقتی یک تبلیغ بینابینی نشان داده شد، دیگر نمی توان آن را نشان داد. بهترین روش این است که یک تبلیغ بینابینی دیگر را در روش OnAdDismissedFullScreenContent() FullScreenContentListener خود بارگیری کنید تا به محض رد شدن آگهی قبلی، آگهی بینابینی بعدی بارگیری شود.

نمایش آگهی

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

  firebase::Future<void> result = interstitial_ad->Show();

بهترین شیوه ها

در نظر بگیرید که آیا تبلیغات بینابینی نوع مناسبی از تبلیغات برای برنامه شما هستند یا خیر.
تبلیغات بینابینی در برنامه هایی با نقاط انتقال طبیعی بهترین کارایی را دارند. نتیجه گیری یک کار در یک برنامه، مانند اشتراک گذاری یک تصویر یا تکمیل یک سطح بازی، چنین نقطه ای را ایجاد می کند. از آنجایی که کاربر انتظار یک وقفه در عمل را دارد، ارائه یک تبلیغ بینابینی بدون ایجاد اختلال در تجربه او آسان است. مطمئن شوید که در نظر داشته باشید که در چه نقاطی از گردش کار برنامه خود تبلیغات بینابینی را نمایش می دهید و احتمالاً کاربر چگونه پاسخ می دهد.
به یاد داشته باشید که هنگام نمایش یک تبلیغ بینابینی، اقدام را متوقف کنید.
انواع مختلفی از تبلیغات بینابینی وجود دارد: متن، تصویر، ویدیو و موارد دیگر. مهم است که مطمئن شوید وقتی برنامه شما یک تبلیغ بینابینی را نمایش می‌دهد، استفاده از برخی منابع را نیز به حالت تعلیق در می‌آورد تا تبلیغ بتواند از آنها استفاده کند. به عنوان مثال، هنگامی که برای نمایش یک تبلیغ بینابینی تماس می گیرید، مطمئن شوید که خروجی صوتی تولید شده توسط برنامه شما را متوقف کنید. می توانید پخش صداها را در روش OnAdDismissedFullScreenContent در FullScreenContentListener نصب شده خود که پس از پایان تعامل کاربر با آگهی فراخوانی می شود، از سر بگیرید. علاوه بر این، در حین نمایش آگهی، به طور موقت هرگونه کار محاسباتی شدید (مانند حلقه بازی) را متوقف کنید. این تضمین می کند که کاربر گرافیک آهسته یا بی پاسخ یا ویدئویی با لکنت را تجربه نکند.
زمان بارگذاری کافی را در نظر بگیرید.
همانطور که اطمینان از نمایش تبلیغات بینابینی در زمان مناسب بسیار مهم است، اطمینان از اینکه کاربر مجبور نیست منتظر بارگذاری آنها بماند نیز مهم است. بارگیری آگهی از قبل قبل از اینکه قصد نمایش آن را داشته باشید، می تواند اطمینان حاصل کند که برنامه شما یک آگهی بینابینی کاملاً بارگذاری شده در زمان نمایش آن آماده است.
کاربر را با تبلیغات غرق نکنید.
در حالی که افزایش تعداد تبلیغات بینابینی در برنامه شما ممکن است راهی عالی برای افزایش درآمد به نظر برسد، همچنین می تواند تجربه کاربر را کاهش دهد و نرخ کلیک را کاهش دهد. اطمینان حاصل کنید که کاربران آنقدر مکرراً قطع نمی شوند که دیگر نتوانند از استفاده از برنامه شما لذت ببرند.
از آینده تکمیل بار برای نمایش بینابینی استفاده نکنید.
این می تواند باعث تجربه کاربری ضعیف شود. در عوض، قبل از اینکه نیاز به نمایش آگهی داشته باشید، آن را از قبل بارگیری کنید.

منابع اضافی

مثال در GitHub

آموزش تصویری Garage Ads Mobile

داستان های موفقیت

مراحل بعدی