โฆษณาแบนเนอร์

โฆษณาแบนเนอร์จะใช้ตำแหน่งภายในเลย์เอาต์ของแอป โดยจะอยู่ด้านบนหรือด้านล่างของแอปก็ได้ หน้าจออุปกรณ์ ในระหว่างที่ผู้ใช้กำลังโต้ตอบกับแอป โฆษณาเหล่านี้จะอยู่บนหน้าจอ และสามารถรีเฟรชโดยอัตโนมัติ เมื่อเวลาผ่านไปช่วงหนึ่ง หากคุณเพิ่งเริ่มใช้ การโฆษณาบนอุปกรณ์เคลื่อนที่ ก็เป็นจุดเริ่มต้นที่ดี กรณีศึกษา

ข้อกำหนดเบื้องต้น

ทดสอบด้วยโฆษณาทดสอบเสมอ

เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทน โฆษณาที่ใช้งานจริง หากไม่ดำเนินการ บัญชีจะถูกระงับ

วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบโดยเฉพาะของเรา ซึ่งจะแตกต่างกันไปตามแพลตฟอร์มอุปกรณ์ ดังนี้

  • Android : ca-app-pub-3940256099942544/6300978111
  • iOS: ca-app-pub-3940256099942544/2934735716

รหัสหน่วยโฆษณาเหล่านี้ได้รับการกำหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบสำหรับ และคุณสามารถใช้เทมเพลตนี้ ในแอปของคุณเองขณะเขียนโค้ด ทดสอบ การแก้ไขข้อบกพร่อง ตรวจสอบให้แน่ใจว่าคุณแทนที่ด้วยรหัสหน่วยโฆษณาของคุณเองก่อน การเผยแพร่แอปของคุณ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของโฆษณาทดสอบของ SDK โฆษณาบนอุปกรณ์เคลื่อนที่ โปรดดู Test Ads

การใช้งาน

กำหนดค่า AdView

โฆษณาแบนเนอร์จะแสดงในออบเจ็กต์ AdView ดังนั้นขั้นตอนแรกเพื่อ ผสานรวมโฆษณาแบนเนอร์ก็คือการสร้างและวางตำแหน่ง AdView

  1. เพิ่มส่วนหัวต่อไปนี้ในโค้ด C++ ของแอป

     #include "firebase/gma/ad_view.h"
    
  2. ประกาศและสร้างอินสแตนซ์ของออบเจ็กต์ AdView

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
    
  3. สร้าง AdSize และเริ่มต้นมุมมองโฆษณาโดยใช้ AdParent ระดับบน มุมมองหลักเป็นการอ้างอิง jobject ของ JNI ไปยัง Android Activity หรือตัวชี้ไปยังการแคสต์ 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(my_ad_parent);
     firebase::Future result =
       ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner);
    
  4. นอกจากการคงอนาคตไว้เป็นตัวแปรแล้ว คุณยังทำสิ่งต่อไปนี้ได้ ตรวจสอบสถานะของการดำเนินการเริ่มต้นเป็นระยะๆ โดยการเรียกใช้ 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.
      }
    
  5. โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการทำงานร่วมกับ firebase::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();

เหตุการณ์โฆษณา

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

เรื่องราวความสำเร็จ