Panduan memulai ini untuk penayang dan developer yang ingin menggunakan AdMob untuk memonetisasi aplikasi yang dibuat dengan Firebase.
Jika Anda belum melakukannya, pelajari semua manfaat menggunakan AdMob, Firebase, dan Google Analytics secara bersamaan.
Jika ini adalah pertama kalinya Anda membaca panduan ini, sebaiknya unduh dan ikuti menggunakan aplikasi pengujian Google Mobile Ads C++ SDK .
Sebelum kamu memulai
Jika Anda belum memiliki proyek Firebase dan aplikasi Firebase, ikuti panduan memulai Firebase: Tambahkan Firebase ke proyek C++ Anda .
Pastikan Google Analytics diaktifkan di proyek Firebase Anda:
Jika Anda membuat proyek Firebase baru, aktifkan Google Analytics selama alur kerja pembuatan proyek.
Jika Anda memiliki proyek Firebase yang belum mengaktifkan Google Analytics, Anda dapat mengaktifkan Google Analytics dari tab Integrasi di Anda > Setelan proyek .
Langkah 1: Siapkan aplikasi Anda di akun AdMob Anda
Daftarkan setiap varian platform aplikasi Anda sebagai aplikasi AdMob.
Daftarkan setiap varian platform aplikasi Anda dengan AdMob . Langkah ini membuat aplikasi AdMob dengan ID Aplikasi AdMob unik yang nantinya akan Anda perlukan dalam panduan ini.
Anda akan diminta untuk menambahkan Mobile Ads SDK ke aplikasi Anda. Temukan instruksi mendetail untuk tugas ini nanti di panduan ini.
Tautkan setiap aplikasi AdMob Anda ke aplikasi Firebase yang sesuai.
Langkah ini opsional tetapi sangat disarankan. Pelajari lebih lanjut manfaat mengaktifkan metrik pengguna dan menautkan aplikasi AdMob Anda ke Firebase.
Untuk setiap varian platform, selesaikan dua langkah berikut di dasbor Aplikasi akun AdMob Anda:
Aktifkan Metrik Pengguna untuk mengizinkan AdMob memproses dan menampilkan data analitik pilihan di akun AdMob Anda. Ini juga merupakan setelan wajib bagi Anda untuk menautkan aplikasi AdMob ke Firebase.
Tautkan aplikasi AdMob Anda ke project Firebase yang ada dan aplikasi Firebase yang sesuai.
Pastikan Anda memasukkan nama paket (Android) atau ID bundel (iOS) yang sama dengan yang Anda masukkan untuk aplikasi Firebase. Temukan nama paket atau ID bundel aplikasi Firebase Anda di Kartu aplikasi Anda di Setelan proyek .
Anda >
Langkah 2: Tambahkan ID Aplikasi AdMob ke aplikasi Anda
Android
Tambahkan ID Aplikasi AdMob Anda ke file AndroidManifest.xml
aplikasi Anda dengan menambahkan <meta-data>
seperti yang ditunjukkan di bawah ini.
<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.
Anda dapat membuat 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 SDK Iklan Seluler Google
Karena Google Mobile Ads C++ SDK berada di firebase::gma
namespace, unduh Firebase C++ SDK , lalu unzip ke direktori pilihan Anda.
Firebase C++ SDK tidak khusus platform, tetapi memerlukan konfigurasi pustaka khusus platform.
Android
Dalam file
gradle.properties
proyek Anda, tentukan lokasi SDK yang telah dibuka zipnya:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
Ke file
settings.gradle
proyek 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"
Ke file Gradle modul (level aplikasi) Anda (biasanya
app/build.gradle
), tambahkan konten berikut, yang menyertakan 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 }
Ke file
CMakeLists.txt
proyek 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 dikonfigurasi untuk menggunakan Google Mobile Ads C++ SDK.
iOS
Langkah-langkah di bagian ini adalah contoh cara menambahkan Google Mobile Ads C++ SDK ke proyek iOS Anda.
Dapatkan CocoaPods versi 1 atau lebih baru dengan menjalankan:
sudo gem install cocoapods --pre
Tambahkan pod Iklan Seluler Google dari SDK yang telah dibuka ritsletingnya.
Buat Podfile jika Anda belum memilikinya:
cd YOUR_APP_DIRECTORY
pod init
Ke Podfile Anda, tambahkan pod untuk Google Mobile Ads C++ SDK:
pod 'Google-Mobile-Ads-SDK'
Instal pod, lalu buka file
.xcworkspace
di Xcode.pod install
open YOUR_APP.xcworkspace
Tambahkan kerangka kerja berikut dari Firebase C++ SDK ke proyek:
-
xcframeworks/firebase.xcframework
-
xcframeworks/firebase_gma.xcframework
-
Anda sudah siap! Aplikasi C++ Anda dikonfigurasi untuk menggunakan Google Mobile Ads C++ SDK.
Langkah 4: Inisialisasi Google Mobile Ads SDK
Sebelum memuat iklan, lakukan inisialisasi Mobile Ads SDK dengan memanggil firebase::gma::Initialize()
.
Panggilan ini mengembalikan firebase::Future
yang selesai setelah inisialisasi selesai (atau setelah waktu tunggu 30 detik). Panggil metode ini hanya sekali dan sedini mungkin, idealnya saat peluncuran aplikasi.
Berikut adalah 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. }
Gunakan Future
untuk memantau status penyelesaian panggilan metode
A Future
memberi Anda cara untuk menentukan status penyelesaian panggilan metode asinkron Anda.
Misalnya, saat aplikasi Anda memanggil firebase::gma::Initialize()
, firebase::Future
baru akan dibuat dan dikembalikan. Aplikasi Anda kemudian dapat mengumpulkan status()
Future
untuk menentukan kapan inisialisasi selesai. Setelah selesai, aplikasi Anda bisa memanggil result()
untuk mendapatkan hasil AdapterInitializationStatus
.
Metode yang menampilkan Future
memiliki metode "hasil terakhir" terkait yang dapat digunakan aplikasi untuk mengambil Future
terbaru untuk tindakan tertentu. Misalnya, firebase::gma::Initialize()
memiliki metode terkait yang disebut firebase::gma::InitializeLastResult()
, yang mengembalikan Future
yang dapat digunakan aplikasi Anda untuk memeriksa status panggilan terakhir ke firebase::gma::Initialize()
.
Jika status Future
selesai dan kode kesalahannya adalah firebase::gma::kAdErrorCodeNone
, maka operasi telah berhasil diselesaikan.
Anda juga dapat mendaftarkan panggilan balik untuk dipanggil saat Future
selesai. Dalam beberapa kasus, panggilan balik akan berjalan di utas yang berbeda, jadi pastikan kode Anda aman untuk utas. 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 untuk diterapkan di aplikasi Anda
AdMob menawarkan sejumlah format iklan yang berbeda, sehingga Anda dapat memilih format yang paling sesuai dengan pengalaman pengguna aplikasi Anda. Klik tombol format iklan untuk melihat detail petunjuk penerapan di dokumentasi AdMob.
Spanduk
Iklan persegi panjang yang muncul di bagian atas atau bawah layar perangkat
Iklan spanduk tetap ditampilkan di layar saat pengguna berinteraksi dengan aplikasi, dan dapat disegarkan secara otomatis setelah jangka waktu tertentu. Jika Anda pemula dalam periklanan seluler, ini adalah tempat yang tepat untuk memulai.
Terapkan iklan spandukPengantara
Iklan layar penuh yang menutupi antarmuka aplikasi hingga ditutup oleh pengguna
Iklan interstisial paling baik digunakan pada jeda alami dalam aliran eksekusi aplikasi, seperti di antara level game atau tepat setelah tugas selesai.
Terapkan iklan pengantaraDihadiahi
Iklan yang memberi penghargaan kepada pengguna karena menonton video pendek dan berinteraksi dengan iklan dan survei yang dapat dimainkan
Iklan reward (atau "berbasis reward") dapat membantu memonetisasi pengguna yang bermain gratis.
Topik menarik lainnya
Lihat metrik pengguna dan data analitik
Setelah inisialisasi, SDK Iklan Seluler secara otomatis mulai membuat log peristiwa analitik dan properti pengguna dari aplikasi Anda. Anda dapat melihat data ini tanpa menambahkan kode tambahan apa pun ke aplikasi Anda atau menerapkan iklan apa pun. Di sinilah Anda dapat melihat data analitik ini:
Di kartu metrik Pengguna akun AdMob Anda ( Dasbor Beranda atau Aplikasi ), Anda dapat melihat metrik pengguna hasil seleksi yang berasal dari data analisis yang dikumpulkan, seperti durasi sesi rata-rata, ARPU , dan retensi.
Di dasbor Analytics konsol Firebase, Anda dapat melihat statistik gabungan dan ringkasan metrik kunci . Jika Anda menambahkan Firebase SDK untuk Google Analytics , Anda juga dapat menandai konversi untuk kampanye iklan dan membuat pemirsa khusus di konsol Firebase.
Perhatikan bahwa untuk merepresentasikan metrik ARPU dan ARPPU dengan lebih baik, Anda mungkin ingin menyertakan data dari peristiwa khusus analitik yang disebut ecommerce_purchase
dalam penghitungan pendapatan untuk metrik ini ( pelajari caranya ).
(Opsional) Gunakan lebih banyak fitur Google Analytics dan Firebase
Manfaatkan lebih banyak peluang dan fitur untuk meningkatkan monetisasi aplikasi dan interaksi pengguna:
Tambahkan dan gunakan Firebase SDK untuk Google Analytics
Terapkan log peristiwa khusus di aplikasi Anda.
Tandai konversi untuk kampanye iklan khusus .
Sertakan data peristiwa
ecommerce_purchase
dalam penghitungan pendapatan untuk metrik ARPU dan ARPPU .
Untuk mempelajari lebih lanjut, kunjungi panduan menggunakan Google Analytics dan Firebase dengan aplikasi AdMob .
Gunakan produk Firebase lainnya di aplikasi Anda
Setelah menambahkan Firebase SDK untuk Google Analytics, gunakan produk Firebase lainnya untuk mengoptimalkan iklan di aplikasi Anda.
Remote Config memungkinkan Anda mengubah perilaku dan tampilan aplikasi tanpa memublikasikan pembaruan aplikasi, tanpa biaya, untuk pengguna aktif harian tanpa batas.
Pengujian A/B memberi Anda kemampuan untuk menguji perubahan pada UI aplikasi, fitur, atau kampanye interaksi untuk mengetahui apakah perubahan tersebut berdampak pada metrik utama Anda (seperti pendapatan dan retensi) sebelum meluncurkan perubahan secara luas.