โฆษณาแบนเนอร์จะใช้ตำแหน่งภายในเลย์เอาต์ของแอป โดยจะอยู่ด้านบนหรือด้านล่างของแอปก็ได้ หน้าจออุปกรณ์ ในระหว่างที่ผู้ใช้กำลังโต้ตอบกับแอป โฆษณาเหล่านี้จะอยู่บนหน้าจอ และสามารถรีเฟรชโดยอัตโนมัติ เมื่อเวลาผ่านไปช่วงหนึ่ง หากคุณเพิ่งเริ่มใช้ การโฆษณาบนอุปกรณ์เคลื่อนที่ ก็เป็นจุดเริ่มต้นที่ดี กรณีศึกษา
ข้อกำหนดเบื้องต้น
- ดำเนินการเริ่มต้นใช้งานให้เสร็จสมบูรณ์
- (Android เท่านั้น) ความคุ้นเคยในการทำงานร่วมกับ JNI
jobject
(โปรดดู เคล็ดลับเกี่ยวกับ Android JNI)
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทน โฆษณาที่ใช้งานจริง หากไม่ดำเนินการ บัญชีจะถูกระงับ
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบโดยเฉพาะของเรา ซึ่งจะแตกต่างกันไปตามแพลตฟอร์มอุปกรณ์ ดังนี้
- Android :
ca-app-pub-3940256099942544/6300978111
- iOS:
ca-app-pub-3940256099942544/2934735716
รหัสหน่วยโฆษณาเหล่านี้ได้รับการกำหนดค่าเป็นพิเศษให้ส่งคืนโฆษณาทดสอบสำหรับ และสามารถใช้ในแอปของคุณเองขณะเขียนโค้ด ทดสอบ และ การแก้ไขข้อบกพร่อง ตรวจสอบให้แน่ใจว่าคุณแทนที่ด้วยรหัสหน่วยโฆษณาของคุณเองก่อน การเผยแพร่แอปของคุณ
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของโฆษณาทดสอบของ Mobile Ads SDK ได้ที่โฆษณาทดสอบ
การใช้งาน
กำหนดค่า AdView
โฆษณาแบนเนอร์จะแสดงในออบเจ็กต์ AdView
ดังนั้นขั้นตอนแรกเพื่อ
ผสานรวมโฆษณาแบนเนอร์ก็คือการสร้างและวางตำแหน่ง AdView
เพิ่มส่วนหัวต่อไปนี้ในโค้ด C++ ของแอป
#include "firebase/gma/ad_view.h"
ประกาศและสร้างอินสแตนซ์ของออบเจ็กต์
AdView
firebase::gma::AdView* ad_view; ad_view = new firebase::gma::AdView();
สร้าง
AdSize
และเริ่มต้นการดูโฆษณาโดยใช้AdParent
มุมมองหลัก มุมมองหลักคือjobject
ของ JNI ที่อ้างอิงถึงActivity
ของ Android หรือพอยน์เตอร์ไปยังUIView
ของ iOS ที่แคสต์เป็นประเภทAdParent
// my_ad_parent is a jobject reference // to an Android Activity or a pointer to an iOS UIView. firebase::gma::AdParent ad_parent = static_cast<firebase::gma::AdParent>(my_ad_parent); firebase::Future
result = ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner); นอกจากการคงอนาคตไว้เป็นตัวแปรแล้ว คุณยังทำสิ่งต่อไปนี้ได้ ตรวจสอบสถานะของการดำเนินการเริ่มต้นเป็นระยะๆ โดยการเรียกใช้
InitializeLastResult()
บนออบเจ็กต์AdView
วิดีโอนี้อาจเป็นประโยชน์สำหรับ ติดตามกระบวนการเริ่มต้นใน Game Loop ทั่วโลกของคุณ// Monitor the status of the future in your game loop: firebase::Future<void> result = ad_view->InitializeLastResult(); if (result.status() == firebase::kFutureStatusComplete) { // Initialization completed. if(future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization successful. } else { // An error has occurred. } } else { // Initialization on-going. }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับ
firebase::Future
ได้ที่หัวข้อใช้ Futures เพื่อตรวจสอบสถานะการเรียกใช้เมธอดที่เสร็จสมบูรณ์
กำหนดตำแหน่งของโฆษณา
คุณตั้งค่าตำแหน่งของ AdView
ได้ทุกเมื่อหลังจากเริ่มต้นแล้ว
firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);
โหลดโฆษณา
คุณสามารถโหลดโฆษณาได้เมื่อเริ่มต้น AdView
แล้ว โดยทำดังนี้
firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result = ad_view->LoadAd(my_ad_request);
ออบเจ็กต์ AdRequest
รายการแสดงคำขอโฆษณาเดียวและมีพร็อพเพอร์ตี้สำหรับ
ข้อมูลอื่น เช่น การกำหนดเป้าหมาย
แสดงโฆษณา
สุดท้าย แสดงโฆษณาบนหน้าจอโดยโทรหา Show()
วิธีการนี้อาจเป็น
เรียกใช้เมื่อใดก็ได้หลังจากโฆษณาเริ่มต้น:
firebase::Future<void> result = ad_view->Show();
เหตุการณ์โฆษณา
C++ SDK โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google มีคลาส AdListener
ที่คุณสามารถขยายได้
และส่งไปยัง AdView::SetListener()
เพื่อรับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงโฆษณา
สถานะของมุมมอง
คุณจะขยายเมธอดใน AdListener
หรือไม่ก็ได้ คุณจึงต้องใช้เพียงเมธอด
วิธีการที่ต้องการ ด้านล่างนี้คือตัวอย่างการใช้งานคลาสที่ขยายคลาสวิธีการ AdListener
ทั้งหมด
class ExampleAdListener : public firebase::gma::AdListener { public: ExampleAdListener() {} void OnAdClicked() override { // This method is invoked when the user clicks the ad. } void OnAdClosed() override { // This method is invoked when the user closes the ad. } void OnAdImpression() override { // This method is invoked when an impression is recorded for an ad. } void OnAdOpened() override { // This method is invoked when an ad opens an overlay that covers the screen. } }; ExampleAdListener* ad_listener = new ExampleAdListener(); ad_view->SetAdListener(ad_listener);
ขนาดของแบนเนอร์
ตารางด้านล่างแสดงรายการขนาดแบนเนอร์มาตรฐาน
ขนาดเป็นจุด (กว้างxสูง) | คำอธิบาย | ความพร้อมใช้งาน | firebase::gma::AdSize ค่าคงที่ |
---|---|---|---|
320x50 | แบนเนอร์ | โทรศัพท์และแท็บเล็ต | kBanner |
320x100 | แบนเนอร์ขนาดใหญ่ | โทรศัพท์และแท็บเล็ต | kLargeBanner |
300x250 | สี่เหลี่ยมผืนผ้ากลาง IAB | โทรศัพท์และแท็บเล็ต | kMediumRectangle |
468x60 | แบนเนอร์ IAB ขนาดเต็ม | แท็บเล็ต | kFullBanner |
728x90 | ลีดเดอร์บอร์ด IAB | แท็บเล็ต | kLeaderboard |
ความกว้างที่ระบุ x ความสูงแบบปรับอัตโนมัติ | แบนเนอร์แบบปรับขนาดได้ | โทรศัพท์และแท็บเล็ต | ไม่มี |
ขนาดโฆษณาที่กำหนดเอง
หากต้องการกำหนดขนาดแบนเนอร์ที่กำหนดเอง ให้กำหนดขนาดที่ต้องการโดยใช้
firebase::gma::AdSize
เครื่องมือสร้างที่มีพารามิเตอร์ความกว้างและความสูงดังที่ปรากฏที่นี่
firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);
แหล่งข้อมูลเพิ่มเติม
ตัวอย่างใน GitHub
- ดูซอร์สโค้ดของ ตัวอย่างแอปการเริ่มต้นอย่างรวดเร็ว ใน GitHub