โฆษณาแบนเนอร์จะใช้พื้นที่ในเลย์เอาต์ของแอป ไม่ว่าจะอยู่ด้านบนหรือด้านล่างของหน้าจออุปกรณ์ โดยจะแสดงอยู่บนหน้าจอในระหว่างที่ผู้ใช้โต้ตอบกับแอป และสามารถรีเฟรชโดยอัตโนมัติหลังจากผ่านไประยะเวลาหนึ่ง หากคุณเพิ่งเริ่มใช้การโฆษณาในอุปกรณ์เคลื่อนที่ โฆษณาแบนเนอร์เป็นตัวเลือกที่ยอดเยี่ยมในการเริ่มต้น กรณีศึกษา
ข้อกำหนดเบื้องต้น
- ทำตามขั้นตอนเริ่มต้นใช้งานให้เสร็จสมบูรณ์
- (Android เท่านั้น) คุ้นเคยกับการใช้ข้อมูลอ้างอิง
jobjectของ JNI (ดู เคล็ดลับ 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"
ประกาศและสร้างอินสแตนซ์ออบเจ็กต์
AdViewfirebase::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ได้ที่ ใช้ Future เพื่อตรวจสอบสถานะความสมบูรณ์ของการเรียกใช้เมธอด calls
กำหนดตำแหน่งของโฆษณา
คุณสามารถกำหนดตำแหน่งของ 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