নতুন Google Mobile Ads C++ SDK-তে মাইগ্রেট করুন


Firebase C++ SDK v9.1.0 রিলিজ করার মাধ্যমে নতুন Google Mobile Ads C++ SDK নিয়ে আসা হয়েছে।

Google Mobile Ads C++ SDK হল একটি নতুন API সারফেস যা ২০২১ ও ২০২২ সালে iOS ও Android-এর জন্য Firebase AdMob C++ SDK-তে করা প্রধান ব্রেকিং পরিবর্তনগুলিকে অন্তর্ভুক্ত করে, যার মধ্যে রয়েছে বন্ধ হয়ে যাওয়া APIগুলি সরানো এবং ফুল স্ক্রিন বিজ্ঞাপনের ধরনগুলির সাথে কাজ করার সময় একটি নতুন ফ্লো।

পুরনো Firebase AdMob C++ SDK (firebase::admob) বন্ধ করে দেওয়া হয়েছে এবং ভবিষ্যতে এটিতে আর কোনও আপডেট বা ত্রুটি সমাধান করা হবে না।

Firebase AdMob C++ SDK বন্ধ করার সময়সীমা চলাকালীন, নতুন Google Mobile Ads C++ SDK (firebase::gma) এবং পুরনো Firebase AdMob C++ SDK (firebase::admob) দুটিই Firebase C++ SDK-এর জন্য বিল্ড আর্কাইভের অংশ হিসেবে থাকবে।

পুরনো API সরানো

Google Mobile Ads C++ SDK থেকে নিম্নলিখিত API সম্পূর্ণভাবে সরিয়ে দেওয়া হয়েছে।

RewardedVideoAd

AdMob-এর RewardedVideoAd নেমস্পেসের পরিবর্তে RewardedAd ক্লাস ব্যবহার করা হয়েছে। RewardedAd, InterstitialAd-এর মতোই কাজ করে তবে আইটেম পুরস্কারের বিজ্ঞপ্তি পেতে এতে অতিরিক্ত RewardedAdListener অন্তর্ভুক্ত থাকে।

NativeExpressAds

AdMob-এর NativeExpressAd প্রতিটি Firebase AdMob C++ SDK-তে আগে থেকেই বন্ধ করা হিসেবে চিহ্নিত করা হয়েছে। তাই, নতুন Google Mobile Ads C++ SDK-তে NativeExpressAd অন্তর্ভুক্ত করা হয়নি।

SDK নেমস্পেস পরিবর্তন

SDK নতুন নেমস্পেসে রিলোকেট করা হয়েছে এবং এটির নতুন ডিরেক্টরি স্ট্রাকচার আছে:

নেমস্পেস firebase::gma

নতুন Google Mobile Ads C++ SDK-এর সোর্স firebase::gma নেমস্পেসে রয়েছে। পুরনো firebase::admob নেমস্পেস Firebase AdMob C++ SDK-এর সাথে বন্ধ করে দেওয়া হয়েছে।

ডিরেক্টরি স্ট্রাকচার

বিল্ড আর্কাইভের মধ্যে হেডার ফাইলগুলি একটি নতুন ডিরেক্টরিতে সরানো হয়েছে:

বন্ধ হয়ে যাওয়া Firebase AdMob C++ SDK নতুন Google Mobile Ads C++ SDK
include/firebase/admob include/firebase/gma

লাইব্রেরি

Firebase AdMob C++ SDK, Firebase C++ SDK বিল্ড আর্কাইভে স্ট্যাটিক লাইব্রেরি হিসেবে প্রদান করা হবে:

iOS

বন্ধ হয়ে যাওয়া Firebase AdMob C++ SDK নতুন Google Mobile Ads C++ SDK
firebase_admob.xcframework firebase_gma.xcframework

Android

বন্ধ হয়ে যাওয়া Firebase AdMob C++ SDK নতুন Google Mobile Ads C++ SDK
libfirebase_admob.a libfirebase_gma.a

ক্লাস, enum ও স্ট্রাক্ট মাইগ্রেশন

নিচের সারণিতে নির্দিষ্ট ক্লাস, enum ও স্ট্রাক্টের তালিকা দেওয়া আছে যেগুলি পরিবর্তন করা হয়েছে বা সরিয়ে দেওয়া হয়েছে। এখানে সারসংক্ষেপ দেওয়া হল:

  • BannerView-এর নাম পরিবর্তন করে AdView করা হয়েছে।
  • NativeAdExpressView সরানো হয়েছে।
  • RewardedVideo নেমস্পেসের পরিবর্তে RewardedAd ক্লাস ব্যবহার করা হয়।
  • PresentationState এনিউমারেশন ও লিসনার সরিয়ে দেওয়া হয়েছে এবং তার পরিবর্তে AdListener ও FullScreenContent লিসনার যোগ করা হয়েছে।
  • AdRequests-এ প্রতি-বিজ্ঞাপন কনফিগারেশন প্যারামিটার হিসেবে নিম্নলিখিত প্যারামিটারগুলি সরানো হয়েছে:

    • টেস্ট ডিভাইস আইডির কনফিগারেশন
    • বয়সের ভিত্তিতে বিজ্ঞাপন টার্গেট করা

    পরিবর্তে, এই প্যারামিটারগুলি এখন RequestConfiguration-এ কনফিগার করা যেতে পারে যা একটি গ্লোবাল সেটিং এবং এটি পরবর্তী সমস্ত বিজ্ঞাপন লোডকে প্রভাবিত করবে।

firebase::admob namespace শীঘ্রই বন্ধ করা হয়েছে নতুন firebase::gma namespace
AdSizeType (enum) AdSize::Type (enum)
BannerView AdView
BannerView::Listener AdListener
AdViewBoundingBoxListener
PaidEventListener
BannerView::Position AdView::Position
BannerView::PresentationState সরানো হয়েছে
ChildDirectedTreatmentState RequestConfiguration::TagForChildDirectedTreatment
Gender (enum) সরানো হয়েছে
InterstitialAd::Listener FullScreenContentListener
PaidEventListener
KeyValuePair সরানো হয়েছে
NativeExpressAdView সরানো হয়েছে
PollableRewardListener সরানো হয়েছে
RewardItem AdReward
RewardedVideoAd (নেমস্পেস) RewardedAd (ক্লাস)
RewardedVideoAd::Listener FullScreenContentListener
PaidEventListener
UserEarnedRewardListener
AdMobError (enum) AdErrorCode (enum)
RewardItem AdReward

SDK ইনিশিয়ালাইজেশন

প্রতিটি Google Mobile Ads C++ SDK ইনিশিয়ালাইজেশন ফাংশন অবিলম্বে দুটি স্ট্যাটাস ইন্ডিকেটর ফেরত দেয়:

  • একটি ঐচ্ছিক আউট প্যারামিটার জানায় যে ইনিশিয়ালাইজেশন প্রসেস শুরু হওয়ার আগে কোনও ডিপেন্ডেন্সি সংক্রান্ত সমস্যা হয়েছে কিনা।

  • রিটার্ন প্যারামিটার হল firebase::Future-এর একটি রেফারেন্স। Future-এ ডিভাইসে মিডিয়েন অ্যাডাপ্টারের অ্যাসিঙ্ক্রোনাস ইনিশিয়ালাইজেশনের ফলাফল থাকে।

ইনিশিয়ালাইজেশন ফাংশন রিটার্ন করার সাথে সাথেই AdMob-এর মাধ্যমে পরিবেশিত বিজ্ঞাপন লোড করার জন্য Google Mobile Ads C++ SDK-কে কল করা হতে পারে, তবে অন্যান্য বিজ্ঞাপন নেটওয়ার্কের ক্ষেত্রে তাদের সংশ্লিষ্ট মিডিয়েশন অ্যাডাপ্টার সম্পূর্ণভাবে ইনিশিয়ালাইজ না হওয়া পর্যন্ত বিজ্ঞাপন পরিবেশন করা হবে না। এই প্রসেসটি অ্যাসিঙ্ক্রোনাসভাবে ঘটে। তাই, আপনার অ্যাপ্লিকেশনে বিজ্ঞাপন মধ্যস্থতা ব্যবহার করলে, কোনও বিজ্ঞাপন লোড করার চেষ্টা করার আগে Future সমাধান হওয়ার জন্য অপেক্ষা করার সাজেশন আমরা দিই।

আগে

firebase::App* app = ::firebase::App::Create();
firebase::InitResult result = firebase::admob::Initialize(*app, kAdMobAppID);

if (result != kInitResultSuccess) {
  // Initialization immediately failed, most likely due to a missing dependency.
  // Check the device logs for more information.
  return;
}

পরে

using firebase::App;
using firebase::Future;
using firebase::gma::AdapterInitializationStatus;

App* app = ::firebase::App::Create();
firebase::InitResult result;
Future<AdapterInitializationStatus> future =
  firebase::gma::Initialize(*app, &result);

if (result != kInitResultSuccess) {
  // Initialization immediately failed, most likely due to a missing dependency.
  // Check the device logs for more information.
  return;
}

// Poll the future to wait for its completion either in this
// thread, or as part of your game loop by calling
// firebase::gma::InitializeLastResult();
while (future.status() == firebase::kFutureStatusPending) {
  // Initialization on-going, continue to wait.
}

// future.status() is either kFutureStatusComplete or there’s an error

if (future.status() == firebase::kFutureStatusComplete &&
     future.error() == firebase::gma::AdErrorCodeNone) {
  AdapterInitializationStatus* status = future.result();
  // Check status for any mediation adapters you wish to use.
  // ..
} else {
  // Handle initialization error.
}

AdView-এর মধ্যে AdSize-এ পরিবর্তন করা হয়েছে

AdSize-এ এখন সাধারণ ব্যানার বিজ্ঞাপনের সাইজের স্ট্যাটিক মেম্বার রয়েছে এবং এটি AnchorAdaptive ও InlineAdaptive বিজ্ঞাপনের সাইজ সাপোর্ট করে যেগুলির উচ্চতা প্রদত্ত প্রস্থ এবং স্ক্রিনের বর্তমান ওরিয়েন্টেশনের উপর ভিত্তি করে ডায়নামিক হয়।

স্ট্যাটিক AdSize কনস্ট্যান্ট firebase::gma::AdSize-এ যোগ করা হয়েছে

AdSize::kBanner

মোবাইল মার্কেটিং অ্যাসোসিয়েশন (MMA) ব্যানার বিজ্ঞাপনের সাইজ (৩২০x৫০ ঘনত্ব-নিরপেক্ষ পিক্সেল)

AdSize::kFullBanner

ইন্ট্যার‌্যাক্টিভ অ্যাডভার্টাইজিং ব্যুরো (IAB) ফুল ব্যানার বিজ্ঞাপনের সাইজ (৪৬৮x৬০ density-independent পিক্সেল)
AdSize::kLargeBanner kBanner-এর লম্বা ভার্সন, সাধারণত ৩২০x১০০

AdSize::kLeaderboard

ইন্ট্যার‌্যাক্টিভ অ্যাডভার্টাইজিং ব্যুরো (IAB) লিডারবোর্ড বিজ্ঞাপনের সাইজ (৭২৮x৯০ ঘনত্ব-নিরপেক্ষ পিক্সেল)
AdSize::kMediumRectangle ইন্টার‍্যাক্টিভ অ্যাডভার্টাইজিং ব্যুরো (IAB) মাঝারি আয়তাকার বিজ্ঞাপনের সাইজ (৩০০x২৫০ density-independent pixel)
firebase::gma::AdSize-এ স্ট্যাটিক পদ্ধতি AdSize-এর ইনস্ট্যান্স তৈরি করতে সাহায্য করে
GetLandscapeAnchoredAdaptiveBannerAdSize ল্যান্ডস্কেপ মোডে ব্যানার বিজ্ঞাপন তৈরি করার জন্য নির্দিষ্ট প্রস্থ এবং Google-অপ্টিমাইজ করা উচ্চতা সহ একটি AdSize তৈরি করে
GetPortraitAnchoredAdaptiveBannerAdSize পোর্ট্রেট মোডে ব্যানার বিজ্ঞাপন তৈরি করার জন্য নির্দিষ্ট প্রস্থ এবং Google-অপ্টিমাইজ করা উচ্চতা সহ একটি AdSize তৈরি করে
GetCurrentOrientationAnchoredAdaptiveBannerAdSize বর্তমান ওরিয়েন্টেশন অনুযায়ী ব্যানার বিজ্ঞাপন তৈরি করতে, প্রদত্ত প্রস্থ ও Google-অপ্টিমাইজ করা উচ্চতা সহ AdSize তৈরি করে
GetInlineAdaptiveBannerAdSize সর্বাধিক উচ্চতা দেওয়া থাকলে, ব্যানার বিজ্ঞাপনের জন্য সবচেয়ে উপযুক্ত AdSize তৈরি করে

এই AdSize Google সার্ভারকে নির্দিষ্ট করা সর্বাধিক উচ্চতার সমান বা তার থেকে কম উচ্চতা সহ বিজ্ঞাপনের সবচেয়ে উপযুক্ত সাইজ বেছে নেওয়ার অনুমতি দেয়।

GetLandscapeInlineAdaptiveBannerAdSize প্রদত্ত প্রস্থ এবং ডিভাইসের ল্যান্ডস্কেপ উচ্চতা সহ একটি InlineAdaptive AdSize তৈরি করে
GetPortraitInlineAdaptiveBannerAdSize প্রদত্ত প্রস্থ এবং ডিভাইসের পোর্ট্রেট উচ্চতা সহ একটি InlineAdaptive AdSize তৈরি করে।
GetCurrentOrientationInlineAdaptiveBannerAdSize নির্দিষ্ট প্রস্থের বর্তমান ইন্টারফেস ওরিয়েন্টেশন অনুযায়ী InlineAdaptive AdSize ফিরিয়ে আনার সুবিধাজনক পদ্ধতি।

আগে

firebase::admob::BannerView* banner_view = new firebase::admob::BannerView();

firebase::admob::AdSize ad_size;
ad_size.ad_size_type = firebase::admob::kAdSizeStandard;
ad_size.width = 320;
ad_size.height = 50;

// ad_parent is a reference to an iOS UIView or an Android Activity.
// banner_ad_unit is your ad unit id for banner ads.
banner_view->Initialize(ad_parent, banner_ad_unit, ad_size);

পরে

firebase::gma::AdView* ad_view = new firebase::gma::AdView();

// ad_parent is a reference to an iOS UIView or an Android Activity.
// banner_ad_unit is your ad unit id for banner ads.
banner_view->Initialize(ad_parent, banner_ad_unit, firebase::gma::AdSize.kBanner);

AdRequest এবং গ্লোবাল কনফিগারেশন

টেস্ট ডিভাইস আইডি, TagForChildDirectedTreatment এবং TagForUnderAgeOfConsent (আগে জন্মদিন দ্বারা ম্যানেজ করা হত) AdRequest থেকে সরিয়ে দেওয়া হয়েছে এবং এখন গ্লোবাল RequestConfiguration-এর অংশ। এইসব ভ্যালু কনফিগার করার জন্য অ্যাপ্লিকেশন firebase::gma::SetRequestConfiguration()-কে অ্যাপ্লিকেশনের লাইফসাইকেলের শুরুতেই ইনভোক করতে পারে। কনফিগার করা হয়ে গেলে, পরবর্তী সব বিজ্ঞাপন লোড অপারেশন এই সেটিংস মেনে চলবে।

firebase::gma::AdRequest এখনও আছে কারণ এটি বিজ্ঞাপন লোড করার জন্য প্রাসঙ্গিক তথ্য প্রদান করে, যার মধ্যে কীওয়ার্ড এবং একটি ঐচ্ছিক কন্টেন্ট URL অন্তর্ভুক্ত।

AdMob-এর AdRequest C-স্টাইল স্ট্রাক্টকে মেথড সহ একটি ক্লাস দিয়ে পরিবর্তন করা হয়েছে যা তথ্যের বিভিন্ন তালিকা সংজ্ঞায়িত ও যোগ করার সময় আরও ভালো ব্যবহারকারীর অভিজ্ঞতা প্রদান করে।

AdRequest-এ করা উল্লেখযোগ্য পরিবর্তনগুলি এখানে দেওয়া হল:

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

আগে

firebase::admob::AdRequest request;

// Keywords to be used in targeting.
const char* keywords[] = {"GMA", "C++", "Fun"};
request.keyword_count = sizeof(keywords) / sizeof(keywords[0]);
request.keywords = keywords;

// "Extra" key value pairs.
static const firebase::admob::KeyValuePair extras[] = {
      {"extra_name", "extra_value"}};
request.extras_count = sizeof(extras) / sizeof(extras[0]);
request.extras = kRequestExtras;

// Devices that should be served test ads.
const char* test_device_ids[] ={ "123", "4567", "890" };
request.test_device_id_count =
      sizeof(test_device_ids) / sizeof(test_device_ids[0]);
request.test_device_ids = test_device_ids;

// Sample birthday to help determine the age of the user.
request.birthday_day = 10;
request.birthday_month = 11;
request.birthday_year = 1975;

// Load Ad with the AdRequest.

পরে

// Do once after Google Mobile Ads C++ SDK initialization.
// These settings will affect all Ad Load operations.
firebase::gma::RequestConfiguration configuration;
configuration.max_ad_content_rating =
      firebase::gma::RequestConfiguration::kMaxAdContentRatingPG;
configuration.tag_for_child_directed_treatment =
      firebase::gma::RequestConfiguration::kChildDirectedTreatmentTrue;
configuration.tag_for_under_age_of_consent =
      firebase::gma::RequestConfiguration::kUnderAgeOfConsentFalse;
configuration.test_device_ids.push_back("1234");
configuration.test_device_ids.push_back("4567");
configuration.test_device_ids.push_back("890");
firebase::gma::SetRequestConfiguration(configuration);

// Then, more information must be provided via an AdRequest when
// loading individual ads.
firebase::gma::AdRequest ad_request;

// "Extra" key value pairs.
ad_request.add_keyword("GMA");
ad_request.add_keyword("C++");
ad_request.add_keyword("Fun");

// Content URL.
ad_request.set_content_url("www.example.com");

// Mediation Adapter Extras.
#if defined(Android)
const char* ad_network_extras_class_name =
    "com/google/ads/mediation/admob/AdMobAdapter";
#else  // iOS
const char* ad_network_extras_class_name = "GADExtras";
#endif

ad_request.add_extra(ad_network_extras_class_name, "extra_name", "extra_value");

// Load Ad with the AdRequest. See next section.

AdResults

LoadAd এখন Future রিটার্ন করে যাতে সব AdView, InterstitialAd এবং RewardedAd বিজ্ঞাপনের ধরনের জন্য AdResult অবজেক্ট থাকে। বিজ্ঞাপনের অনুরোধ সফলভাবে পূরণ করা হলে AdResult::is_successful পদ্ধতি true রিটার্ন করে, অথবা না হলে false রিটার্ন করে।

ব্যর্থ হলে, AdResult-এ সমস্যা সম্পর্কে পরিষেবা-লেভেল তথ্য সহ একটি AdError অবজেক্ট থাকে, যার মধ্যে ত্রুটি কোড, ত্রুটি মেসেজ এবং ডোমেন স্ট্রিং অন্তর্ভুক্ত থাকে।

আগে

firebase::Future<AdResult> future;

void load_ad() {
  // Assume an already created AdRequest object.
  future = ad_view->LoadAd(ad_request);
}

void your_game_loop() {
  if (future.status() == firebase::kFutureStatusComplete) {
    if(future.error() != firebase::admob::kAdMobErrorNone) {
      // There was either an internal SDK issue that caused the Future to
      // fail its completion, or AdMob failed to fulfill the ad request.
      // Details are unknown other than the Future’s error code returned
      // from future.error().
    } else {
      // The ad loaded successfully.
    }
  }
}

পরে

firebase::Future<AdResult> future;

void load_ad() {
  // Assumes a previously created AdRequest object.
  // See "AdRequest and Global Configuration" above.
  future = ad_view->LoadAd(ad_request);
}

void your_game_loop() {
  // Check the future status in your game loop:
  if (future.status() == firebase::kFutureStatusComplete) {
    if(future.error() != firebase::admob::kAdErrorCodeNone) {
      // There was an internal SDK issue that caused the Future to fail.
    } else {
      // Future completed successfully.  Check the GMA result.
      const AdResult* ad_result = future.result();
      if ( ad_result->is_successful() != true ) {
        // GMA failed to serve an ad. Gather information about the error.
        const AdError& ad_error = ad_result->ad_error();
        AdErrorCode error_code = ad_error.code();
        const std::string error_domain = ad_error.domain();
        const std::string error_message = ad_error.message();
      } else {
        // The ad loaded successfully.
      }
    }
  }
}

AdView-এর মধ্যে AdListenerটি ইভেন্ট

AdMob-এর BannerView::Listener ক্লাসটি Google Mobile Ads C++ SDK-তে দুটি স্বতন্ত্র লিসেনার ক্লাস দিয়ে প্রতিস্থাপিত হয়েছে:

  • AdListener বিজ্ঞাপনের লাইফসাইকেল ও ব্যবহারকারীর ইন্টার‍্যাকশন ইভেন্ট ট্র্যাক করে।
  • AdView-এর সাইজ পরিবর্তন করা হলে বা সরানো হলে AdViewBoundingBoxListener চালু হয়।

AdMob OnPresentationStateChanged কলব্যাক Google Mobile Ads ম্যাপিং

firebase::admob::BannerView::PresentationState এনিউমেরেটেড টাইপ এবং OnPresentationStateChanged লিসেনার পদ্ধতি নতুন Google Mobile Ads C++ SDK-তে অন্তর্ভুক্ত করা হয়নি।

AdView-এর লাইফ সাইকেলে প্রেজেন্টেশন স্টেট পরিবর্তন শনাক্ত করার বিকল্প উপায় নিচে দেওয়া হল:

firebase::admob::BannerView::Listener OnPresentationStateChangedটি ইভেন্ট firebase::gma::AdListenerটি কাউন্টারপার্ট
kPresentationStateHidden AdListener::OnAdClosed চালু করা হলে অথবা AdView::Hide() তার অ্যাসিঙ্ক্রোনাস অপারেশন সফলভাবে সম্পূর্ণ করলে
kPresentationStateVisibleWithoutAd কোনওটিই নয়। আনলোড করা AdView-এ AdView::Show() ইনভোক করার চেষ্টা করলে সমস্যা হবে।
kPresentationStateVisibleWithAd যখন AdListener::OnAdOpened কল করা হয় অথবা যখন AdView::Show() কোনও বিজ্ঞাপনের সাথে এর অ্যাসিঙ্ক্রোনাস অপারেশন সফলভাবে সম্পূর্ণ করে
kPresentationStateOpenedPartialOverlay AdListener::OnAdOpened() কল করার পরে বাউন্ডিং বক্স কোয়েরি করুন যাতে দেখানো বিজ্ঞাপনের সাইজ ও পজিশন নির্ধারণ করা যায়। বিকল্প হিসেবে, AdView-এর পজিশন এবং AdSize কোয়েরি করুন এবং/অথবা AdViewBoundingBoxListener-এর মাধ্যমে বাউন্ডিং বক্স মনিটর করুন।
kPresentationStateCoveringUI উপরে kPresentationStateOpenedPartialOverlay দেখুন

RewardedAd এখন একটি ক্লাস

পুরনো Firebase AdMob C++ SDK, firebase::admob::rewarded_ad নেমস্পেসে ফাংশনের সংগ্রহের মাধ্যমে পুরস্কার প্রদানকারী বিজ্ঞাপন দেখানোর সুবিধা প্রদান করে। এইসব ফাংশন একটি নতুন RewardedAd ক্লাসে একত্রিত করা হয়েছে যা InterstitialAd-এর মতো একই API সারফেস সহ বিজ্ঞাপন দেখায় (পরবর্তী বিভাগ দেখুন)।

InterstitialAd এবং RewardedAd লিসনার

পৃষ্ঠা মধ্যকালিন বিজ্ঞাপন ও পুরস্কার প্রদানকারী বিজ্ঞাপন, দুটিকেই ফুল-স্ক্রিন বিজ্ঞাপন হিসেবে বিবেচনা করা হয়। এইসব বিজ্ঞাপনের ধরনের জন্য বিজ্ঞাপন লাইফ সাইকেল ইভেন্ট শুনতে নতুন FullScreenContentListener ইনস্টল করা যেতে পারে এবং AdMob পরিষেবা কখন কোনও পেড ইভেন্ট হয়েছে বলে মনে করে তা ট্র্যাক করতে আলাদা PaidEventListener ইনস্টল করা যেতে পারে।

ব্যবহারকারীর উপার্জন করা পুরস্কার ইভেন্ট মনিটর করার জন্য RewardedAd-এর কাছে অতিরিক্ত লিসনার আছে।

নতুন ফুল-স্ক্রিন বিজ্ঞাপন কলব্যাক পদ্ধতি

FullScreenContentListenerটি পদ্ধতি PaidEventListenerটি পদ্ধতি UserEarnedRewardListenerটি পদ্ধতি
OnAdClicked OnPaidEvent OnUserEarnedReward
OnAdDismissedFullScreenContent
OnAdFailedToShowFullScreenContent
OnAdImpression
OnAdShowedFullScreenContent

পদ্ধতি পরিবর্তন করা/সরানো/প্রতিস্থাপন করা হয়েছে

নতুন Google Mobile Ads C++ SDK-তে পরিবর্তিত নির্দিষ্ট পদ্ধতিগুলি নিচের সারণীতে তালিকাভুক্ত করা হয়েছে। তালিকাভুক্ত প্যারামিটার সহ পদ্ধতিগুলি থেকে যায় তবে তাদের স্বাক্ষর পরিবর্তিত হয়েছে।

শ্রেণী Firebase AdMob C++ SDK API Google Mobile Ads C++ SDK API নোট
BannerView MoveTo AdView::SetPosition
presentation_state সরানো হয়েছে AdViewListenerটি ইভেন্ট এবং AdView::Show ও AdView::Hideটি ভবিষ্যতের ফলাফল দ্বারা পরিচালিত।
SetListener AdView::SetAdListener
AdView::SetBoundingBoxListener
AdView::SetPaidEventListener
নতুন লিসনার ডিজাইন AdView লাইফসাইকেল ইভেন্ট শনাক্ত করার বিশ্বস্ততা বাড়ায়।
Listener::OnPresentationStateChanged সরানো হয়েছে উপরে BannerView::SetListener দেখুন।
Listener::OnBoundingBoxChanged AdViewBoundingBoxListener::OnBoundingBoxChanged
InterstitialAd Initialize(AdParent parent, const char* ad_unit_id) Initialize(AdParent parent) ad_unit_id প্যারামিটার এখন LoadAd অপারেশনের অংশ।
LoadAd(const AdRequest& request) LoadAd(const char* ad_unit_id, const AdRequest& request)
presentation_state সরানো হয়েছে presentation_state গণনা সরিয়ে দেওয়া হয়েছে। FullScreenContentListener ব্যবহার করুন।
SetListener SetFullScreenContentListener
SetPaidEventListener
Destroy সরানো হয়েছে রিসোর্স ক্লিন-আপ করা এখন RewardedAd ডেস্ট্রাক্টরের অংশ।
RewardedAd
(আনুষ্ঠানিকভাবে
RewardedVideoAd)
Initialize Initialize(AdParent parent) AdParent আগে Show-এ পাস করা হয়েছিল, কিন্তু এখন ইনিশিয়ালাইজেশনের অংশ।
presentation_state সরানো হয়েছে presentation_state গণনা সরিয়ে দেওয়া হয়েছে। FullScreenContentListener ব্যবহার করুন।
SetListener SetFullScreenContentListener
SetPaidEventListener Show
RewardedAd দেখানোর সময় UserEarnedReward লিসেনারও সংজ্ঞায়িত করা হয়। নিচে দেখুন।
Show(AdParent parent) Show(UserEarnedRewardListener* listener)