Google Mobile Ads के नए C++ SDK टूल पर माइग्रेट करें

Firebase C++ SDK v9.1.0 के रिलीज़ में एक नया Google Mobile Ads C++ SDK टूल जोड़ा गया है.

Google Mobile Ads C++ SDK टूल, एक नया एपीआई प्लैटफ़ॉर्म है. इसमें 2021 और Android के लिए, 2021 और Android के लिए Firebase AdMob C++ SDK में 2021 और 2022 में किए गए अहम बदलाव शामिल हैं. इनमें, अब काम नहीं करने वाले एपीआई को हटाना और फ़ुल स्क्रीन वाले विज्ञापन के टाइप के साथ काम करते समय एक नया फ़्लो भी शामिल है.

पुराने Firebase AdMob C++ SDK टूल (firebase::admob) को 'अब काम नहीं करता' के तौर पर मार्क कर दिया गया है. आने वाले समय में, इसमें कोई अपडेट या गड़बड़ी ठीक नहीं होगी.

नया Google Mobile Ads C++ SDK (firebase::gma) और पुराना Firebase AdMob C++ SDK (firebase::admob), दोनों ही Firebase AdMob C++ SDK टूल को बंद करने की विंडो के दौरान, Firebase C++ SDK टूल के बिल्ड संग्रह का हिस्सा बने रहेंगे.

लेगसी एपीआई को हटाना

नीचे दिए गए एपीआई को Google Mobile Ads C++ SDK से पूरी तरह हटा दिया गया है.

RewardedVideoAd

AdMob के RewardedVideoAd नेमस्पेस को RewardedAd क्लास से बदल दिया गया है. RewardedAd, InterstitialAd की तरह काम करता है. हालांकि, उसमें इनाम की सूचना पाने के लिए, एक RewardedAdListener शामिल होता है.

NativeExpressAds

हर Firebase AdMob C++ SDK टूल में, AdMob के NativeExpressAd को पहले से ही 'अब काम नहीं करता' के तौर पर मार्क कर दिया गया है. इसलिए, NativeExpressAd को नए Google Mobile Ads C++ SDK में शामिल नहीं किया गया है.

SDK टूल के नेमस्पेस में बदलाव

SDK टूल को एक नए नेमस्पेस पर ले जाया गया है और इसकी डायरेक्ट्री का नया स्ट्रक्चर है:

नाम स्थान firebase::gma

नए Google मोबाइल विज्ञापन C++ SDK टूल के स्रोत firebase::gma नाम स्थान में हैं. Firebase AdMob C++ SDK टूल के साथ, पुराने firebase::admob नेमस्पेस अब काम नहीं करते.

डायरेक्ट्री स्ट्रक्चर

हेडर फ़ाइलों को बिल्ड संग्रह के अंदर एक नई डायरेक्ट्री में ले जाया गया है:

काम न करने वाला 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

क्लास, ईनम, और स्ट्रक्चर माइग्रेशन

इस टेबल में खास क्लास, ईनम, और ऐसे निर्देशों की सूची दी गई है जिनमें बदलाव हुआ है या जिन्हें हटाया गया है. यहां खास जानकारी दी गई है:

  • 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 विज्ञापन आकार का समर्थन करता है.

firebase::gma::AdSize में स्टैटिक AdSize कॉन्सटेंट जोड़ा गया

AdSize::kBanner

मोबाइल मार्केटिंग असोसिएशन (एमएमए) के बैनर विज्ञापन का साइज़ (320x50 डेंसिटी-इंडिपेंडेंट पिक्सल)

AdSize::kFullBanner

Interactive Advertising Bureau (IAB) का पूरा बैनर विज्ञापन साइज़ (468x60 डेंसिटी-इंडिपेंडेंट पिक्सल)
AdSize::kLargeBanner kBanner का लंबा वर्शन, आम तौर पर 320x100

AdSize::kLeaderboard

Interactive Advertising Bureau (IAB) के लीडरबोर्ड विज्ञापन का साइज़ (728x90 डेंसिटी-इंडिपेंडेंट पिक्सल)
AdSize::kMediumRectangle इंटरैक्टिव एडवर्टाइज़िंग ब्यूरो (IAB) मीडियम रेक्टैंगल विज्ञापन साइज़ (300x250 डेंसिटी-इंडिपेंडेंट पिक्सल)
AdSize के इंस्टेंस बनाने में मदद करने के लिए, firebase::gma::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 अब भी मौजूद है, क्योंकि यह विज्ञापन लोड करने से जुड़ी ज़रूरी जानकारी उपलब्ध कराता है. इसमें कीवर्ड और कॉन्टेंट का वैकल्पिक यूआरएल भी शामिल होता है.

AdMob के AdRequest सी-स्टाइल स्ट्रक्चर को उन तरीकों से बदल दिया गया है जो अलग-अलग तरह की जानकारी को परिभाषित करते और उनमें जोड़ते समय बेहतर उपयोगकर्ता अनुभव देते हैं.

AdRequest में हुए अहम बदलाव यहां दिए गए हैं:

  • अतिरिक्त डेटा को अब मीडिएशन अडैप्टर क्लास के नाम के साथ जोड़ा जाता है. AdMob सेवा को भेजे जाने वाले अतिरिक्त एलिमेंट में, नीचे बताए गए तरीके से डिफ़ॉल्ट क्लास का नाम इस्तेमाल किया जाना चाहिए.
  • किसी विज्ञापन का अनुरोध करने पर, ऐप्लिकेशन उस कॉन्टेंट का यूआरएल पास कर सकते हैं जिसे वे दिखा रहे हैं. इससे कीवर्ड टारगेटिंग, दिखाए जा रहे दूसरे कॉन्टेंट के साथ विज्ञापन का मिलान करने के लिए चालू हो जाती है.

इससे पहले

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 इवेंट

Google Mobile Ads C++ SDK में, AdMob की BannerView::Listener क्लास को दो अलग-अलग लिसनर क्लास से बदल दिया गया है:

  • AdListener, विज्ञापन के लाइफ़साइकल और उपयोगकर्ता के इंटरैक्शन के इवेंट को ट्रैक करता है.
  • AdView का साइज़ बदलने या किसी दूसरी जगह पर ले जाने पर, AdViewBoundingBoxListener शुरू हो जाता है.

AdMob OnPresentationStateChanged कॉलबैक Google Mobile Ads मैपिंग

नए Google Mobile Ads C++ SDK टूल में, firebase::admob::BannerView::PresentationState के लिए गिनती के टाइप और OnPresentationStateChanged लिसनर तरीके को शामिल नहीं किया गया है.

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 जैसे एपीआई प्लैटफ़ॉर्म वाले विज्ञापन दिखाए जाते हैं (अगला सेक्शन देखें).

InterstitialAd और RewardedAd लिसनर

इंटरस्टीशियल विज्ञापन और इनाम वाले विज्ञापन, दोनों को फ़ुल स्क्रीन वाले विज्ञापन माना जाता है. इन विज्ञापन टाइप के लिए, विज्ञापन के लाइफ़साइकल इवेंट को सुनने के लिए एक नया FullScreenContentListener इंस्टॉल किया जा सकता है. साथ ही, एक अलग PaidEventListener इंस्टॉल किया जा सकता है, ताकि यह ट्रैक किया जा सके कि AdMob सेवा ने पेमेंट वाले इवेंट को कब लागू किया है.

उपयोगकर्ता से मिले इनाम वाले इवेंट को मॉनिटर करने के लिए, RewardedAd का एक अतिरिक्त लिसनर है.

फ़ुल स्क्रीन वाले विज्ञापन के लिए नए कॉलबैक के तरीके

FullScreenContentListener तरीका PaidEventListener तरीका UserEarnedRewardListener तरीका
OnAdClicked OnPaidEvent OnUserEarnedReward
OnAdDismissedFullScreenContent
OnAdFailedToShowFullScreenContent
OnAdImpression
OnAdShowedFullScreenContent

तरीके बदले/हटाए गए/बदले गए

नीचे दी गई टेबल में, Google Mobile Ads C++ SDK टूल के नए वर्शन में बदले गए तरीकों की सूची दी गई है. पैरामीटर वाले तरीके मौजूद रहेंगे, लेकिन उनके हस्ताक्षर बदल गए हैं.

क्लास Firebase AdMob C++ SDK टूल एपीआई Google मोबाइल विज्ञापन C++ SDK टूल एपीआई ज़रूरी जानकारी
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
मध्यवर्ती विज्ञापन 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)