ব্যানার বিজ্ঞাপন

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

পূর্বশর্ত

সর্বদা টেস্ট অ্যাড দিয়ে পরীক্ষা করুন

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

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

  • অ্যান্ড্রয়েড: ca-app-pub-3940256099942544/6300978111
  • iOS: ca-app-pub-3940256099942544/2934735716

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

মোবাইল অ্যাডস এসডিকে-এর টেস্ট অ্যাডগুলো কীভাবে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য, টেস্ট অ্যাডস দেখুন।

বাস্তবায়ন

একটি AdView কনফিগার করুন

ব্যানার বিজ্ঞাপন AdView অবজেক্টে প্রদর্শিত হয়, তাই ব্যানার বিজ্ঞাপন ইন্টিগ্রেট করার প্রথম ধাপ হলো একটি AdView তৈরি করে সেটিকে সঠিক অবস্থানে স্থাপন করা।

  1. আপনার অ্যাপের C++ কোডে নিম্নলিখিত হেডারটি যোগ করুন:

     #include "firebase/gma/ad_view.h"
  2. একটি AdView অবজেক্ট ঘোষণা এবং ইনস্ট্যানশিয়েট করুন:

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
  3. একটি AdSize তৈরি করুন এবং AdParent প্যারেন্ট ভিউ ব্যবহার করে বিজ্ঞাপন ভিউটি ইনিশিয়ালাইজ করুন। প্যারেন্ট ভিউ হলো একটি Android Activity র JNI jobject রেফারেন্স অথবা AdParent টাইপে কাস্ট করা একটি 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 result =
       ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner);
  4. ভবিষ্যৎকে একটি ভেরিয়েবল হিসেবে ধরে রাখার বিকল্প হিসেবে, আপনি AdView অবজেক্টে InitializeLastResult() কল করে পর্যায়ক্রমে ইনিশিয়ালাইজেশন অপারেশনের অবস্থা পরীক্ষা করতে পারেন। এটি আপনার গ্লোবাল গেম লুপে ইনিশিয়ালাইজেশন প্রক্রিয়ার উপর নজর রাখতে সহায়ক হতে পারে।

      // Monitor the status of the future in your game loop:
      firebase::Future<void> result = ad_view->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.
      }
    
  5. firebase::Future নিয়ে কাজ করার বিষয়ে আরও তথ্যের জন্য, "Use Futures to monitor the completion status of method calls" দেখুন।

বিজ্ঞাপনের অবস্থান নির্ধারণ করুন

AdView টি ইনিশিয়ালাইজ করার পর যেকোনো সময়ে আপনি এর অবস্থান নির্ধারণ করতে পারেন:

firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);

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

AdView চালু হয়ে গেলে আপনি একটি বিজ্ঞাপন লোড করতে পারবেন:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result = ad_view->LoadAd(my_ad_request);

AdRequest অবজেক্টগুলো একটি একক বিজ্ঞাপন অনুরোধের প্রতিনিধিত্ব করে এবং এতে টার্গেটিং-এর মতো তথ্যের জন্য প্রোপার্টি থাকে।

বিজ্ঞাপনটি প্রদর্শন করুন

অবশেষে, Show() কল করে স্ক্রিনে বিজ্ঞাপনটি প্রদর্শন করুন। বিজ্ঞাপনটি ইনিশিয়ালাইজ করার পর যেকোনো সময় এই মেথডটি কল করা যেতে পারে:

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

বিজ্ঞাপন ইভেন্ট

গুগল মোবাইল অ্যাডস সি++ এসডিকে একটি AdListener ক্লাস প্রদান করে, যা আপনি এক্সটেন্ড করে AdView::SetListener() পাস করতে পারেন, যাতে অ্যাড ভিউ-এর অবস্থার পরিবর্তন সম্পর্কে অবহিত হওয়া যায়।

AdListener এ মেথড এক্সটেন্ড করা ঐচ্ছিক, তাই আপনার শুধু প্রয়োজনীয় মেথডগুলোই ইমপ্লিমেন্ট করতে হবে। নিচে এমন একটি ক্লাসের ইমপ্লিমেন্টেশনের উদাহরণ দেওয়া হলো যা AdListener ক্লাসের সমস্ত মেথড এক্সটেন্ড করে:

class ExampleAdListener
    : public firebase::gma::AdListener {
 public:
  ExampleAdListener() {}
  void OnAdClicked() override {
    // This method is invoked when the user clicks the ad.
  }

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

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

  void OnAdOpened() override {
    // This method is invoked when an ad opens an overlay that covers the screen.
  }
};

ExampleAdListener* ad_listener = new ExampleAdListener();
ad_view->SetAdListener(ad_listener);

নিচের সারণিতে ব্যানারের আদর্শ আকারগুলো তালিকাভুক্ত করা হয়েছে।

পয়েন্টে আকার (প্রস্থ x উচ্চতা) বর্ণনা প্রাপ্যতা firebase::gma::AdSize ধ্রুবক
৩২০x৫০ ব্যানার ফোন এবং ট্যাবলেট kBanner
৩২০x১০০ বড় ব্যানার ফোন এবং ট্যাবলেট kLargeBanner
৩০০x২৫০ আইএবি মাঝারি আয়তক্ষেত্র ফোন এবং ট্যাবলেট kMediumRectangle
৪৬৮x৬০ আইএবি পূর্ণ আকারের ব্যানার ট্যাবলেট kFullBanner
৭২৮x৯০ আইএবি লিডারবোর্ড ট্যাবলেট kLeaderboard
প্রদত্ত প্রস্থ x অভিযোজিত উচ্চতা অভিযোজিত ব্যানার ফোন এবং ট্যাবলেট প্রযোজ্য নয়

কাস্টম বিজ্ঞাপনের আকার

কাস্টম ব্যানারের আকার নির্ধারণ করতে, এখানে দেখানো অনুযায়ী firebase::gma::AdSize কনস্ট্রাক্টর ব্যবহার করে width এবং height প্যারামিটার দিয়ে আপনার কাঙ্ক্ষিত মাত্রা সেট করুন:

firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);

অতিরিক্ত সম্পদ

গিটহাবে উদাহরণ

সাফল্যের গল্প