Quảng cáo biểu ngữ chiếm một vị trí trong bố cục của ứng dụng, ở đầu hoặc cuối màn hình thiết bị. Những quảng cáo này lưu lại trên màn hình trong khi người dùng tương tác với ứng dụng và 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à loại quảng cáo rất phù hợp để bắt đầu. Nghiên cứu điển hình.
Điều kiện tiên quyết
- Hoàn tất phần Bắt đầu.
- (Chỉ dành cho Android) Quen thuộc với việc xử lý các tệp tham chiếu
jobject
JNI (xem Mẹo về JNI Android).
Luôn thử nghiệm bằng quảng cáo thử nghiệm
Khi tạo và thử nghiệm ứng dụng, hãy nhớ sử dụng quảng cáo thử nghiệm thay vì quảng cáo đang chạy trong thực tế. Nếu không làm như vậy, tài khoản của bạn có thể bị tạm ngưng.
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ữ, mã này thay đổi tuỳ 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 các 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 phát hành ứ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 bài viết 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 các đối tượng AdView
, do đó, bước đầu tiên để tích hợp quảng cáo biểu ngữ là tạo và định vị AdView
.
Thêm tiêu đề sau vào mã C++ của ứng dụng:
#include "firebase/gma/ad_view.h"
Khai báo và tạo bản sao của đối tượng
AdView
:firebase::gma::AdView* ad_view; ad_view = new firebase::gma::AdView();
Tạo
AdSize
và khởi tạo thành phần hiển thị quảng cáo bằng thành phần hiển thị mẹAdParent
. Thành phần hiển thị mẹ là một tham chiếujobject
JNI đếnActivity
Android hoặc con trỏ đếnUIView
iOS được truyền vào loạiAdParent
:// 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); Thay vì giữ lại tương lai dưới dạng biến, bạn có thể định kỳ kiểm tra trạng thái của thao tác khởi chạy bằng cách gọi
InitializeLastResult()
trên đối tượngAdView
. Điều này có thể hữu ích cho việc theo dõi quá trình khởi chạy trong vòng lặp trò chơi toàn cục.// 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. }
Để biết thêm thông tin về cách làm việc với
firebase::Future
, hãy xem phần Sử dụng Futures để theo dõi trạng thái hoàn tất của các lệnh gọi phương thức.
Đặt vị trí quảng cáo
Bạn có thể đặt vị trí của AdView
bất cứ lúc nào sau khi khởi chạy:
firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);
Tải 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ư tiêu chí nhắm mục tiêu.
Hiển thị quảng cáo
Cuối cùng, hãy hiển thị 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 Google Mobile Ads C++ 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 thành phần hiển thị quảng cáo.
Bạn không bắt buộc phải mở rộng các phương thức trong AdListener
, vì vậy, bạn chỉ cần triển khai các phương thức mình muốn. Dưới đây là ví dụ về cách triển khai một lớp mở rộng tất cả các lớp 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);
Kích thước biểu ngữ
Dưới đây là bảng liệt kê các kích thước biểu ngữ chuẩn.
Kích thước đo bằng điểm (rộngxcao) | Mô tả | Phạm vi cung cấp | Hằng số firebase::gma::AdSize |
---|---|---|---|
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 theo IAB | Điện thoại và máy tính bảng | kMediumRectangle |
468x60 | Biểu ngữ kích thước đầy đủ theo 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 đã cho 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ữ tuỳ chỉnh, hãy đặt kích thước mà bạn muốn bằng cách sử dụng hàm khởi tạo firebase::gma::AdSize
với các tham số chiều rộng và chiều cao, như minh hoạ dưới đây:
firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);
Tài nguyên khác
Ví dụ trong GitHub
- Xem mã nguồn của ứng dụng nhanh mẫu trong GitHub.