การเปิดตัว Firebase C++ SDK v9.1.0 เปิดตัว C++ SDK ใหม่สำหรับโฆษณาบนอุปกรณ์เคลื่อนที่ของ Google
C++ SDK ของ Google Mobile Ads เป็นแพลตฟอร์ม 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 ต่อไปนี้ออกจาก C++ SDK ของ Google Mobile Ads ทั้งหมด
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 แล้ว
โครงสร้างไดเรกทอรี
ไฟล์ส่วนหัวย้ายไปยังไดเรกทอรีใหม่ภายในที่เก็บบิลด์แล้ว:
Firebase AdMob C++ SDK ที่เลิกใช้งานแล้ว | SDK สำหรับ C++ ใหม่สำหรับโฆษณาบนอุปกรณ์เคลื่อนที่ของ Google |
---|---|
include/firebase/admob |
include/firebase/gma |
คลัง
Firebase AdMob C++ SDK จะมีให้บริการเป็นไลบรารีแบบคงที่ภายในที่เก็บถาวรบิลด์ Firebase C++ SDK ดังนี้
iOS
Firebase AdMob C++ SDK ที่เลิกใช้งานแล้ว | SDK สำหรับ C++ ใหม่สำหรับโฆษณาบนอุปกรณ์เคลื่อนที่ของ Google |
---|---|
firebase_admob.xcframework |
firebase_gma.xcframework |
Android
Firebase AdMob C++ SDK ที่เลิกใช้งานแล้ว | SDK สำหรับ C++ ใหม่สำหรับโฆษณาบนอุปกรณ์เคลื่อนที่ของ Google |
---|---|
libfirebase_admob.a |
libfirebase_gma.a |
การย้ายข้อมูลคลาส enum และ Struct
ตารางด้านล่างแสดงรายการคลาส enum และ Struct ที่เฉพาะเจาะจงซึ่งมีการเปลี่ยนแปลงหรือถูกนำออก ข้อมูลสรุปมีดังนี้
BannerView
เปลี่ยนชื่อเป็นAdView
แล้ว- นำ
NativeAdExpressView
ออกแล้ว - ระบบจะแทนที่เนมสเปซ
RewardedVideo
ด้วยคลาสRewardedAd
- การแจงนับ
PresentationState
และผู้ฟังจะถูกนำออกและแทนที่ด้วย ListenerAdListener
และ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
ฟังก์ชันการเริ่มต้น C++ SDK ของโฆษณาบนอุปกรณ์เคลื่อนที่ของ Google แต่ละฟังก์ชันจะแสดงสัญญาณบอกสถานะ 2 รายการต่อไปนี้ทันที
พารามิเตอร์ที่ไม่บังคับออกจะบอกให้ทราบว่าเกิดข้อผิดพลาดเกี่ยวกับทรัพยากร Dependency ก่อนเริ่มต้นกระบวนการเริ่มต้นหรือไม่
พารามิเตอร์การคืนสินค้าเป็นการอ้างอิงถึง
firebase::Future
Future
ประกอบด้วยผลลัพธ์ของการเริ่มต้นแบบไม่พร้อมกันของอะแดปเตอร์สื่อกลางในอุปกรณ์
แม้ว่าจะมีการเรียกใช้ C++ SDK โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google ให้โหลดโฆษณาที่แสดงจาก 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 |
ขนาดโฆษณาแบนเนอร์ของ Mobile Marketing Association (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 ที่เหมาะสมที่สุดสำหรับโฆษณาแบนเนอร์เมื่อกำหนดความสูงสูงสุด
|
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 ด้วยคลาสผู้ฟัง 2 คลาสใน C++ SDK โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google ซึ่งประกอบด้วย
AdListener
ติดตามวงจรโฆษณาและเหตุการณ์การโต้ตอบของผู้ใช้- เรียกใช้
AdViewBoundingBoxListener
เมื่อมีการปรับขนาดหรือย้ายAdView
การแมปโฆษณา Google Mobile OnPresentationStateChanged
Callback ของ 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 Mobile Ads เมธอดที่มีพารามิเตอร์แสดงอยู่จะยังคงอยู่ แต่ลายเซ็นมีการเปลี่ยนแปลง
ชั้น | API สำหรับ Firebase AdMob C++ SDK | 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 SetPaidEventListener
Show
|
ระบบจะกำหนด Listener UserEarnedReward ด้วยเมื่อแสดง RewardedAd โปรดดูด้านล่าง
|
|
Show(AdParent parent)
|
Show(UserEarnedRewardListener* listener)
|