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, hãy truy cập vào AdMob độc lập .
Nếu bạn chưa tìm hiểu, hãy tìm hiểu về tất cả cá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 bạn xem hướng dẫn này, bạn nên tải xuống và làm theo bằng cách sử dụng thử nghiệm SDK C++ của quảng cáo trên thiết bị di động của Google ứng dụng.
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 bạn đang có một dự án Firebase chưa có Đã bật Google Analytics, bạn có thể bật Google Analytics từ thời gian Các công cụ tích hợp trong số
. > Cài đặt dự án
Bước 1: Thiết lập ứng dụng trong tài khoản AdMob
Đăng ký mỗi 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ý một AdMob.
Đăng ký từng biến thể nền tảng của ứng dụng bằng AdMob. Chiến dịch này bước tạo một ứng dụng AdMob có một AdMob duy nhất Mã ứng dụng mà bạn sẽ cần dùng sau trong hướng dẫn này.
Bạn sẽ được yêu cầu thêm SDK Mobile Ads vào ứng dụng. Tìm hướng dẫn chi tiết cho tác vụ này ở phần sau của hướng dẫn này.
Liên kết từng ứng dụng trong số AdMob của bạn với ứng dụng Firebase tương ứng.
Đây là bước không bắt buộc nhưng bạn nên thực hiện. Tìm hiểu thêm về chính sách lợi ích 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 2 bước sau trong phần Ứng dụng trang tổng quan về 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 tuyển chọn trong AdMob. Đó cũng là cài đặt bắt buộc để bạn liên kết AdMob ứng dụng sang Firebase.
Liên kết Ứng dụng AdMob với dự án Firebase hiện tại và ứng dụng Firebase tương ứng.
Hãy đảm bảo rằng bạn nhập cùng một tên gói (Android) hoặc mã gói (iOS) khi bạn đã nhập cho ứng dụng Firebase của mình. Hãy tìm tên gói hoặc mã nhận dạng gói trong thẻ Ứng dụng của bạn trên
Cài đặt dự án . >
Bước 2: Thêm mã ứ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>
dưới dạng
như 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 khoá GADApplicationIdentifier
kèm theo
giá trị chuỗi của
AdMob Mã ứng dụng.
Bạn có thể thực hiện thay đổi này theo phương thức lập trình:
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 -->
<key>GADApplicationIdentifier</key>
<string>ADMOB_APP_ID</string>
Bạn cũng có thể chỉnh sửa tài sả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
, nên
tải Firebase C++ SDK xuống,
rồi giải nén tệp vào một thư mục bạn chọn.
SDK C++ của Firebase không dành riêng cho từng nền tảng nhưng đòi hỏi các 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 phần tử 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"
Trong tệp Gradle của mô-đun (cấp ứng dụng) (thường là
app/build.gradle
), hãy thêm phần tử nội dung sau, trong đó bao gồm phần phụ thuộc thư viện cho phần SDK C++ cho 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 }
Vào tệp
CMakeLists.txt
của dự án, hãy thêm nội dung sau.# 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 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 đã hoàn tất! Ứng dụng C++ của bạn được định cấu hình để sử dụng SDK C++ dành cho 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++ dành cho Quảng cáo trên thiết bị di động của Google cho 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 Google Mobile Ads từ SDK đã giải nén.
Tạo Podfile nếu bạn chưa có:
cd YOUR_APP_DIRECTORY
pod init
Đối với Podfile của bạn, hãy thêm nhóm cho SDK C++ của 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 C++ của Firebase vào dự án:
xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
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++ dành cho quảng cáo trên thiết bị di động của Google.
Bước 4: Chạy SDK Quảng cáo của Google trên thiết bị di động
Trước khi tải quảng cáo, hãy khởi chạy SDK Mobile Ads bằng cách gọi
firebase::gma::Initialize()
.
Lệnh gọi này trả về một firebase::Future
hoàn tất sau khi khởi chạy
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à bằng
càng sớm càng tốt, tốt nhất là khi phát hành ứng dụng.
Dưới đâ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 thành của 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
được tạo và trả về. Sau đó, ứng dụng của bạn có thể thăm dò ý kiến
status()
của Future
để xác định thời điểm 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 kết quả
AdapterInitializationStatus
.
Các phương thức trả về Future
có "kết quả cuối cùng" tương ứng mà
các ứng dụng có thể 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()
để 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 cuộc gọi gần đây nhất đến firebase::gma::Initialize()
.
Nếu trạng thái của Future
là 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ý các 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 một con trỏ hàm cho
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
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 mà phù hợp nhất với trải nghiệm người dùng của ứng dụng. Nhấp vào nút cho một định dạng quảng cáo để xem hướng dẫn triển khai chi tiết 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ữ vẫn hiển thị 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 mới sử dụng thiết bị di động quảng cáo.
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 che phủ giao diện của một ứng dụng cho đến khi người dùng đóng lại
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 thao tác của ứng dụng quá trình thực thi, 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ẽCó tặng thưởng
Quảng cáo tặng thưởng cho người dùng khi họ xem video ngắn và tương tác với nội dung có thể chơi quảng cáo và bản 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
Chủ đề quan tâm khác
Xem dữ liệu phân tích và chỉ số người dùng
Sau khi khởi chạy, SDK Mobile Ads sẽ tự động khởi động số liệu phân tích ghi nhật ký sự kiện và thuộc tính người dùng khỏi ứ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 khác vào ứng dụng hoặc triển khai bất kỳ quảng cáo nào. Bạn có thể xem dữ liệu phân tích này theo cách sau:
Trong thẻ Chỉ số người dùng của tài khoản AdMob (Trang chủ hoặc Ứng dụng trang tổng quan), bạn có thể xem danh sách người dùng được chọn chỉ số 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), Doanh thu trung bình trên mỗi người dùng (ARPU) và tỷ lệ giữ chân.
Trong số liệu phân tích trang tổng quan 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ủa chỉ số chính. Nếu bạn thêm Firebase SDK 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 tuỳ chỉnh trong bảng điều khiển Firebase.
Xin lưu ý rằng để thể hiện tốt hơn
ARPU và
Chỉ số ARPPU, bạn
có thể muốn bao gồm dữ liệu từ một sự kiện tuỳ chỉnh của Analytics được gọi là
ecommerce_purchase
khi tính doanh thu theo các chỉ số này
(tìm hiểu cách thực hiện).
(Không bắt buộc) Sử dụng các tính năng khác của Google Analytics và Firebase
Tận dụng các cơ hội và tính năng khác để cải thiện khả năng kiếm tiền từ ứng dụng cũng như mức độ tương tác của người dùng:
Thêm và sử dụng Firebase SDK cho Google Analytics
Triển khai tính năng ghi nhật ký sự kiện tuỳ chỉnh trong ứng dụng của bạn.
Đánh dấu chuyển đổi cho quảng cáo tùy chỉnh chiến dịch.
Bao gồm
ecommerce_purchase
sự kiện trong phần doanh thu phép tính cho Doanh thu trung bình trên mỗi người dùng (ARPU) và Chỉ số ARPPU.
Để tìm hiểu thêm, hãy truy cập vào hướng dẫn sử dụng Google Analytics và Firebase với AdMob ứng dụng.
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 Firebase SDK cho Google Analytics, hãy sử dụng Firebase khác sản phẩm để 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 phát hành miễn phí bản cập nhật ứng dụng cho số người dùng hoạt động hằng ngày không giới hạn.
A/B Testing cho phép bạn kiểm thử các thay đổi đối với giao diện người dùng, các 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 đến các chỉ số chính (như doanh thu và tỷ lệ giữ chân người dùng) trước khi triển khai đang thay đổi rộng rãi.