ย้ายข้อมูลไปยัง SDK โฆษณาบนมือถือของ Google C++ ใหม่

การเปิดตัว Firebase C++ SDK v9.1.0 ทำให้เกิด C++ SDK โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google ใหม่

C++ SDK โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google เป็นแพลตฟอร์ม API ใหม่ที่รวมเอาการเปลี่ยนแปลงสำคัญที่เกิดขึ้นกับ Firebase AdMob C++ SDK สำหรับ iOS และ Android ในปี 2021 และ 2022 รวมถึงการถอด API ที่เลิกใช้งานแล้ว และขั้นตอนใหม่เมื่อทำงานกับโฆษณาแบบเต็มหน้าจอ ประเภท

Firebase AdMob C++ SDK เก่า ( firebase::admob ) ถูกทำเครื่องหมายว่าเลิกใช้งานแล้ว และจะไม่ได้รับการอัปเดตหรือการแก้ไขข้อบกพร่องใดๆ ในอนาคต

ทั้ง C++ SDK โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google ใหม่ ( firebase::gma ) และ Firebase AdMob C++ SDK เก่า ( firebase::admob ) จะยังคงเป็นส่วนหนึ่งของไฟล์เก็บถาวรบิวด์สำหรับ Firebase C++ SDK ในระหว่างกรอบเวลาการเลิกใช้งาน Firebase AdMob C++ SDK

การลบ API เดิม

API ต่อไปนี้ได้ถูกนำออกจาก Google Mobile Ads C++ SDK ทั้งหมดแล้ว

RewardedVideoAd

เนมสเปซ RewardedVideoAd ของ AdMob ถูกแทนที่ด้วยคลาส RewardedAd RewardedAd มีพฤติกรรมคล้ายกับ InterstitialAd แต่มี RewardedAdListener เพิ่มเติมเพื่อรับการแจ้งเตือนรางวัลไอเทม

NativeExpressAds

NativeExpressAd ของ AdMob ได้รับการทำเครื่องหมายว่าเลิกใช้งานแล้วใน Firebase AdMob C++ SDK แต่ละรายการ ดังนั้น NativeExpressAd จึงไม่รวมอยู่ใน C++ SDK โฆษณาบนมือถือของ Google ใหม่

การเปลี่ยนแปลงเนมสเปซ SDK

SDK ได้ย้ายไปยังเนมสเปซใหม่ และมีโครงสร้างไดเรกทอรีใหม่:

เนมสเปซ firebase::gma

แหล่งที่มาของ C++ SDK โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google ใหม่อยู่ในเนมสเปซ firebase::gma เนมสเปซ firebase::admob เก่าเลิกใช้งานแล้วพร้อมกับ Firebase AdMob C++ SDK

โครงสร้างไดเร็กทอรี

ไฟล์ส่วนหัวได้ย้ายไปยังไดเร็กทอรีใหม่ภายในไฟล์ build:

Firebase AdMob C++ SDK ที่เลิกใช้งานแล้ว ใหม่ SDK โฆษณาบนมือถือของ Google C++
include/firebase/admob include/firebase/gma

ห้องสมุด

Firebase AdMob C++ SDK จะถูกจัดเตรียมเป็นไลบรารีแบบคงที่ภายในไฟล์เก็บถาวรของ Firebase C++ SDK:

ไอโอเอส

Firebase AdMob C++ SDK ที่เลิกใช้งานแล้ว ใหม่ SDK โฆษณาบนมือถือของ Google C++
firebase_admob.xcframework firebase_gma.xcframework

หุ่นยนต์

Firebase AdMob C++ SDK ที่เลิกใช้งานแล้ว ใหม่ SDK โฆษณาบนมือถือของ Google C++
libfirebase_admob.a libfirebase_gma.a

การย้ายคลาส แจงนับ และโครงสร้าง

ตารางด้านล่างแสดงรายการคลาส เฉพาะ และโครงสร้างที่เปลี่ยนแปลงหรือถูกลบออก นี่เป็นบทสรุป:

  • BannerView เปลี่ยนชื่อเป็น AdView
  • NativeAdExpressView ถูกลบออก
  • เนมสเปซ RewardedVideo จะถูกแทนที่ด้วยคลาส RewardedAd
  • การแจงนับและผู้ฟัง PresentationState จะถูกลบออกและแทนที่ด้วยผู้ฟัง AdListener และ FullScreenContent
  • พารามิเตอร์ต่อไปนี้จะถูกลบออกเป็นพารามิเตอร์การกำหนดค่าต่อโฆษณาใน AdRequests :

    • การกำหนดค่ารหัสอุปกรณ์ทดสอบ
    • การกำหนดเป้าหมายโฆษณาตามอายุ

    แต่ขณะนี้สามารถกำหนดค่าพารามิเตอร์เหล่านี้ได้ใน RequestConfiguration ซึ่งเป็นการตั้งค่าส่วนกลางที่จะส่งผลต่อการโหลดโฆษณาที่ตามมาทั้งหมด

firebase::admob namespace ที่เลิกใช้แล้ว ใหม่ firebase::gma namespace
AdSizeType (แจงนับ) AdSize::Type (แจงนับ)
BannerView AdView
BannerView::Listener AdListener
AdViewBoundingBoxListener
PaidEventListener
BannerView::Position AdView::Position
BannerView::PresentationState ลบออก
ChildDirectedTreatmentState RequestConfiguration::TagForChildDirectedTreatment
Gender (แจงนับ) ลบออก
InterstitialAd::Listener FullScreenContentListener
PaidEventListener
KeyValuePair ลบออก
NativeExpressAdView ลบออก
PollableRewardListener ลบออก
RewardItem AdReward
RewardedVideoAd (เนมสเปซ) RewardedAd (คลาส)
RewardedVideoAd::Listener FullScreenContentListener
PaidEventListener
UserEarnedRewardListener
AdMobError (แจงนับ) AdErrorCode (แจงนับ)
RewardItem AdReward

การเริ่มต้น SDK

ฟังก์ชันการเริ่มต้น SDK C++ SDK ของโฆษณาบนอุปกรณ์เคลื่อนที่ของ Google แต่ละรายการจะส่งคืนตัวบ่งชี้สถานะ 2 ตัวทันที:

  • พารามิเตอร์ out ที่เป็นทางเลือกจะสื่อว่าเกิดข้อผิดพลาดในการขึ้นต่อกันก่อนที่กระบวนการเริ่มต้นจะเริ่มต้นหรือไม่

  • พารามิเตอร์ return คือการอ้างอิงถึง firebase::Future Future ประกอบด้วยผลลัพธ์ของการเริ่มต้นอะซิงโครนัสของอะแดปเตอร์สื่อกลางบนอุปกรณ์

แม้ว่า Google Mobile Ads C++ SDK อาจถูกเรียกใช้เพื่อโหลดโฆษณาที่แสดงโดย AdMob ทันทีที่ฟังก์ชันการเริ่มต้นกลับมา เครือข่ายโฆษณาอื่นๆ จะไม่แสดงโฆษณาจนกว่าอะแดปเตอร์สื่อกลางที่เกี่ยวข้องจะเริ่มต้นโดยสมบูรณ์ กระบวนการนี้เกิดขึ้นแบบอะซิงโครนัส ดังนั้น หากคุณใช้สื่อกลางโฆษณาในแอปพลิเคชันของคุณ เราขอแนะนำให้คุณรอให้ 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.
}

การเปลี่ยนแปลง AdSize ภายใน AdView

ตอนนี้ AdSize ประกอบด้วยสมาชิกแบบคงที่ของขนาดโฆษณาแบนเนอร์ทั่วไป และรองรับขนาดโฆษณา AnchorAdaptive และ InlineAdaptive ซึ่งมีความสูงแบบไดนามิกตามความกว้างที่กำหนดและการวางแนวปัจจุบันของหน้าจอ

เพิ่มค่าคงที่ AdSize แบบคงที่ใน firebase::gma::AdSize

AdSize::kBanner

ขนาดโฆษณาแบนเนอร์ของสมาคมการตลาดมือถือ (MMA) (พิกเซลไม่ขึ้นกับความหนาแน่น 320x50)

AdSize::kFullBanner

Interactive Advertising Bureau (IAB) ขนาดโฆษณาแบนเนอร์แบบเต็ม (พิกเซลไม่ขึ้นกับความหนาแน่น 468x60)
AdSize::kLargeBanner kBanner เวอร์ชันสูงกว่า โดยทั่วไปจะมีขนาด 320x100

AdSize::kLeaderboard

ขนาดโฆษณากระดานผู้นำ Interactive Advertising Bureau (IAB) (พิกเซลไม่ขึ้นกับความหนาแน่น 728x90)
AdSize::kMediumRectangle Interactive Advertising Bureau (IAB) โฆษณาสี่เหลี่ยมผืนผ้ากลางขนาด (พิกเซลไม่ขึ้นกับความหนาแน่น 300x250)
วิธีการคงที่ใน firebase::gma::AdSize เพื่อช่วยสร้างอินสแตนซ์ของ AdSize
GetLandscapeAnchoredAdaptiveBannerAdSize สร้าง AdSize ตามความกว้างที่กำหนดและความสูงที่ Google เพิ่มประสิทธิภาพ เพื่อสร้างโฆษณาแบนเนอร์ในโหมดแนวนอน
GetPortraitAnchoredAdaptiveBannerAdSize สร้าง AdSize ตามความกว้างที่กำหนดและความสูงที่ Google เพิ่มประสิทธิภาพเพื่อสร้างโฆษณาแบนเนอร์ในโหมดแนวตั้ง
GetCurrentOrientationAnchoredAdaptiveBannerAdSize สร้าง AdSize ตามความกว้างที่กำหนดและความสูงที่เพิ่มประสิทธิภาพโดย Google เพื่อสร้างโฆษณาแบนเนอร์ตามการวางแนวปัจจุบัน
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 เนื้อหาที่ไม่บังคับ

โครงสร้าง AdRequest รูปแบบ C ของ AdMob ถูกแทนที่ด้วยคลาสที่มีเมธอดที่ให้ประสบการณ์ผู้ใช้ที่ดีขึ้นเมื่อกำหนดและต่อท้ายรายการข้อมูลต่างๆ

การเปลี่ยนแปลง 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 ที่มีออบเจ็กต์ AdResult สำหรับประเภทโฆษณา AdView , InterstitialAd และ RewardedAd ทั้งหมด เมธอด 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.
      }
    }
  }
}

เหตุการณ์ AdListener ภายใน AdView

คลาส BannerView::Listener ของ AdMob ถูกแทนที่ด้วยคลาส Listener ที่แตกต่างกัน 2 คลาสใน Google Mobile Ads C++ SDK:

  • AdListener ติดตามวงจรชีวิตของโฆษณาและเหตุการณ์การโต้ตอบของผู้ใช้
  • AdViewBoundingBoxListener จะถูกเรียกใช้เมื่อมีการปรับขนาดหรือย้าย AdView

AdMob OnPresentationStateChanged โทรกลับการแมปโฆษณาบนมือถือของ Google

ประเภทที่แจกแจง firebase::admob::BannerView::PresentationState และวิธีการ Listener OnPresentationStateChanged จะไม่รวมอยู่ใน C++ SDK โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google ใหม่

ต่อไปนี้เป็นอีกวิธีหนึ่งในการตรวจจับการเปลี่ยนแปลงสถานะการนำเสนอในวงจรชีวิตของ AdView :

firebase::admob::BannerView::Listener OnPresentationStateChanged เหตุการณ์ firebase::gma::AdListener ที่เทียบเท่ากัน
kPresentationStateHidden เมื่อมีการเรียกใช้ AdListener::OnAdClosed หรือเมื่อ AdView::Hide() ดำเนินการแบบอะซิงโครนัสเสร็จสมบูรณ์
kPresentationStateVisibleWithoutAd ไม่มี. การพยายามเรียกใช้ AdView::Show() AdView ที่ไม่ได้โหลดจะส่งผลให้เกิดข้อผิดพลาด
kPresentationStateVisibleWithAd เมื่อมีการเรียกใช้ AdListener::OnAdOpened หรือเมื่อ AdView::Show() ดำเนินการอะซิงโครนัสกับโฆษณาได้สำเร็จ
kPresentationStateOpenedPartialOverlay ค้นหากรอบขอบเขตหลังจากเรียกใช้ AdListener::OnAdOpened() เพื่อกำหนดขนาดและตำแหน่งของโฆษณาที่แสดง หรือสอบถามตำแหน่งของ AdView และ AdSize และ/หรือตรวจสอบกรอบขอบเขตผ่าน AdViewBoundingBoxListener
kPresentationStateCoveringUI ดู kPresentationStateOpenedPartialOverlay ด้านบน

ตอนนี้ RewardedAd เป็นคลาสแล้ว

Firebase AdMob C++ SDK ที่เลิกใช้งานแล้วอำนวยความสะดวกให้กับโฆษณาที่มีการให้รางวัลผ่านชุดฟังก์ชันในเนมสเปซ firebase::admob::rewarded_ad ฟังก์ชันเหล่านี้ได้รวมเข้าด้วยกันเป็นคลาส RewardedAd ใหม่ ซึ่งแสดงโฆษณาที่มีพื้นที่ API คล้ายกับ InterstitialAd ระหว่างหน้า (ดูหัวข้อถัดไป)

ผู้ฟังโฆษณา InterstitialAd และผู้ฟัง RewardedAd

ทั้งโฆษณาคั่นระหว่างหน้าและโฆษณาที่มีการให้รางวัลถือเป็นโฆษณาแบบเต็มหน้าจอ สามารถติดตั้ง FullScreenContentListener ใหม่เพื่อฟังเหตุการณ์วงจรชีวิตของโฆษณาสำหรับประเภทโฆษณาเหล่านี้ และสามารถติดตั้ง PaidEventListener แยกต่างหากเพื่อติดตามเมื่อบริการ AdMob ถือว่ามีเหตุการณ์ที่ต้องชำระเงินเกิดขึ้น

RewardedAd มีผู้ฟังเพิ่มเติมเพื่อติดตามกิจกรรมรางวัลที่ผู้ใช้ได้รับ

วิธีการเรียกกลับโฆษณาแบบเต็มหน้าจอแบบใหม่

วิธีการ FullScreenContentListener วิธีการ PaidEventListener วิธีการ UserEarnedRewardListener
OnAdClicked OnPaidEvent OnUserEarnedReward
OnAdDismissedFullScreenContent
OnAdFailedToShowFullScreenContent
OnAdImpression
OnAdShowedFullScreenContent

วิธีการเปลี่ยน/ลบ/แทนที่

ตารางด้านล่างแสดงวิธีการเฉพาะที่เปลี่ยนแปลงใน C++ SDK โฆษณาบนมือถือของ Google ใหม่ วิธีการที่มีพารามิเตอร์แสดงอยู่ยังคงอยู่แต่ลายเซ็นมีการเปลี่ยนแปลง

ระดับ Firebase AdMob C++ SDK API API C++ SDK โฆษณาบนมือถือของ Google หมายเหตุ
BannerView MoveTo AdView::SetPosition
presentation_state ลบออก จัดการโดยเหตุการณ์ AdViewListener และ AdView::Show และ AdView::Hide ผลลัพธ์ในอนาคต
SetListener AdView::SetAdListener
AdView::SetBoundingBoxListener
AdView::SetPaidEventListener
การออกแบบ Listener ใหม่เพิ่มความเที่ยงตรงในการตรวจหาเหตุการณ์วงจรชีวิต 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
Show SetPaidEventListener
นอกจากนี้ Listener UserEarnedReward ยังถูกกำหนดไว้เมื่อแสดง RewardedAd ดูด้านล่าง
Show(AdParent parent) Show(UserEarnedRewardListener* listener)