Hướng dẫn bắt đầu nhanh này dành cho nhà xuất bản và nhà phát triển muốn sử dụng AdMob để kiếm tiền từ ứng dụng được tạo bằng Firebase. Nếu bạn không định đưa Firebase vào ứng dụng của mình, thay vào đó, hãy truy cập hướng dẫn AdMob độc lập .
Nếu bạn chưa biết, hãy tìm hiểu về tất cả lợi ích của việc sử dụng AdMob, Firebase và Google Analytics cùng nhau.
Nếu đây là lần đầu tiên bạn xem hướng dẫn này, chúng tôi khuyên bạn nên tải xuống và làm theo bằng cách sử dụng ứng dụng thử nghiệm SDK C++ quảng cáo trên thiết bị di động của Google .
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 Firebase: Thêm Firebase vào dự án C++ của bạn .
Đảm bảo rằng Google Analytics được bật trong dự án Firebase của bạn:
Nếu bạn đang tạo dự án Firebase mới, hãy bật Google Analytics trong quy trình tạo dự án.
Nếu bạn hiện có một dự án Firebase chưa bật Google Analytics, thì bạn có thể bật Google Analytics từ tab Tích hợp trong của bạn > 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 của bạn dưới dạng ứng dụng AdMob.
Đăng ký từng biến thể nền tảng của ứng dụng của bạn với AdMob . Bước này tạo ứng dụng AdMob có ID ứng dụng AdMob duy nhất mà bạn sẽ cần ở phần sau của hướng dẫn này.
Bạn sẽ được yêu cầu thêm SDK quảng cáo trên thiết bị di động vào ứng dụng của mình. Tìm hướng dẫn chi tiết cho nhiệm vụ này sau trong 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 là tùy chọn nhưng rất khuyến khích. 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 ứ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 trang tổng quan Ứng dụng của tài khoản AdMob của bạn:
Bật Chỉ 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à cài đặt bắt buộc để bạn liên kết ứng dụng AdMob của mình với Firebase.
Liên kết ứng dụng AdMob của bạn với dự án Firebase hiện có và ứng dụng Firebase tương ứng.
Đảm bảo rằng bạn nhập cùng tên gói (Android) hoặc ID gói (iOS) như bạn đã nhập cho ứng dụng Firebase của mình. 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 .
của bạn >
Bước 2: Thêm ID ứng dụng AdMob vào ứng dụng của bạn
Android
Thêm ID ứng dụng AdMob vào tệp AndroidManifest.xml
của ứng dụng bằng cách thêm thẻ <meta-data>
như hiển thị 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 khóa GADApplicationIdentifier
với giá trị chuỗi ID ứng dụng AdMob của bạn.
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 nó trong trình chỉnh sửa danh sách thuộc tính:
Bước 3: Thêm SDK quảng cáo trên thiết bị di động của Google
Vì SDK C++ của quảng cáo trên thiết bị di động của Google nằm trong không gian tên firebase::gma
, hãy tải xuống SDK C++ của Firebase và sau đó giải nén nó vào một thư mục bạn chọn.
SDK Firebase C++ không dành riêng cho nền tảng, 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.properties
của dự án, hãy chỉ định vị trí của SDK đã giải nén:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
Vào tệp
settings.gradle
của dự án, hãy thêm nội dung sau: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"
Đối với tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là
app/build.gradle
), hãy thêm nội dung sau, nội dung này bao gồm phần phụ thuộc vào thư viện cho SDK C++ quảng cáo trên thiết bị di động của Google.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.txt
củ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ộ hóa ứng dụng của bạn để đảm bảo rằng tất cả các phần phụ thuộc đều có phiên bản cần thiết.
Bạn đã sẵn sàng! Ứng dụng C++ của bạn được định cấu hình để sử dụng SDK C++ 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 SDK C++ quảng cáo trên thiết bị di động của Google 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 --pre
Thêm nhóm Quảng cáo trên điện thoại di động của Google từ SDK đã giải nén.
Tạo một Podfile nếu bạn chưa có:
cd YOUR_APP_DIRECTORY
pod init
Vào Podfile của bạn, hãy thêm nhóm cho SDK C++ quảng cáo trên thiết bị di động của Google:
pod 'Google-Mobile-Ads-SDK'
Cài đặt nhóm, sau đó mở tệp
.xcworkspace
trong Xcode.pod install
open YOUR_APP.xcworkspace
Thêm các khung sau từ SDK Firebase C++ vào dự án:
-
xcframeworks/firebase.xcframework
-
xcframeworks/firebase_gma.xcframework
-
Bạn đã sẵn sàng! Ứng dụng C++ của bạn được định cấu hình để sử dụng SDK C++ quảng cáo trên thiết bị di động của Google.
Bước 4: Khởi chạy 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 chạy SDK quảng cáo trên thiết bị di động bằng cách gọi firebase::gma::Initialize()
.
Cuộc gọi này trả về firebase::Future
hoàn thành sau khi quá trình khởi tạo kết thúc (hoặc sau khi hết 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, lý tưởng nhất là khi khởi chạy ứng dụng.
Đây là một 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 thành của lệnh gọi phương thức
Future
cung cấp cho bạn một cách để xác định trạng thái hoàn thành của các cuộc gọi phương thức không đồng bộ của bạn.
Ví dụ: khi ứng dụng của bạn gọi firebase::gma::Initialize()
, một firebase::Future
mới đượ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 tạo hoàn tất. Sau khi hoàn tất, ứng dụng của bạn có thể gọi result()
để lấy kết quả AdapterInitializationStatus
.
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 được gọi 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ể sử dụng để kiểm tra trạng thái của lệnh gọi cuối cùng tới firebase::gma::Initialize()
.
Nếu trạng thái của Future
là hoàn tất và mã lỗi của nó là firebase::gma::kAdErrorCodeNone
thì thao tác đã hoàn tất thành công.
Bạn cũng có thể đăng ký gọi lại để được gọi khi Future
hoàn thành. Trong một số trường hợp, lệnh gọi lại sẽ chạy trong một chuỗi khác, vì vậy hãy đảm bảo mã của bạn an toàn cho chuỗi. Đoạn mã này sử dụng một 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 một số đị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 nút cho định dạng quảng cáo để xem hướng dẫn triển khai chi tiết trong tài liệu AdMob.
Ngọn cờ
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ữ vẫn ở trên màn hình trong khi người dùng đang 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 chưa quen với quảng cáo trên điện thoại di động, thì chúng là một nơi tuyệt vời để bắt đầu.
Triển khai banner quảng cáoQuảng cáo xen kẽ
Quảng cáo toàn màn hình che phủ giao diện của ứng dụng cho đến khi người dùng đóng
Quảng cáo xen kẽ được sử dụng tốt nhất tại các điểm tạm dừng tự nhiên trong quy trình 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 nhiệm vụ.
Triển khai quảng cáo xen kẽkhen 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 có thể chơi và khảo sát
Quảng cáo có tặng 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ó tặng thưởng
Các chủ đề quan tâm khác
Xem số liệu người dùng và dữ liệu phân tích
Sau khi khởi chạy, SDK quảng cáo trên thiết bị di động 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ã bổ sung nào vào ứng dụng của mình 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ẻ Chỉ số người dùng của tài khoản AdMob ( Trang tổng quan Trang chủ hoặc Ứng dụng ), bạn có thể xem các chỉ số người dùng được tuyển chọn bắt nguồn 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.
Trong trang tổng quan Analytics của bảng điều khiển Firebase, bạn có thể xem thống kê tổng hợp và tóm tắt các chỉ số chính . Nếu thêm SDK Firebase cho Google Analytics , bạn cũng có thể đánh dấu lượt chuyển đổi cho chiến dịch quảng cáo và tạo đối tượng tùy chỉnh trong bảng điều khiển Firebase.
Lưu ý rằng để thể hiện tốt hơn các chỉ số ARPU và ARPPU , bạn có thể muốn đưa dữ liệu từ sự kiện tùy chỉnh phân tích có tên là ecommerce_purchase
vào phép tính 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 .
Bao gồm dữ liệu sự kiện
ecommerce_purchase
trong phép tính doanh thu cho chỉ số ARPU và ARPPU .
Để tìm hiểu thêm, hãy truy cập hướng dẫn sử dụng Google Analytics và Firebase với ứng dụng AdMob .
Sử dụng các sản phẩm Firebase khác trong ứng dụng của bạn
Sau khi bạn thêm SDK Firebase cho Google Analytics, hãy sử dụng các sản phẩm Firebase khác để tối ưu hóa quảng cáo trong ứng dụng của bạn.
Cấu hình từ xa cho phép bạn thay đổi hành vi và giao diện của ứng dụng mà không cần xuất bản bản cập nhật ứng dụng, miễn phí cho người dùng hoạt động hàng ngày không giới hạn.
Thử nghiệm A/B cung cấp cho bạn khả năng thử nghiệm 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ó ảnh hưởng đến các chỉ số chính của bạn (như doanh thu và tỷ lệ giữ chân) hay không trước khi triển khai rộng rãi các thay đổi.