โฆษณาแบนเนอร์จะใช้พื้นที่ภายในเลย์เอาต์ของแอป ไม่ว่าจะที่ด้านบนหรือด้านล่างของ หน้าจออุปกรณ์ ในระหว่างที่ผู้ใช้กําลังโต้ตอบกับแอป โฆษณาเหล่านี้จะยังคงแสดงบนหน้าจอ และจะรีเฟรชโดยอัตโนมัติหลังจากเวลาผ่านไปช่วงหนึ่ง หากคุณเพิ่งเริ่มใช้ โฆษณาบนอุปกรณ์เคลื่อนที่ โฆษณาเหล่านี้ก็เป็นจุดเริ่มต้นที่ดี กรณีศึกษา
ข้อกำหนดเบื้องต้น
- ทำตามขั้นตอนเริ่มต้นใช้งาน
- (Android เท่านั้น) คุ้นเคยกับการทำงานกับข้อมูลอ้างอิง JNI
jobject
(ดูเคล็ดลับ JNI ของ Android)
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทน โฆษณาจริงที่ใช้งานจริง หากไม่ดำเนินการดังกล่าวอาจส่งผลให้บัญชีถูกระงับ
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับ แบนเนอร์ ซึ่งจะแตกต่างกันไปตามแพลตฟอร์มของอุปกรณ์
- 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
ระดับบนสุด มุมมองระดับบนคือการอ้างอิง JNIjobject
ไปยัง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
ได้ที่ ใช้ Future เพื่อตรวจสอบสถานะการดำเนินการของเมธอด การเรียก
กำหนดตำแหน่งของโฆษณา
คุณตั้งค่าตำแหน่งของ 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();
เหตุการณ์โฆษณา
Google Mobile Ads C++ SDK มีคลาส 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