Bu hızlı başlangıç kılavuzu, Firebase ile oluşturulmuş bir uygulamadan para kazanmak için AdMob'i kullanmak isteyen yayıncılara ve geliştiricilere yöneliktir. Firebase'i uygulamanıza dahil etmeyi planlamıyorsanız bunun yerine bağımsız AdMobkılavuzu ziyaret edin.
Henüz kullanmadıysanız AdMob, Firebase ve Google Analytics'i birlikte kullanmanın tüm avantajları hakkında bilgi edinin.
Bu rehberi ilk kez okuyorsanız Google Mobile Ads C++ SDK test uygulamasını indirip talimatları uygulamanızı öneririz.
Başlamadan önce
Firebase projeniz ve Firebase uygulamanız yoksa Firebase başlangıç kılavuzundaki adımları izleyin: Firebase'i C++ projenize ekleyin.
Firebase projenizde Google Analytics'ün etkinleştirildiğinden emin olun:
Yeni bir Firebase projesi oluşturuyorsanız proje oluşturma iş akışı sırasında Google Analytics politikasını etkinleştirin.
Google Analytics'ün etkinleştirilmediği bir Firebase projeniz varsa Google Analytics'ü
bölümündeki > Proje ayarlarıEntegrasyonlar sekmesinden etkinleştirebilirsiniz.
1. adım: Uygulamanızı AdMob hesabınızda ayarlayın
Uygulamanızın her platform varyantını bir AdMob uygulaması olarak kaydedin.
AdMob hesabında oturum açın veya kaydolun.
Uygulamanızın her platform varyantını AdMob'e kaydedin. Bu adım, bu kılavuzun ilerleyen bölümlerinde ihtiyaç duyacağınız benzersiz bir AdMob Uygulama Kimliği'ne sahip bir AdMob uygulaması oluşturur.
Mobile Ads SDK'sını uygulamanıza eklemeniz istenir. Bu işlemle ilgili ayrıntılı talimatları bu kılavuzun ilerleyen bölümlerinde bulabilirsiniz.
AdMob uygulamalarınızın her birini ilgili Firebase uygulamasına bağlayın.
Bu adım isteğe bağlıdır ancak uygulanması kesinlikle önerilir. Kullanıcı metriklerini etkinleştirmenin ve AdMob uygulamalarınızı Firebase'e bağlamanın avantajları hakkında daha fazla bilgi edinin.
Her platform varyantı için AdMob hesabınızın Uygulamalar kontrol panelinde aşağıdaki iki adımı tamamlayın:
AdMob adlı uygulamanın, AdMob hesabınızda seçilen analiz verilerini işleyip görüntülemesine izin vermek için Kullanıcı Metrikleri'ni etkinleştirin. Ayrıca, uygulamanızı Firebase'e bağlamanız için gerekli bir ayardır.
AdMob uygulamanızı mevcut Firebase projenize ve ilgili Firebase uygulamasına bağlayın.
Firebase uygulamanız için girdiğiniz paket adını (Android) veya paket kimliğini (iOS) girdiğinizden emin olun. Firebase uygulamanızın paket adını veya paket kimliğini,
Proje ayarları bölümündeki Uygulamalarınız kartında bulabilirsiniz. >
2. adım: AdMob uygulama kimliğinizi uygulamanıza ekleyin
Android
<meta-data>
etiketini aşağıda gösterildiği gibi ekleyerek AdMob Uygulama Kimliğinizi uygulamanızın AndroidManifest.xml
dosyasına ekleyin.
<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
Uygulamanızın Info.plist
dosyasına, AdMob uygulama kimliğinizin dize değerini içeren bir GADApplicationIdentifier
anahtarı ekleyin.
Bu değişikliği programatik olarak yapabilirsiniz:
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 --> <key>GADApplicationIdentifier</key> <string>ADMOB_APP_ID</string>
Alternatif olarak, özellik listesi düzenleyicide düzenleyebilirsiniz:
3. Adım: Google Mobile Ads SDK'sını ekleyin
Google Mobile Ads C++ SDK'sı firebase::gma
ad alanında bulunduğundan Firebase C++ SDK'sını indirin ve ardından seçtiğiniz bir dizine açın.
Firebase C++ SDK'sı platforma özel değildir ancak platforma özel kitaplık yapılandırmaları gerektirir.
Android
Projenizin
gradle.properties
dosyasında, sıkıştırılmamış SDK'nın konumunu belirtin:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
Projenizin
settings.gradle
dosyasına aşağıdaki içeriği ekleyin: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"
Modülünüzün (uygulama düzeyinde) Gradle dosyasına (genellikle
app/build.gradle
) Google Mobile Ads C++ SDK'sına ait kitaplık bağımlılığını içeren aşağıdaki içeriği ekleyin.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 }
Projenizin
CMakeLists.txt
dosyasına aşağıdaki içeriği ekleyin.# 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}")
Tüm bağımlıların gerekli sürümlere sahip olduğundan emin olmak için uygulamanızı senkronize edin.
Her şey hazır C++ uygulamanız, Google Mobile Ads C++ SDK'sını kullanacak şekilde yapılandırılmıştır.
iOS
Bu bölümdeki adımlar, Google Mobile Ads C++ SDK'sını iOS projenize ekleme örneğidir.
Aşağıdaki komutu çalıştırarak CocoaPods 1 veya sonraki bir sürümü edinin:
sudo gem install cocoapods --pre
Arşivden çıkarılan SDK'dan Google Mobile Ads kapsülü ekleyin.
Henüz yoksa bir Podfile oluşturun:
cd YOUR_APP_DIRECTORY
pod init
Podfile dosyanıza Google Mobile Ads C++ SDK'sının pod'unu ekleyin:
pod 'Google-Mobile-Ads-SDK'
Kapsülü yükleyin, ardından Xcode'da
.xcworkspace
dosyasını açın.pod install
open YOUR_APP.xcworkspace
Firebase C++ SDK'sındaki aşağıdaki çerçeveleri projeye ekleyin:
xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
Her şey hazır C++ uygulamanız, Google Mobile Ads C++ SDK'sını kullanacak şekilde yapılandırılmış olmalıdır.
4. Adım: Google Mobile Ads SDK'sını ilk kullanıma hazırlayın
Reklamları yüklemeden önce firebase::gma::Initialize()
'ü çağırarak Mobile Ads SDK'sını ilk kullanıma hazırlayın.
Bu çağrı, ilk kullanıma hazırlama işlemi tamamlandıktan sonra (veya 30 saniyelik zaman aşımının ardından) tamamlanan bir firebase::Future
döndürür. Bu yöntemi mümkün olduğunca erken, ideal olarak uygulama lansmanında
bir kez çağırın.
Initialize()
işlevinin nasıl çağrılacağıyla ilgili bir örnek aşağıda verilmiştir:
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. }
Bir yöntem çağrısının tamamlanma durumunu izlemek için Future
kullanın
Future
, asenkron yöntem çağrılarınızın tamamlanma durumunu belirlemenize olanak tanır.
Örneğin, uygulamanız firebase::gma::Initialize()
çağırdığında yeni bir firebase::Future
oluşturulur ve döndürülür. Ardından uygulamanız, ilklendirmenin ne zaman tamamlandığını belirlemek için Future
'ın status()
özelliğini sorgulayabilir.
İşlem tamamlandığında uygulamanız, sonuç olarak elde edilen AdapterInitializationStatus
değerini almak için result()
işlevini çağırabilir.
Future
döndüren yöntemlerin, uygulamaların belirli bir işlem için en son Future
'yi almak üzere kullanabileceği karşılık gelen bir "son sonuç" yöntemi vardır. Örneğin, firebase::gma::Initialize()
için firebase::gma::InitializeLastResult()
adlı bir karşılık gelen yöntem vardır. Bu yöntem, uygulamanızın firebase::gma::Initialize()
'e yapılan son çağrının durumunu kontrol etmek için kullanabileceği bir Future
döndürür.
Future
öğesinin durumu tamamlandıysa ve hata kodu firebase::gma::kAdErrorCodeNone
ise işlem başarıyla tamamlanmıştır.
Ayrıca, bir Future
tamamlandığında çağrılacak geri çağırma işlevleri de kaydedebilirsiniz. Bazı durumlarda, geri çağırma farklı bir iş parçacığında çalışacak. Bu nedenle, kodunuzun iş parçacığı açısından güvenli olduğundan emin olun. Bu kod snippet'inde, geri çağırma işlevi için bir işlev işaretçisi kullanılmaktadır:
// 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.
}
}
5. Adım: Uygulamanıza uygulanacak bir reklam biçimi seçin
AdMob, bir dizi farklı reklam biçimi sunduğu için uygulamanızın kullanıcı deneyimine en uygun biçimi seçebilirsiniz. AdMob belgelerinde ayrıntılı uygulama talimatlarını görüntülemek için reklam biçimine ilişkin bir düğmeyi tıklayın.
Banner
Cihaz ekranının üst veya alt kısmında görünen dikdörtgen reklamlar
Banner reklamlar, kullanıcılar uygulamayla etkileşim kurarken ekranda kalmaya devam eder ve belirli bir süre sonra otomatik olarak yenilenebilir. Mobil reklamcılık konusunda yeniyseniz bu kaynaklardan yararlanabilirsiniz.
Banner reklamları uygulamaGeçişli
Kullanıcı tarafından kapatılana kadar bir uygulamanın arayüzünü kaplayan tam ekran reklamlar
Geçiş reklamlarının en iyi kullanım alanı, uygulama akışındaki doğal duraklamalarda (ör. bir oyunun seviyeleri arasında veya bir görev tamamlandıktan hemen sonra) olmasıdır.
Geçiş reklamlarını uygulamaÖdüllü
Kısa videoları izleyen, ayrıca oynatılabilir reklamlar ve anketlerle etkileşimde bulunan kullanıcıları ödüllendiren reklamlardır.
Ödüllü (veya "ödüllü") reklamlar, ücretsiz içerik kullanıcılarından para kazanmanıza yardımcı olabilir.
Diğer ilgi alanı konuları
Kullanıcı metriklerini ve analiz verilerini görüntüleme
Mobile Ads SDK'sı, başlatıldıktan sonra uygulamanızdan analiz etkinliklerini ve kullanıcı özelliklerini otomatik olarak kaydetmeye başlar. Bu verileri uygulamanıza ek kod eklemeden veya reklam uygulamadan görüntüleyebilirsiniz. Bu analiz verilerini şuradan görebilirsiniz:
AdMob hesabınızın Kullanıcı metrikleri kartında (Ana Sayfa veya Uygulamalar kontrol paneli), toplanan analiz verilerinden elde edilen, ortalama oturum süresi, ARPU ve elde tutma oranı gibi özel olarak seçilmiş kullanıcı metriklerini görüntüleyebilirsiniz.
Firebase konsolunun Analytics kontrol panelinde toplu istatistikleri ve önemli metriklerin özetlerini görüntüleyebilirsiniz. Google Analytics için Firebase SDK'sını eklerseniz Firebase konsolunda reklam kampanyaları için dönüşümleri işaretleyebilir ve özel kitleler oluşturabilirsiniz.
KBOG ve ARPPU metriklerini daha iyi temsil etmek için ecommerce_purchase
adlı bir Analytics özel etkinliğinden elde edilen verileri bu metriklerin gelir hesaplamasına dahil edebilirsiniz (nasıl yapılacağını öğrenin).
(İsteğe bağlı) Google Analytics ve Firebase'in daha fazla özelliğini kullanın
Uygulamadan para kazanma ve kullanıcı etkileşimini artırmak için daha fazla fırsat ve özellikten yararlanın:
Google Analytics için Firebase SDK'sını ekleme ve kullanma
Uygulamanızda özel etkinlik günlük kaydını uygulayın.
Özel reklam kampanyaları için dönüşümleri işaretleyin.
KBOG ve ARPPU metriklerinin gelir hesaplamasına
ecommerce_purchase
etkinlik verilerini dahil edin.
Daha fazla bilgi için Google Analytics ve Firebase'i AdMob uygulamalarıyla kullanma konulu kılavuzu inceleyin.
Uygulamanızda diğer Firebase ürünlerini kullanma
Google Analytics için Firebase SDK'sını ekledikten sonra, uygulamanızdaki reklamları optimize etmek için diğer Firebase ürünlerini kullanın.
Remote Config, uygulamanızın davranışını ve görünümünü uygulama güncellemesi yayınlamadan, sınırsız sayıda günlük etkin kullanıcı için ücretsiz olarak değiştirmenize olanak tanır.
A/B Testing, uygulamanızın kullanıcı arayüzünde, özelliklerinde veya etkileşim kampanyalarında yapılan değişiklikleri test etmenize ve değişikliklerin temel metriklerinize (ör. gelir ve elde tutma) etki edip etmediğini öğrenmenize olanak tanır.