ইন্টারস্টিশিয়াল বিজ্ঞাপন


পৃষ্ঠা মধ্যকালিন বিজ্ঞাপন হল ফুল-স্ক্রিন বিজ্ঞাপন যা ব্যবহারকারী বন্ধ না করা পর্যন্ত অ্যাপের ইন্টারফেস কভার করে রাখে। এগুলি সাধারণত কোনও অ্যাপ্লিকেশনের স্বাভাবিক ট্রানজিশন পয়েন্টে দেখানো হয়, যেমন দুটি অ্যাক্টিভিটির মধ্যে বা কোনও গেমের লেভেল পরিবর্তন হওয়ার সময়। কোনও অ্যাপ ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখালে, ব্যবহারকারী বিজ্ঞাপনে ট্যাপ করে তার গন্তব্যে যেতে পারেন অথবা সেটি বন্ধ করে অ্যাপে ফিরে আসতে পারেন। কেস স্টাডি।

এই নির্দেশিকা আপনাকে দেখায় যে কীভাবে Google Mobile Ads C++ SDK ব্যবহার করে Android এবং iOS অ্যাপে ইন্টারস্টিশিয়াল বিজ্ঞাপন ইন্টিগ্রেট করতে হয়।

পূর্বশর্ত

সবসময় টেস্ট বিজ্ঞাপন দিয়ে পরীক্ষা করুন

আপনার অ্যাপ তৈরি ও পরীক্ষা করার সময়, লাইভ, প্রোডাকশন বিজ্ঞাপনের পরিবর্তে পরীক্ষামূলক বিজ্ঞাপন ব্যবহার করছেন কিনা তা নিশ্চিত করুন। এটি না করলে আপনার অ্যাকাউন্ট সাসপেন্ড করা হতে পারে।

ইন্টারস্টিশিয়ালের জন্য আমাদের বিশেষ টেস্ট বিজ্ঞাপন ইউনিট আইডি ব্যবহার করে সবচেয়ে সহজে টেস্ট বিজ্ঞাপন লোড করা যায়, যা ডিভাইস প্ল্যাটফর্ম অনুযায়ী আলাদা হয়:

  • Android: ca-app-pub-3940256099942544/1033173712
  • iOS: ca-app-pub-3940256099942544/4411468910

প্রতিটি অনুরোধের জন্য টেস্ট বিজ্ঞাপন দেখানোর জন্য এগুলি বিশেষভাবে কনফিগার করা হয়েছে এবং কোডিং, টেস্টিং এবং ডিবাগিং করার সময় আপনি নিজের অ্যাপে এটি ব্যবহার করতে পারবেন। আপনার অ্যাপ প্রকাশ করার আগে, আপনার নিজের বিজ্ঞাপন ইউনিট আইডি দিয়ে এটি পরিবর্তন করতে ভুলবেন না।

Mobile Ads SDK-এর টেস্ট বিজ্ঞাপন কীভাবে কাজ করে সেই সম্পর্কে আরও জানতে, টেস্ট বিজ্ঞাপন দেখুন।

প্রয়োগ

ইন্টারস্টিশিয়াল বিজ্ঞাপন ইন্টিগ্রেট করার প্রধান ধাপগুলি হল:

  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. আপনার পেরেন্ট ভিউ কাস্টকে AdParent টাইপে ব্যবহার করে InterstitialAd ইনস্ট্যান্স ইনিশিয়ালাইজ করুন। প্যারেন্ট ভিউ হল Android Activity-এর জন্য JNI jobject রেফারেন্স অথবা 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. ভবিষ্যতকে ভেরিয়েবল হিসেবে ধরে রাখার বিকল্প হিসেবে, আপনি InterstitialAd অবজেক্টে InitializeLastResult() কল করে ইনিশিয়ালাইজেশন অপারেশনের স্ট্যাটাস পর্যায়ক্রমে চেক করতে পারেন। আপনার গ্লোবাল গেম লুপে ইনিশিয়ালাইজেশন প্রসেস ট্র্যাক করার জন্য এটি সহায়ক হতে পারে।

    // 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 ব্যবহার করুন দেখুন।

বিজ্ঞাপন লোড করা

InterstitialAd অবজেক্টে LoadAd() পদ্ধতি ব্যবহার করে বিজ্ঞাপন লোড করা হয়। লোড পদ্ধতির জন্য আপনাকে 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 হল একবার ব্যবহার করা যায় এমন অবজেক্ট। এর অর্থ হল, একবার ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখানো হলে, সেটি আর দেখানো যাবে না। সবচেয়ে ভালো পদ্ধতি হল, আপনার FullScreenContentListener-এর OnAdDismissedFullScreenContent() পদ্ধতিতে অন্য একটি পৃষ্ঠা মধ্যকালিন বিজ্ঞাপন লোড করা, যাতে আগেরটি বাতিল হওয়ার সাথে সাথেই পরবর্তী পৃষ্ঠা মধ্যকালিন বিজ্ঞাপন লোড হওয়া শুরু হয়।

বিজ্ঞাপনটি দেখান

অ্যাপের ফ্লোতে স্বাভাবিক বিরতির সময় ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখানো উচিত। গেমের লেভেল পরিবর্তন হওয়ার সময় বা ব্যবহারকারী কোনও টাস্ক সম্পূর্ণ করার পরে দেখানো হল এর ভালো উদাহরণ। FullScreenContentListener ব্যবহার করে কোনও বিজ্ঞাপন কখন তার ফুল-স্ক্রিন কন্টেন্ট দেখিয়েছে তা নির্ধারণ করা গেলেও, Show()-এর মাধ্যমে রিটার্ন করা ফিউচারও বিজ্ঞাপনটি কখন সফলভাবে দেখানো হয়েছে তার সিগন্যাল দেবে।

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

পেশাদার পদ্ধতি

আপনার অ্যাপের জন্য ইন্টারস্টিশিয়াল বিজ্ঞাপন সঠিক ধরনের বিজ্ঞাপন কিনা তা বিবেচনা করুন।
ইন্টারস্টিশিয়াল বিজ্ঞাপন সেইসব অ্যাপে সবচেয়ে ভাল কাজ করে যেগুলিতে স্বাভাবিক ট্রানজিশন পয়েন্ট আছে। অ্যাপের মধ্যে কোনও টাস্ক শেষ হলে, যেমন ছবি শেয়ার করা বা গেমের লেভেল সম্পূর্ণ করা, এই ধরনের পয়েন্ট তৈরি হয়। ব্যবহারকারী যেহেতু অ্যাকশনে বিরতি আশা করেন, তাই তার অভিজ্ঞতা বিঘ্নিত না করেই পৃষ্ঠা মধ্যকালিন বিজ্ঞাপন দেখানো সহজ। আপনার অ্যাপের ওয়ার্কফ্লোতে কোন কোন জায়গায় ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখাবেন এবং ব্যবহারকারী কীভাবে প্রতিক্রিয়া জানাতে পারেন তা বিবেচনা করতে ভুলবেন না।
পৃষ্ঠা মধ্যবর্তী বিজ্ঞাপন দেখানোর সময় অ্যাকশন পজ করতে ভুলবেন না।
বিভিন্ন ধরনের ইন্টারস্টিশিয়াল বিজ্ঞাপন আছে: টেক্সট, ছবি, ভিডিও এবং আরও অনেক কিছু। আপনার অ্যাপে ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখানোর সময়, বিজ্ঞাপনটি যাতে কিছু রিসোর্স ব্যবহার করতে পারে তার জন্য অ্যাপের সেই রিসোর্স ব্যবহার করা বন্ধ করা গুরুত্বপূর্ণ। যেমন, আপনি যখন ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখানোর জন্য কল করেন, তখন আপনার অ্যাপের মাধ্যমে তৈরি হওয়া যেকোনও অডিও আউটপুট পজ করতে ভুলবেন না। আপনি ইনস্টল করা FullScreenContentListener-এর OnAdDismissedFullScreenContent পদ্ধতিতে সাউন্ড চালানো আবার শুরু করতে পারবেন, যা ব্যবহারকারী বিজ্ঞাপনের সাথে ইন্টার‍্যাক্ট করা শেষ করলে চালু হবে। এছাড়াও, বিজ্ঞাপন দেখানোর সময় কোনও তীব্র কম্পিউটেশন টাস্ক (যেমন গেম লুপ) সাময়িকভাবে বন্ধ করার কথা বিবেচনা করুন। এটি নিশ্চিত করবে যে ব্যবহারকারীকে স্লো বা প্রতিক্রিয়াহীন গ্রাফিক্স বা স্টাটার করা ভিডিওর অভিজ্ঞতা পেতে হবে না।
লোড হওয়ার জন্য পর্যাপ্ত সময় দিন।
ইন্টারস্টিশিয়াল বিজ্ঞাপন সঠিক সময়ে দেখানো যেমন গুরুত্বপূর্ণ, তেমনই ব্যবহারকারীকে যাতে সেটি লোড হওয়ার জন্য অপেক্ষা করতে না হয়, সেটিও নিশ্চিত করা প্রয়োজন। আপনি বিজ্ঞাপন দেখানোর আগে সেটি লোড করে রাখলে, আপনার অ্যাপে ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখানোর সময় এলে সেটি সম্পূর্ণভাবে লোড হয়ে রেডি থাকবে।
ব্যবহারকারীকে অনেক বেশি বিজ্ঞাপন দেখাবেন না।
আপনার অ্যাপে ইন্টারস্টিশিয়াল বিজ্ঞাপনের ফ্রিকোয়েন্সি বাড়ানো হলে, তা উপার্জন বাড়ানোর একটি দুর্দান্ত উপায় বলে মনে হতে পারে, তবে এটি ব্যবহারকারীর অভিজ্ঞতাকে খারাপ করতে পারে এবং ক্লিক-থ্রু রেট কমিয়ে দিতে পারে। ব্যবহারকারীরা যাতে ঘন ঘন বাধা না পান এবং আপনার অ্যাপ ব্যবহার করে আনন্দ পান তা নিশ্চিত করুন।
ইন্টারস্টিশিয়াল দেখানোর জন্য লোড সম্পূর্ণ হওয়ার ফিউচার ব্যবহার করবেন না।
এর ফলে ব্যবহারকারীর অভিজ্ঞতা খারাপ হতে পারে। পরিবর্তে, বিজ্ঞাপন দেখানোর আগে সেটি প্রি-লোড করুন।

অতিরিক্ত রিসোর্স

GitHub-এ উদাহরণ

মোবাইল বিজ্ঞাপন গ্যারেজ ভিডিও টিউটোরিয়াল

সাফল্যের কাহিনী

পরবর্তী ধাপ