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 |
AdListenerAdViewBoundingBoxListenerPaidEventListener |
BannerView::Position |
AdView::Position |
BannerView::PresentationState |
সরানো হয়েছে |
ChildDirectedTreatmentState |
RequestConfiguration::TagForChildDirectedTreatment |
Gender (enum) |
সরানো হয়েছে |
InterstitialAd::Listener |
FullScreenContentListenerPaidEventListener |
KeyValuePair |
সরানো হয়েছে |
NativeExpressAdView |
সরানো হয়েছে |
PollableRewardListener |
সরানো হয়েছে |
RewardItem |
AdReward |
RewardedVideoAd (নেমস্পেস) |
RewardedAd (ক্লাস) |
RewardedVideoAd::Listener |
FullScreenContentListenerPaidEventListenerUserEarnedRewardListener |
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 তৈরি করে
এই |
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::SetAdListenerAdView::SetBoundingBoxListenerAdView::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
|
SetFullScreenContentListenerSetPaidEventListener
|
||
Destroy
|
সরানো হয়েছে | রিসোর্স ক্লিন-আপ করা এখন RewardedAd
ডেস্ট্রাক্টরের অংশ।
|
|
RewardedAd(আনুষ্ঠানিকভাবে RewardedVideoAd)
|
Initialize
|
Initialize(AdParent parent)
|
AdParent আগে Show-এ পাস করা হয়েছিল, কিন্তু এখন
ইনিশিয়ালাইজেশনের অংশ।
|
presentation_state
|
সরানো হয়েছে | presentation_state গণনা সরিয়ে দেওয়া হয়েছে। FullScreenContentListener
ব্যবহার করুন।
|
|
SetListener
|
SetFullScreenContentListenerSetPaidEventListener
Show
|
RewardedAd দেখানোর সময় UserEarnedReward লিসেনারও
সংজ্ঞায়িত করা হয়। নিচে দেখুন।
|
|
Show(AdParent parent)
|
Show(UserEarnedRewardListener* listener)
|