Quảng cáo biểu ngữ

Quảng cáo biểu ngữ chiếm một vị trí trong bố cục của ứng dụng, ở trên cùng hoặc dưới cùng của màn hình thiết bị. Quảng cáo biểu ngữ luôn hiện trên màn hình trong khi người dùng tương tác với ứng dụng, đồng thời có thể tự động làm mới sau một khoảng thời gian nhất định. Nếu bạn mới sử dụng quảng cáo trên thiết bị di động, thì đây là một nơi tuyệt vời để bắt đầu. Nghiên cứu điển hình.

Điều kiện tiên quyết

Luôn kiểm tra bằng quảng cáo thử nghiệm

Khi tạo và thử nghiệm ứng dụng, hãy đảm bảo rằng bạn sử dụng quảng cáo thử nghiệm thay vì quảng cáo đang chạy thực tế. Chúng tôi sẽ tạm ngưng tài khoản của bạn nếu bạn không thực hiện việc này.

Cách dễ nhất để tải quảng cáo thử nghiệm là sử dụng mã đơn vị quảng cáo thử nghiệm dành riêng cho quảng cáo biểu ngữ (biểu ngữ khác nhau tùy theo nền tảng thiết bị):

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

Các mã đơn vị quảng cáo này đã được định cấu hình đặc biệt để trả về quảng cáo thử nghiệm cho mọi yêu cầu và bạn có thể sử dụng mã này trong ứng dụng của mình khi lập trình, chạy thử nghiệm và gỡ lỗi. Bạn chỉ cần nhớ thay thế mã này bằng mã đơn vị quảng cáo của mình trước khi xuất bản ứng dụng.

Để biết thêm thông tin về cách hoạt động của quảng cáo thử nghiệm của SDK quảng cáo trên thiết bị di động, hãy xem Quảng cáo thử nghiệm.

Triển khai

Định cấu hình AdView

Quảng cáo biểu ngữ hiển thị trong đối tượng AdView, vì vậy, bước đầu tiên để tích hợp quảng cáo biểu ngữ là tạo và định vị AdView.

  1. Thêm tiêu đề sau vào mã C++ của ứng dụng:

     #include "firebase/gma/ad_view.h"
    
  2. Khai báo và tạo thực thể cho đối tượng AdView:

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
    
  3. Tạo AdSize và khởi chạy chế độ xem quảng cáo bằng cách sử dụng chế độ xem gốc AdParent. Thành phần hiển thị mẹ là một tham chiếu jobject JNI đến Android Activity hoặc con trỏ đến UIView trên iOS để truyền đến loại 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. Thay vì giữ lại tương lai làm biến, bạn có thể kiểm tra định kỳ trạng thái của hoạt động khởi chạy bằng cách gọi InitializeLastResult() trên đối tượng AdView. Điều này có thể hữu ích cho việc theo dõi quá trình khởi động trong vòng lặp trò chơi toàn cầu.

      // 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. Để biết thêm thông tin về cách làm việc với firebase::Future, hãy xem bài viết Sử dụng tính năng Hợp đồng tương lai để theo dõi trạng thái hoàn thành của các lệnh gọi phương thức.

Đặt vị trí của quảng cáo

Bạn có thể đặt vị trí của AdView bất cứ lúc nào sau khi ứng dụng được khởi chạy:

firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);

Tải một quảng cáo

Bạn có thể tải quảng cáo sau khi khởi chạy AdView:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result = ad_view->LoadAd(my_ad_request);

Đối tượng AdRequest đại diện cho một yêu cầu quảng cáo và chứa các thuộc tính cho thông tin như nhắm mục tiêu.

Hiển thị quảng cáo

Cuối cùng, hiện quảng cáo trên màn hình bằng cách gọi Show(). Phương thức này có thể được gọi bất cứ lúc nào sau khi quảng cáo đã được khởi chạy:

firebase::Future<void> result = ad_view->Show();

Sự kiện quảng cáo

SDK C++ của quảng cáo trên thiết bị di động của Google cung cấp một lớp AdListener mà bạn có thể mở rộng và chuyển đến AdView::SetListener() để được thông báo về các thay đổi đối với trạng thái của chế độ xem quảng cáo.

Việc mở rộng các phương thức trong AdListener là không bắt buộc, vì vậy, bạn chỉ cần triển khai các phương thức mà bạn muốn. Dưới đây là ví dụ về cách triển khai một lớp mở rộng tất cả lớp của các phương thức 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);

Bảng dưới đây liệt kê các kích thước của biểu ngữ chuẩn.

Kích thước tính theo điểm (WxH) Mô tả Khả năng đáp ứng firebase::gma::AdSize hằng số
320x50 Biểu ngữ Điện thoại và máy tính bảng kBanner
320x100 Biểu ngữ lớn Điện thoại và máy tính bảng kLargeBanner
300x250 Hình chữ nhật trung bình IAB Điện thoại và máy tính bảng kMediumRectangle
468x60 Biểu ngữ kích thước đầy đủ IAB Máy tính bảng kFullBanner
728x90 Bảng xếp hạng IAB Máy tính bảng kLeaderboard
Chiều rộng đã cung cấp x Chiều cao thích ứng Biểu ngữ thích ứng Điện thoại và máy tính bảng Không áp dụng

Kích thước quảng cáo tuỳ chỉnh

Để xác định kích thước biểu ngữ tùy chỉnh, hãy đặt kích thước mong muốn bằng cách sử dụng hàm tạo firebase::gma::AdSize với các tham số chiều rộng và chiều cao, như minh họa dưới đây:

firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);

Tài nguyên bổ sung

Ví dụ trong GitHub

Câu chuyện thành công