Panduan memulai ini ditujukan untuk penayang dan developer yang ingin menggunakan AdMob untuk memonetisasi aplikasi yang di-build dengan Firebase. Jika Anda tidak berencana untuk menyertakan Firebase dalam aplikasi, buka panduan AdMob mandiri.
Pelajari semua manfaat penggunaan AdMob, Firebase, dan Google Analytics secara bersamaan, jika belum melakukannya.
Jika ini pertama kalinya Anda mencoba panduan ini, sebaiknya download dan ikuti aplikasi pengujian Google Mobile Ads C++ SDK.
Sebelum memulai
Jika Anda belum memiliki project Firebase dan aplikasi Firebase, ikuti panduan memulai Firebase: Menambahkan Firebase ke project C++ Anda.
Pastikan bahwa Google Analytics diaktifkan di project Firebase Anda:
Jika Anda membuat project Firebase baru, aktifkan Google Analytics selama alur kerja pembuatan project.
Jika sudah memiliki project Firebase yang belum mengaktifkan Google Analytics, Anda dapat mengaktifkan Google Analytics dari tab Integrations di bagian
. > Project settings
Langkah 1: Siapkan aplikasi di akun AdMob
Daftarkan setiap varian platform aplikasi Anda sebagai aplikasi AdMob.
Daftarkan setiap varian platform aplikasi Anda ke AdMob. Langkah ini akan membuat aplikasi AdMob dengan ID Aplikasi AdMob unik yang nantinya akan Anda butuhkan dalam panduan ini.
Anda akan diminta untuk menambahkan Mobile Ads SDK ke aplikasi Anda. Temukan petunjuk detail terkait tugas ini nanti dalam panduan ini.
Tautkan setiap aplikasi AdMob Anda ke aplikasi Firebase yang sesuai.
Langkah ini bersifat opsional, tetapi sangat direkomendasikan. Pelajari lebih lanjut manfaat mengaktifkan metrik pengguna dan menautkan aplikasi AdMob ke Firebase.
Untuk setiap varian platform, selesaikan dua langkah berikut di dasbor Apps pada akun AdMob Anda:
Aktifkan User Metrics agar AdMob dapat memproses dan menampilkan data analisis pilihan di akun AdMob Anda. Ini juga merupakan setelan wajib agar dapat menautkan aplikasi AdMob ke Firebase.
Tautkan aplikasi AdMob Anda ke project Firebase dan aplikasi Firebase yang ada.
Pastikan Anda memasukkan nama paket (Android) atau ID paket (iOS) yang sama dengan yang Anda masukkan untuk aplikasi Firebase. Temukan nama paket atau ID paket aplikasi Firebase di kartu Your Apps pada
Project settings . >
Langkah 2: Tambahkan ID Aplikasi AdMob ke aplikasi Anda
Android
Tambahkan
ID Aplikasi AdMob
ke file AndroidManifest.xml
aplikasi Anda dengan menambahkan tag <meta-data>
seperti yang
ditampilkan di bawah.
<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
Di file Info.plist
aplikasi Anda, tambahkan kunci GADApplicationIdentifier
dengan nilai string
ID Aplikasi AdMob.
Anda dapat melakukan perubahan ini secara terprogram:
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 --> <key>GADApplicationIdentifier</key> <string>ADMOB_APP_ID</string>
Atau, edit di editor daftar properti:
Langkah 3: Tambahkan Google Mobile Ads SDK
Karena Google Mobile Ads C++ SDK berada di namespace firebase::gma
, download Firebase C++ SDK, lalu ekstrak ke direktori pilihan Anda.
Firebase C++ SDK tidak bersifat khusus platform, tetapi memerlukan konfigurasi library khusus platform.
Android
Pada file
gradle.properties
project Anda, tentukan lokasi SDK yang telah diekstrak:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
Pada file
settings.gradle
project Anda, tambahkan konten berikut: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"
Pada file Gradle modul (level aplikasi), biasanya
app/build.gradle
, tambahkan konten berikut, yang mencakup dependensi library untuk Google Mobile Ads C++ SDK.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 }
Pada file
CMakeLists.txt
project Anda, tambahkan konten berikut.# 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}")
Sinkronkan aplikasi Anda untuk memastikan bahwa semua dependensi memiliki versi yang diperlukan.
Anda sudah siap! Aplikasi C++ Anda telah dikonfigurasi untuk menggunakan Google Mobile Ads C++ SDK.
iOS
Langkah-langkah di bagian ini adalah contoh cara menambahkan Google Mobile Ads C++ SDK ke project iOS Anda.
Dapatkan CocoaPods versi 1 atau yang lebih baru dengan menjalankan:
sudo gem install cocoapods --pre
Tambahkan pod Google Mobile Ads dari SDK yang telah diekstrak.
Buat Podfile jika belum memilikinya:
cd YOUR_APP_DIRECTORY
pod init
Tambahkan pod untuk Google Mobile Ads C++ SDK ke Podfile Anda:
pod 'Google-Mobile-Ads-SDK'
Instal pod, lalu buka file
.xcworkspace
di Xcode.pod install
open YOUR_APP.xcworkspace
Tambahkan framework berikut dari Firebase C++ SDK ke project:
xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
Anda sudah siap! Aplikasi C++ Anda telah dikonfigurasi untuk menggunakan Google Mobile Ads C++ SDK.
Langkah 4: Lakukan inisialisasi Google Mobile Ads SDK
Sebelum memuat iklan, lakukan inisialisasi Mobile Ads SDK dengan memanggil firebase::gma::Initialize()
.
Panggilan ini menampilkan firebase::Future
yang selesai setelah inisialisasi selesai (atau setelah waktu tunggu 30 detik). Panggil metode ini sekali saja dan sedini mungkin, idealnya pada saat peluncuran aplikasi.
Berikut contoh cara memanggil 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. }
Menggunakan Future
untuk memantau status penyelesaian panggilan metode
Future
menyediakan cara untuk menentukan status penyelesaian panggilan metode asinkron Anda.
Misalnya, saat aplikasi memanggil firebase::gma::Initialize()
, firebase::Future
baru akan dibuat dan ditampilkan. Aplikasi Anda kemudian dapat memeriksa status()
Future
untuk menentukan kapan inisialisasi selesai.
Setelah selesai, aplikasi Anda dapat memanggil result()
untuk mendapatkan AdapterInitializationStatus
yang dihasilkan.
Metode yang menampilkan Future
memiliki metode "hasil terakhir" yang sesuai, yang dapat digunakan aplikasi untuk mengambil Future
terbaru untuk tindakan tertentu. Misalnya, firebase::gma::Initialize()
memiliki metode yang sesuai yang disebut firebase::gma::InitializeLastResult()
, yang menampilkan Future
yang dapat digunakan aplikasi Anda untuk memeriksa status panggilan terakhir ke firebase::gma::Initialize()
.
Jika status Future
selesai dan kode error-nya adalah firebase::gma::kAdErrorCodeNone
, artinya operasi telah berhasil diselesaikan.
Anda juga bisa mendaftarkan callback agar dipanggil saat Future
selesai. Dalam beberapa kasus, callback akan berjalan di thread berbeda, jadi pastikan kode Anda aman untuk thread. Cuplikan kode ini menggunakan pointer fungsi untuk callback:
// 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.
}
}
Langkah 5: Pilih format iklan yang akan diterapkan di aplikasi
AdMob menawarkan berbagai format iklan yang berbeda, sehingga Anda dapat memilih format yang paling sesuai dengan pengalaman pengguna aplikasi Anda. Klik tombol format iklan berikut untuk melihat petunjuk penerapan terperincinya di dokumentasi AdMob.
Banner
Iklan kotak yang muncul di bagian atas atau bawah layar perangkat
Iklan Banner tetap ditampilkan di layar saat pengguna berinteraksi dengan aplikasi, dan dapat diperbarui secara otomatis setelah jangka waktu tertentu. Jika periklanan seluler merupakan hal yang baru bagi Anda, iklan Banner adalah pilihan pertama yang baik.
Menerapkan iklan bannerInterstisial
Iklan layar penuh yang menutupi antarmuka aplikasi hingga pengguna menutupnya
Iklan Interstisial paling cocok digunakan saat jeda alami dalam alur eksekusi aplikasi, misalnya di sela-sela level game atau tepat setelah menyelesaikan suatu tugas.
Menerapkan iklan interstisialReward
Iklan yang memberikan reward kepada pengguna karena telah menonton video singkat serta berinteraksi dengan survei dan iklan yang dapat dimainkan
Iklan Reward (atau "berbasis reward") dapat membantu memonetisasi pengguna yang tidak dipungut biaya.
Topik menarik lainnya
Melihat metrik pengguna dan data analisis
Setelah diinisialisasi, Mobile Ads SDK secara otomatis mulai mencatat peristiwa dan properti pengguna analisis ke dalam log dari aplikasi Anda. Data ini dapat Anda lihat tanpa harus menambahkan kode tambahan ke aplikasi atau menerapkan iklan apa pun. Berikut adalah tempat Anda dapat melihat data analisis ini:
Di kartu User metrics akun AdMob Anda (dasbor Home atau Apps), Anda dapat melihat metrik pengguna pilihan yang berasal dari data analisis yang dikumpulkan, seperti durasi sesi rata-rata, ARPU, dan retensi.
Di dasbor Analytics Firebase console, Anda dapat melihat statistik gabungan dan ringkasan metrik kunci. Jika menambahkan Firebase SDK untuk Google Analytics, Anda juga dapat menandai konversi untuk kampanye iklan dan membuat audiens kustom di Firebase console.
Perhatikan bahwa untuk mewakili metrik
ARPU dan
ARPPU dengan lebih baik, sebaiknya
sertakan data dari peristiwa kustom analisis yang bernama ecommerce_purchase
dalam penghitungan pendapatan untuk
metrik ini (pelajari caranya).
(Opsional) Menggunakan fitur Google Analytics dan Firebase lainnya
Manfaatkan kesempatan dan fitur lainnya untuk meningkatkan monetisasi aplikasi dan interaksi pengguna:
Menambahkan dan menggunakan Firebase SDK untuk Google Analytics
Terapkan pencatatan peristiwa kustom ke dalam log di aplikasi Anda.
Tandai konversi untuk kampanye iklan kustom.
Sertakan data peristiwa
ecommerce_purchase
dalam penghitungan pendapatan untuk metrik ARPU dan ARPPU.
Untuk mempelajari lebih lanjut, baca panduan untuk menggunakan Google Analytics dan Firebase dengan aplikasi AdMob.
Menggunakan produk Firebase lainnya di aplikasi
Setelah menambahkan Firebase SDK untuk Google Analytics, gunakan produk Firebase lainnya untuk mengoptimalkan iklan di aplikasi Anda.
Dengan Remote Config, Anda dapat mengubah perilaku dan tampilan aplikasi tanpa memublikasikan update aplikasi, tanpa biaya apa pun dan tanpa batasan jumlah pengguna aktif harian.
Dengan A/B Testing, Anda dapat menguji perubahan pada UI, fitur, atau kampanye interaksi aplikasi untuk mempelajari apakah perubahan tersebut memengaruhi metrik kunci Anda (seperti pendapatan dan retensi) sebelum menerapkannya secara luas.