C++ projenizde AdMob'u kullanmaya başlayın

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çindir. Firebase'i uygulamanıza dahil etmeyi planlamıyorsanız, bunun yerine bağımsız AdMob kılavuzunu ziyaret edin.

Henüz yapmadıysanız AdMob, Firebase ve Google Analytics'i birlikte kullanmanın tüm avantajlarını öğrenin.

Bu kılavuzu ilk kez okuyorsanız, Google Mobile Ads C++ SDK test uygulamasını indirip kullanarak devam etmenizi öneririz.

Sen başlamadan önce

  • Halihazırda bir Firebase projeniz ve bir Firebase uygulamanız yoksa Firebase başlangıç ​​kılavuzunu takip edin: 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 etkin olmadığı mevcut bir Firebase projeniz varsa, Google Analytics'i Entegrasyonlar sekmesinden etkinleştirebilirsiniz > Proje ayarları .

1. Adım: Uygulamanızı AdMob hesabınızda kurun

  1. Uygulamanızın her platform varyantını bir AdMob uygulaması olarak kaydedin.

    1. Bir AdMob hesabında oturum açın veya kaydolun .

    2. Uygulamanızın her bir platform varyantını AdMob'a kaydedin . Bu adım, bu kılavuzun ilerleyen bölümlerinde ihtiyaç duyacağınız benzersiz bir AdMob Uygulama Kimliğine sahip bir AdMob uygulaması oluşturur.

    Mobile Ads SDK'sını uygulamanıza eklemeniz istenecektir. Bu görev için ayrıntılı yönergeleri bu kılavuzda daha sonra bulabilirsiniz.

  2. AdMob uygulamalarınızın her birini ilgili Firebase uygulamasına bağlayın.

    Bu adım isteğe bağlıdır ancak şiddetle tavsiye edilir. Kullanıcı metriklerini etkinleştirmenin ve AdMob uygulamalarınızı Firebase'e bağlamanın avantajları hakkında daha fazla bilgi edinin.

    Her bir platform varyantı için, AdMob hesabınızın Uygulamalar kontrol panelinde aşağıdaki iki adımı tamamlayın:

    1. AdMob'un seçilmiş analiz verilerini AdMob hesabınızda işlemesine ve görüntülemesine izin vermek için Kullanıcı Metriklerini etkinleştirin . AdMob uygulamanızı Firebase'e bağlamanız için de gerekli bir ayardır.

    2. 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 bulun.

2. Adım: AdMob Uygulama Kimliğinizi uygulamanıza ekleyin

Android

Aşağıda gösterildiği gibi <meta-data> etiketini 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ğeriyle bir GADApplicationIdentifier anahtarı ekleyin.

Bu değişikliği programlı olarak yapabilirsiniz:

<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 -->
<key>GADApplicationIdentifier</key>
<string>ADMOB_APP_ID</string>

Veya özellik listesi düzenleyicisinde düzenleyin:

Mülk Listesi Düzenleyici

3. Adım: Google Mobile Ads SDK'sını ekleyin

Google Mobile Ads C++ SDK'sı firebase::gma ad alanında yer aldığından, Firebase C++ SDK'sını indirin ve ardından onu istediğiniz bir dizine sıkıştırın.

Firebase C++ SDK, platforma özgü değildir ancak platforma özel kitaplık yapılandırmaları gerektirir.

Android

  1. Projenizin gradle.properties dosyasında sıkıştırılmış SDK'nın konumunu belirtin:

    systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
  2. 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"
  3. Modül (uygulama düzeyinde) Gradle dosyanıza (genellikle app/build.gradle ), Google Mobile Ads C++ SDK 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
    }
  4. 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}")
  5. Tüm bağımlılıkların gerekli sürümlere sahip olduğundan emin olmak için uygulamanızı senkronize edin.

Hazırsınız! C++ uygulamanız, Google Mobile Ads C++ SDK'sını kullanacak şekilde yapılandırıldı.

iOS

Bu bölümdeki adımlar, Google Mobile Ads C++ SDK'sının iOS projenize nasıl ekleneceğine bir örnektir.

  1. Şunları çalıştırarak CocoaPods sürüm 1 veya sonraki bir sürümünü edinin:

    sudo gem install cocoapods --pre
  2. Sıkıştırılmış SDK'dan Google Mobile Ads bölmesini ekleyin.

    1. Henüz sahip değilseniz bir Podfile oluşturun:

      cd YOUR_APP_DIRECTORY
      pod init
    2. Pod dosyanıza, Google Mobile Ads C++ SDK'sı için kapsülü ekleyin:

      pod 'Google-Mobile-Ads-SDK'
    3. Bölmeyi kurun, ardından .xcworkspace dosyasını Xcode'da açın.

      pod install
      open YOUR_APP.xcworkspace
    4. Firebase C++ SDK'dan projeye aşağıdaki çerçeveleri ekleyin:

      • xcframeworks/firebase.xcframework
      • xcframeworks/firebase_gma.xcframework

Hazırsınız! C++ uygulamanız, Google Mobile Ads C++ SDK'sını kullanacak şekilde yapılandırıldı.

4. Adım: Google Mobile Ads SDK'sını başlatın

Reklamları yüklemeden önce, firebase::gma::Initialize() öğesini çağırarak Mobile Ads SDK'sını başlatın.

Bu çağrı, başlatma bittiğinde (veya 30 saniyelik bir zaman aşımından sonra) tamamlanan bir firebase::Future döndürür. Bu yöntemi yalnızca bir kez ve mümkün olduğunca erken, ideal olarak uygulama başlatılırken arayın.

İşte Initialize() nasıl çağrılacağına dair bir örnek:

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 bir Future kullanın

A Future eşzamansız yöntem çağrılarınızın tamamlanma durumunu belirlemeniz için size bir yol sağlar.

Örneğin, uygulamanız firebase::gma::Initialize() öğesini çağırdığında, yeni bir firebase::Future oluşturulur ve döndürülür. Uygulamanız daha sonra başlatmanın ne zaman tamamlandığını belirlemek için Future status() yoklayabilir. Uygulamanız tamamlandıktan sonra, elde edilen AdapterInitializationStatus değerini elde etmek için result() işlevini çağırabilir.

Bir Future döndüren yöntemler, uygulamaların belirli bir eylem için en son Future almak için kullanabileceği karşılık gelen bir "son sonuç" yöntemine sahiptir. Örneğin, firebase::gma::Initialize() , uygulamanızın firebase::gma::Initialize() yapılan son çağrının durumunu kontrol etmek için kullanabileceği bir Future döndüren firebase::gma::InitializeLastResult() adlı karşılık gelen bir yönteme sahiptir: firebase::gma::Initialize() .

Future durumu tamamlandıysa ve hata kodu firebase::gma::kAdErrorCodeNone ise, işlem başarıyla tamamlanmıştır.

Bir Future tamamlandığında çağrılacak geri aramaları da kaydedebilirsiniz. Bazı durumlarda, geri arama farklı bir dizide çalışacaktır, bu nedenle kodunuzun iş parçacığı açısından güvenli olduğundan emin olun. Bu kod parçacığı, geri arama 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 uygulamak için bir reklam biçimi seçin

AdMob, uygulamanızın kullanıcı deneyimine en uygun biçimi seçebilmeniz için bir dizi farklı reklam biçimi sunar. AdMob belgelerindeki ayrıntılı uygulama talimatlarını görüntülemek için bir reklam biçimi düğmesini tıklayın.

Cihaz ekranının üstünde veya altında görünen dikdörtgen reklamlar

Banner reklamlar, kullanıcılar uygulama ile etkileşim halindeyken ekranda kalır ve belirli bir süre sonra otomatik olarak yenilenebilir. Mobil reklamcılıkta yeniyseniz, başlamak için harika bir yer.

Banner reklamları uygulayın

geçiş reklamı

Kullanıcı tarafından kapatılana kadar bir uygulamanın arayüzünü kaplayan tam ekran reklamlar

Geçiş reklamları en iyi, bir oyunun seviyeleri arasında veya bir görev tamamlandıktan hemen sonra olduğu gibi, bir uygulamanın yürütme akışındaki doğal duraklamalarda kullanılır.

Geçiş reklamlarını uygulama

Ödüllü

Kullanıcıları kısa videolar izledikleri ve oynanabilir reklamlar ve anketlerle etkileşim kurdukları için ödüllendiren reklamlar

Ödüllü (veya "ödül tabanlı") reklamlar, oynaması ücretsiz kullanıcılardan para kazanmaya yardımcı olabilir.

Ödüllü reklamları uygulayın

Diğer ilgi konuları

Kullanıcı ölçümlerini ve analiz verilerini görüntüleyin

Başlatıldıktan sonra, Mobile Ads SDK'sı otomatik olarak uygulamanızdan analiz olaylarını ve kullanıcı özelliklerini günlüğe kaydetmeye başlar. Bu verileri, uygulamanıza herhangi bir ek kod eklemeden veya herhangi bir reklam uygulamadan görüntüleyebilirsiniz. Bu analiz verilerini burada görebilirsiniz:

ARPU ve ARPPU metriklerini daha iyi temsil etmek için, bu metriklerin gelir hesaplamasına ecommerce_purchase adlı analitik özel etkinliğinden gelen verileri dahil etmek isteyebileceğinizi unutmayın ( nasıl yapıldığını öğrenin ).

(İsteğe bağlı) Google Analytics ve Firebase'in daha fazla özelliğini kullanın

Uygulamadan para kazanmayı ve kullanıcı katılımını iyileştirmek için daha fazla fırsattan ve özellikten yararlanın:

  • Google Analytics için Firebase SDK'sını ekleyin ve kullanın

    Daha fazla bilgi edinmek için Google Analytics ve Firebase'i AdMob uygulamalarıyla kullanma kılavuzunu ziyaret edin.

  • Uygulamanızda diğer Firebase ürünlerini kullanın

    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, sınırsız günlük aktif kullanıcı için ücretsiz olarak bir uygulama güncellemesi yayınlamadan uygulamanızın davranışını ve görünümünü değiştirmenize olanak tanır.

    • A/B Testi, değişiklikleri geniş çapta kullanıma sunmadan önce temel metrikleriniz (gelir ve elde tutma gibi) üzerinde bir etki yaratıp yaratmadıklarını öğrenmek için uygulamanızın kullanıcı arayüzünde, özelliklerinde veya etkileşim kampanyalarında yapılan değişiklikleri test etme gücü verir.