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