Bu hızlı başlangıç kılavuzu, Firebase ile oluşturulmuş bir uygulamadan para kazanmak için AdMob'u kullanmak isteyen yayıncılar ve geliştiriciler için hazırlanmıştır. Uygulamanıza Firebase'i dahil etmeyi düşünmüyorsanız bunun yerine bağımsız AdMob kılavuzuna göz atın.
Henüz yapmadıysanız AdMob, Firebase ve Google Analytics'i birlikte kullanmanın tüm avantajlarını öğrenin.
Bu kılavuzu ilk kez kullanıyorsanız Google Mobile Ads C++ SDK test uygulamasını indirip sonraki adımları uygulamanızı öneririz.
Başlamadan önce
Firebase projeniz ve Firebase uygulamanız yoksa Firebase başlangıç kılavuzundaki adımları uygulayın: Firebase'i C++ projenize ekleyin.
Firebase projenizde Google Analytics'in etkinleştirildiğinden emin olun:
Yeni bir Firebase projesi oluşturuyorsanız proje oluşturma iş akışı sırasında Google Analytics'i etkinleştirin.
Google Analytics'in etkinleştirilmediği bir Firebase projeniz varsa
sayfanızdaki > Proje ayarlarıEntegrasyonlar sekmesinden Google Analytics'i etkinleştirebilirsiniz.
1. Adım: AdMob hesabınızda uygulamanızı ayarlayın
Uygulamanızın her platform varyantını AdMob uygulaması olarak kaydedin.
AdMob hesabı için oturum açın veya kaydolun.
Uygulamanızın her platform varyantını AdMob'a kaydedin. Bu adım, benzersiz bir AdMob Uygulama Kimliğine sahip bir AdMob uygulaması oluşturur. Bu kılavuzun ilerleyen bölümlerinde bunlara ihtiyacınız olacaktır.
Mobile Ads SDK'sını uygulamanıza eklemeniz istenir. Bu görevle 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 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'un, AdMob hesabınızdaki seçili analiz verilerini işleyip görüntülemesine izin vermek için Kullanıcı Metrikleri'ni etkinleştirin. Ayrıca, AdMob 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.
Proje ayarları sayfanızdaki Uygulamalarınız kartında Firebase uygulamanızın paket adını veya paket kimliğini bulun. >
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ğerine sahip 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, mülk listesi düzenleyiciyi kullanabilirsiniz:
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 istediğiniz dizine çıkartarak açın.
Firebase C++ SDK'sı platforma özel değildir ancak platforma özgü kitaplık yapılandırmaları gerektirir.
Android
Projenizin
gradle.properties
dosyasında, sıkıştırılmış 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ü (uygulama düzeyindeki) Gradle dosyanıza (genellikle
app/build.gradle
), Google Mobile Ads C++ SDK'sı için 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 tamam. 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, iOS projenize Google Mobile Ads C++ SDK'sını nasıl ekleyeceğinize ilişkin bir örnektir.
Aşağıdaki komutu çalıştırarak CocoaPods 1 veya üzeri bir sürüme sahip olabilirsiniz:
sudo gem install cocoapods --pre
Sıkıştırılmamış SDK'dan Google Mobile Ads kapsülünü ekleyin.
Henüz yoksa bir Podfile oluşturun:
cd YOUR_APP_DIRECTORY
pod init
Podfile'ınıza Google Mobile Ads C++ SDK'sı için kapsülü ekleyin:
pod 'Google-Mobile-Ads-SDK'
Kapsülü yükleyin, ardından
.xcworkspace
dosyasını Xcode'da açın.pod install
open YOUR_APP.xcworkspace
Firebase C++ SDK'sından şu çerçeveleri projeye ekleyin:
xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
Her şey tamam. C++ uygulamanız Google Mobile Ads C++ SDK'sını kullanacak şekilde yapılandırılmıştır.
4. Adım: Google Mobile Ads SDK'sını başlatın
Reklamları yüklemeden önce, firebase::gma::Initialize()
yöntemini çağırarak Mobile Ads SDK'sını başlatın.
Bu çağrı, başlatma sona erdiğinde (veya 30 saniyelik zaman aşımından sonra) 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.
Aşağıda, Initialize()
yönteminin nasıl çağrılacağına ilişkin bir örnek 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
, eşzamansız yöntem çağrılarınızın tamamlanma durumunu belirlemeniz için bir yöntem sunar.
Örneğin, uygulamanız firebase::gma::Initialize()
yöntemini çağırdığında yeni bir firebase::Future
oluşturulur ve döndürülür. Daha sonra uygulamanız, başlatmanın ne zaman tamamlandığını belirlemek için Future
öğesinin status()
öğesini yoklayabilir.
İşlem tamamlandığında, uygulamanız result()
yöntemini çağırarak AdapterInitializationStatus
sonucunu elde edebilir.
Future
değeri döndüren yöntemler, uygulamaların belirli bir işlem için en son Future
değerini almak üzere kullanabileceği karşılık gelen bir "son sonuç" yöntemine sahiptir. Örneğin, firebase::gma::Initialize()
, firebase::gma::InitializeLastResult()
adında karşılık gelen bir yönteme sahip. Bu yöntem, uygulamanız tarafından firebase::gma::Initialize()
öğesine yapılan son çağrının durumunu kontrol etmek için kullanabileceğiniz bir Future
değeri döndürüyor.
Future
işleminin durumu tamamlandıysa ve hata kodu firebase::gma::kAdErrorCodeNone
ise işlem başarıyla tamamlanmış demektir.
Ayrıca, bir Future
tamamlandığında çağrılacak geri çağırmaları da 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'i, geri çağırma için bir işlev işaretçisi kullanı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 sunar. Böylece, 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şimde bulunurken ekranda kalır ve belirli bir süre sonra otomatik olarak yenilenebilir. Mobil reklamcılıkta yeniyseniz bu tür bir başlangıç noktası olarak çok iyi bir noktadır.
Banner reklam uygulamaGeçişli
Kullanıcı tarafından kapatılana kadar 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ü
Kullanıcıları kısa videolar izledikleri ve oynatılabilir reklamlar ve anketlerle etkileşimde bulundukları için ödüllendiren reklamlar
Ö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 otomatik olarak analiz etkinliklerini ve kullanıcı özelliklerini uygulamanızdan günlüğe kaydetmeye başlar. Bu verileri, uygulamanıza ek kod eklemeden veya reklam uygulamadan görüntüleyebilirsiniz. Bu analiz verilerini görebileceğiniz yerler:
AdMob hesabınızın (Ana Sayfa veya Uygulamalar kontrol paneli) Kullanıcı metrikleri kartında, toplanan analiz verilerinden elde edilen ve ortalama oturum süresi, KBOG ve elde tutma gibi kullanıcı metriklerini görebilirsiniz.
Firebase konsolunun Analytics kontrol panelinde, toplu istatistikleri ve temel 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ı) Daha fazla Google Analytics ve Firebase özelliğini kullanın
Uygulamalardan daha fazla para kazanmak 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.
ARPU ve ARPPU metrikleri için gelir hesaplamasına
ecommerce_purchase
etkinlik verilerini dahil edin.
Daha fazla bilgi edinmek için Google Analytics ve Firebase'i AdMob uygulamalarıyla kullanma rehberine bakın.
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, uygulama güncellemesi yayınlamadan uygulamanızın davranışını ve görünümünü hiçbir ücret ödemeden sınırsız sayıda günlük etkin kullanıcı için değiştirebilmenizi sağlar.
A/B Testi, uygulamanızın kullanıcı arayüzü, özellikleri veya etkileşim kampanyalarındaki değişiklikleri test etmenize ve bu değişikliklerin, değişiklikleri geniş çapta kullanıma sunmadan önce temel metrikleriniz (ör. gelir ve elde tutma) üzerinde bir etkisi olup olmadığını öğrenmenize olanak tanır.