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

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

পূর্বশর্ত

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

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

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

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

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

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

বাস্তবায়ন

একটি 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 প্যারেন্ট ভিউ ব্যবহার করে বিজ্ঞাপন ভিউ শুরু করুন। প্যারেন্ট ভিউ হল একটি অ্যান্ড্রয়েড 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(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 সাথে কাজ করার বিষয়ে আরও তথ্যের জন্য, পদ্ধতি কলের সমাপ্তির স্থিতি নিরীক্ষণ করতে ফিউচার ব্যবহার করুন দেখুন।

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

আপনি যেকোন সময় 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();

বিজ্ঞাপন ঘটনা

Google মোবাইল বিজ্ঞাপন C++ SDK একটি 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);

নিচের সারণীতে স্ট্যান্ডার্ড ব্যানারের মাপ তালিকা করা আছে।

পয়েন্টের আকার (WxH) বর্ণনা প্রাপ্যতা firebase::gma::AdSize ধ্রুবক
320x50 ব্যানার ফোন এবং ট্যাবলেট kBanner
320x100 বড় ব্যানার ফোন এবং ট্যাবলেট kLargeBanner
300x250 IAB মাঝারি আয়তক্ষেত্র ফোন এবং ট্যাবলেট kMediumRectangle
468x60 IAB পূর্ণ আকারের ব্যানার ট্যাবলেট kFullBanner
728x90 আইএবি লিডারবোর্ড ট্যাবলেট kLeaderboard
প্রদত্ত প্রস্থ x অভিযোজিত উচ্চতা অভিযোজিত ব্যানার ফোন এবং ট্যাবলেট N/A

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

একটি কাস্টম ব্যানারের আকার নির্ধারণ করতে, firebase::gma::AdSize কনস্ট্রাক্টর ব্যবহার করে প্রস্থ এবং উচ্চতা প্যারামিটার ব্যবহার করে আপনার পছন্দসই মাত্রা সেট করুন, যেমনটি এখানে দেখানো হয়েছে:

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

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

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

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

,

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

পূর্বশর্ত

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

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

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

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

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

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

বাস্তবায়ন

একটি 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 প্যারেন্ট ভিউ ব্যবহার করে বিজ্ঞাপন ভিউ শুরু করুন। প্যারেন্ট ভিউ হল একটি অ্যান্ড্রয়েড 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(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 সাথে কাজ করার বিষয়ে আরও তথ্যের জন্য, পদ্ধতি কলের সমাপ্তির স্থিতি নিরীক্ষণ করতে ফিউচার ব্যবহার করুন দেখুন।

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

আপনি যেকোন সময় 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();

বিজ্ঞাপন ঘটনা

Google মোবাইল বিজ্ঞাপন C++ SDK একটি 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);

নিচের সারণীতে স্ট্যান্ডার্ড ব্যানারের মাপ তালিকা করা আছে।

পয়েন্টের আকার (WxH) বর্ণনা প্রাপ্যতা firebase::gma::AdSize ধ্রুবক
320x50 ব্যানার ফোন এবং ট্যাবলেট kBanner
320x100 বড় ব্যানার ফোন এবং ট্যাবলেট kLargeBanner
300x250 IAB মাঝারি আয়তক্ষেত্র ফোন এবং ট্যাবলেট kMediumRectangle
468x60 IAB পূর্ণ আকারের ব্যানার ট্যাবলেট kFullBanner
728x90 আইএবি লিডারবোর্ড ট্যাবলেট kLeaderboard
প্রদত্ত প্রস্থ x অভিযোজিত উচ্চতা অভিযোজিত ব্যানার ফোন এবং ট্যাবলেট N/A

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

একটি কাস্টম ব্যানারের আকার নির্ধারণ করতে, firebase::gma::AdSize কনস্ট্রাক্টর ব্যবহার করে প্রস্থ এবং উচ্চতা প্যারামিটার ব্যবহার করে আপনার পছন্দসই মাত্রা সেট করুন, যেমনটি এখানে দেখানো হয়েছে:

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

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

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

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