cân nhắc sử dụng SDK iOS và Android của AdMob.
Hướng dẫn bắt đầu nhanh này dành cho những nhà xuất bản và nhà phát triển muốn sử dụng AdMob để kiếm tiền từ một ứng dụng được tạo bằng Firebase. Nếu bạn không dự định đưa Firebase vào ứng dụng của mình, hãy xem hướng dẫn AdMobđộc lập.
Nếu chưa, hãy tìm hiểu về tất cả lợi ích khi sử dụng AdMob, Firebase và Google Analytics cùng nhau.
Nếu đây là lần đầu tiên xem hướng dẫn này, bạn nên tải xuống và làm theo hướng dẫn bằng cách sử dụng ứng dụng kiểm thử SDK quảng cáo trên thiết bị di động của Google bằng C++.
Trước khi bắt đầu
Nếu bạn chưa có dự án Firebase và ứng dụng Firebase, hãy làm theo hướng dẫn bắt đầu sử dụng Firebase: Thêm Firebase vào dự án C++.
Đảm bảo bạn đã bật Google Analytics trong dự án Firebase:
Nếu bạn đang tạo một dự án Firebase mới, hãy bật Google Analytics trong quy trình tạo dự án.
Nếu có một dự án Firebase hiện có chưa bật Google Analytics, bạn có thể bật Google Analytics trong thẻ Tích hợp của
> Cài đặt dự án .
Bước 1: Thiết lập ứng dụng trong tài khoản AdMob của bạn
Đăng ký từng biến thể nền tảng của ứng dụng dưới dạng một ứng dụng AdMob.
Đăng nhập vào hoặc đăng ký tài khoản AdMob.
Đăng ký từng biến thể nền tảng của ứng dụng bằng AdMob. Bước này tạo một ứng dụng AdMob có AdMob Mã ứng dụng riêng biệt mà bạn sẽ cần dùng trong phần sau của hướng dẫn này.
Bạn sẽ được yêu cầu thêm Mobile Ads SDK vào ứng dụng của mình. Hãy xem hướng dẫn chi tiết về nhiệm vụ này ở phần sau của hướng dẫn này.
Liên kết từng ứng dụng AdMob của bạn với ứng dụng Firebase tương ứng.
Bước này không bắt buộc nhưng bạn nên thực hiện. Tìm hiểu thêm về lợi ích của việc bật chỉ số người dùng và liên kết các ứng dụng AdMob của bạn với Firebase.
Đối với mỗi biến thể nền tảng, hãy hoàn thành hai bước sau trong bảng điều khiển Ứng dụng của tài khoản AdMob của bạn:
BậtChỉ số người dùng để cho phép AdMob xử lý và hiển thị dữ liệu phân tích được tuyển chọn trong tài khoản AdMob của bạn. Đây cũng là một chế độ cài đặt bắt buộc để bạn liên kết ứng dụng AdMob với Firebase.
Liên kết ứng dụng AdMob của bạn với dự án Firebase hiện tại và ứng dụng Firebase tương ứng.
Hãy đảm bảo bạn nhập cùng tên gói (Android) hoặc ID gói (iOS) với tên bạn đã nhập cho ứng dụng Firebase. Tìm tên gói hoặc ID gói của ứng dụng Firebase trong thẻ Ứng dụng của bạn trong
> Cài đặt dự án .
Bước 2: Thêm ID ứng dụng AdMob vào ứng dụng của bạn
Android
Thêm AdMob Mã ứng dụng vào tệp AndroidManifest.xml của ứng dụng bằng cách thêm thẻ <meta-data> như minh hoạ bên dưới.
<manifest> <application> <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ADMOB_APP_ID"/> </application> </manifest>
iOS
Trong tệp Info.plist của ứng dụng, hãy thêm một khoá GADApplicationIdentifier có giá trị chuỗi là AdMob Mã ứng dụng.
Bạn có thể thực hiện thay đổi này theo chương trình:
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 --> <key>GADApplicationIdentifier</key> <string>ADMOB_APP_ID</string>
Hoặc chỉnh sửa trong trình soạn thảo danh sách thuộc tính:

Bước 3: Thêm Google Mobile Ads SDK
Vì Google Mobile Ads C++ SDK nằm trong không gian tên firebase::gma, hãy tải xuống Firebase C++ SDK, sau đó giải nén vào thư mục bạn chọn.
Firebase C++ SDK không dành riêng cho nền tảng nào, nhưng nó yêu cầu cấu hình thư viện dành riêng cho nền tảng đó.
Android
Trong tệp
gradle.propertiescủa dự án, hãy chỉ định vị trí của SDK chưa giải nén:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
Thêm nội dung sau vào tệp
settings.gradlecủa dự án:def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir') gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir" includeBuild "$firebase_cpp_sdk_dir"
Vào tệp Gradle của mô-đun (cấp ứng dụng) (thường là
app/build.gradle), hãy thêm nội dung sau đây, bao gồm cả phần phụ thuộc vào thư viện cho SDK Quảng cáo di động của Google bằng C++.android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependency for the Google Mobile Ads C++ SDK apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { gma }
Thêm nội dung sau vào tệp
CMakeLists.txtcủa dự án.# Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # Add the Google Mobile Ads C++ SDK. # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. set(firebase_libs firebase_gma firebase_app ) target_link_libraries(${target_name} "${firebase_libs}")
Đồng bộ hoá ứng dụng để đảm bảo rằng tất cả phần phụ thuộc đều có các phiên bản cần thiết.
Bạn đã hoàn tất! Ứng dụng C++ của bạn được định cấu hình để sử dụng SDK C++ của Quảng cáo trên thiết bị di động của Google.
iOS
Các bước trong phần này là ví dụ về cách thêm Google Mobile Ads C++ SDK vào dự án iOS của bạn.
Tải CocoaPods phiên bản 1 trở lên bằng cách chạy:
sudo gem install cocoapods --preThêm pod Google Mobile Ads từ SDK đã giải nén.
Tạo Podfile nếu bạn chưa có:
cd YOUR_APP_DIRECTORYpod initVào Podfile của bạn, hãy thêm pod cho Google Mobile Ads C++ SDK:
pod 'Google-Mobile-Ads-SDK'Cài đặt pod, sau đó mở tệp
.xcworkspacetrong Xcode.pod installopen YOUR_APP.xcworkspaceThêm các khung sau từ Firebase C++ SDK vào dự án:
xcframeworks/firebase.xcframeworkxcframeworks/firebase_gma.xcframework
Bạn đã hoàn tất! Ứng dụng C++ của bạn được cấu hình để sử dụng Google Mobile Ads C++ SDK.
Bước 4: Khởi tạo SDK quảng cáo trên thiết bị di động của Google
Trước khi tải quảng cáo, hãy khởi tạo SDK Mobile Ads bằng cách gọi firebase::gma::Initialize().
Cuộc gọi này trả về firebase::Future hoàn tất sau khi quá trình khởi tạo kết thúc (hoặc sau thời gian chờ 30 giây). Chỉ gọi phương thức này một lần và càng sớm càng tốt, tốt nhất là khi khởi chạy ứng dụng.
Sau đây là ví dụ về cách gọi Initialize():
Android
// Initialize the Google Mobile Ads library firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(jni_env, j_activity, &result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
iOS
// Initialize the Google Mobile Ads library. firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(&result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
Sử dụng Future để theo dõi trạng thái hoàn tất của một lệnh gọi phương thức
Future cung cấp cho bạn cách xác định trạng thái hoàn thành của các lệnh gọi phương thức không đồng bộ.
Ví dụ: khi ứng dụng của bạn gọi firebase::gma::Initialize(), một firebase::Future mới sẽ được tạo và trả về. Sau đó, ứng dụng của bạn có thể thăm dò status() của Future để xác định thời điểm quá trình khởi chạy hoàn tất.
Sau khi hoàn tất, ứng dụng của bạn có thể gọi result() để lấy AdapterInitializationStatus kết quả.
Các phương thức trả về Future có phương thức "kết quả cuối cùng" tương ứng mà ứng dụng có thể sử dụng để truy xuất Future gần đây nhất cho một hành động nhất định. Ví dụ: firebase::gma::Initialize() có một phương thức tương ứng tên là firebase::gma::InitializeLastResult(), phương thức này trả về một Future mà ứng dụng của bạn có thể dùng để kiểm tra trạng thái của lệnh gọi gần đây nhất đến firebase::gma::Initialize().
Nếu trạng thái của Future hoàn tất và mã lỗi là firebase::gma::kAdErrorCodeNone thì thao tác đã hoàn tất thành công.
Bạn cũng có thể đăng ký lệnh gọi lại để gọi khi Future hoàn tất. Trong một số trường hợp, lệnh gọi lại sẽ chạy trong một luồng khác, vì vậy, hãy đảm bảo mã của bạn an toàn cho luồng. Đoạn mã này sử dụng con trỏ hàm để gọi lại:
// Registers the OnCompletion callback. user_data is a pointer that is passed verbatim
// to the callback as a void*. This allows you to pass any custom data to the callback
// handler. In this case, the app has no data, so you must pass nullptr.
firebase::gma::InitializeLastResult().OnCompletion(OnCompletionCallback,
/*user_data=*/nullptr);
// The OnCompletion callback function.
static void OnCompletionCallback(
const firebase::Future<AdapterInitializationStatus>& future, void* user_data) {
// Called when the Future is completed for the last call to firebase::gma::Initialize().
// If the error code is firebase::gma::kAdErrorCodeNone,
// then the SDK has been successfully initialized.
if (future.error() == firebase::gma::kAdErrorCodeNone) {
// success!
} else {
// failure.
}
}
Bước 5: Chọn định dạng quảng cáo để triển khai trong ứng dụng của bạn
AdMob cung cấp nhiều định dạng quảng cáo khác nhau, vì vậy bạn có thể chọn định dạng phù hợp nhất với trải nghiệm người dùng trong ứng dụng của mình. Nhấp vào một nút cho một định dạng quảng cáo để xem hướng dẫn chi tiết về cách triển khai trong tài liệu AdMob.
Biểu ngữ
Quảng cáo hình chữ nhật xuất hiện ở đầu hoặc cuối màn hình thiết bị
Quảng cáo biểu ngữ 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 tham gia quảng cáo trên thiết bị di động, đây là nơi tuyệt vời để bắt đầu.
Triển khai quảng cáo biểu ngữQuảng cáo xen kẽ
Quảng cáo toàn màn hình bao phủ giao diện của ứng dụng cho đến khi người dùng đóng ứng dụng
Bạn nên sử dụng quảng cáo xen kẽ tại các điểm dừng tự nhiên trong luồng thực thi của ứng dụng, chẳng hạn như giữa các cấp độ của trò chơi hoặc ngay sau khi hoàn thành một công việc.
Triển khai quảng cáo xen kẽCó tặng thưởng
Quảng cáo thưởng cho người dùng khi xem video ngắn và tương tác với quảng cáo và khảo sát có thể phát
Quảng cáo có thưởng (hoặc "dựa trên phần thưởng") có thể giúp kiếm tiền từ người dùng chơi miễn phí.
Triển khai quảng cáo có thưởng
Các chủ đề khác mà bạn quan tâm
Xem số liệu phân tích và chỉ số người dùng
Sau khi khởi tạo, SDK Mobile Ads sẽ tự động bắt đầu ghi nhật ký các sự kiện phân tích và thuộc tính người dùng từ ứng dụng của bạn. Bạn có thể xem dữ liệu này mà không cần thêm bất kỳ mã nào vào ứng dụng hoặc triển khai bất kỳ quảng cáo nào. Đây là nơi bạn có thể xem dữ liệu phân tích này:
Trong thẻ Số liệu người dùng của tài khoản AdMob (bảng điều khiển Trang chủ hoặc Ứng dụng), bạn có thể xem số liệu người dùng được chọn lọc có nguồn gốc từ dữ liệu phân tích đã thu thập, như thời lượng phiên trung bình, ARPU và tỷ lệ giữ chân người dùng.
Trong trang tổng quan về Số liệu phân tích của bảng điều khiển Firebase, bạn có thể xem số liệu thống kê tổng hợp và bản tóm tắt các chỉ số chính. Nếu bạn thêm Firebase SDK cho Google Analytics, bạn cũng có thể đánh dấu chuyển đổi cho chiến dịch quảng cáo và xây dựng đối tượng tùy chỉnh trong bảng điều khiển Firebase.
Xin lưu ý rằng để thể hiện chính xác hơn các chỉ số ARPU và ARPPU, bạn nên đưa dữ liệu từ một sự kiện tuỳ chỉnh phân tích có tên là ecommerce_purchase vào tính toán doanh thu cho các chỉ số này (tìm hiểu cách thực hiện).
(Tùy chọn) Sử dụng thêm các tính năng của Google Analytics và Firebase
Tận dụng nhiều cơ hội và tính năng hơn để cải thiện khả năng kiếm tiền từ ứng dụng và mức độ tương tác của người dùng:
Thêm và sử dụng SDK Firebase cho Google Analytics
Triển khai ghi nhật ký sự kiện tùy chỉnh trong ứng dụng của bạn.
Đánh dấu chuyển đổi cho chiến dịch quảng cáo tùy chỉnh.
Đưa dữ liệu sự kiện
ecommerce_purchasevào tính toán doanh thu cho các chỉ số ARPU và ARPPU.
Để tìm hiểu thêm, hãy xem hướng dẫn về cách sử dụng Google Analytics và Firebase với các ứng dụng AdMob.
Sử dụng các sản phẩm khác của Firebase trong ứng dụng
Sau khi bạn thêm Firebase SDK cho Google Analytics, hãy sử dụng các sản phẩm khác của Firebase để tối ưu hoá quảng cáo trong ứng dụng của bạn.
Remote Config cho phép bạn thay đổi hành vi và giao diện của ứng dụng mà không cần phát hành bản cập nhật ứng dụng, hoàn toàn miễn phí, dành cho số lượng người dùng hoạt động hàng ngày không giới hạn.
A/B Testing cung cấp cho bạn khả năng kiểm tra các thay đổi đối với giao diện người dùng, tính năng hoặc chiến dịch tương tác của ứng dụng để tìm hiểu xem chúng có tác động đến các số liệu chính (như doanh thu và tỷ lệ giữ chân người dùng) hay không trước khi triển khai rộng rãi.