Başlarken

.


Bu kılavuz, C++ uygulamasından AdMob ile para kazanmak isteyen yayıncılar için Firebase için Google Analytics'i kullanabilirsiniz. Uygulamanıza Firebase'i dahil etmeyi planlıyorsanız daha fazla bilgi almak için AdMob'un Firebase sürümü rehberini incelemenizi öneririz.

Google Mobile Ads C++ SDK'sını bir uygulamaya entegre etmek reklam gösterip gelir elde edebilirsiniz. SDK'yı entegre ettikten sonra şunları yapabilirsiniz: Geçiş reklamı veya ödüllü gibi bir reklam biçimi seçin ve aşağıdaki adımları uygulayın: uygulayacaksınız.

Google Mobile Ads C++ SDK'sı Google Mobile Ads iOS ve Android SDK'larını ve yalnızca bu platformlarda kullanılabilir. Google Mobile Ads C++ SDK'sı eşzamansız işlemleri desteklemek için Firebase C++ yapılarının kullanılması, firebase::gma ad alanında yer alır.

Bu kılavuzdan ilk kez yararlanıyorsanız Google Mobil Reklamlar C++ testini kullanarak uygulamayı indirin ve uygulamasında gösterilir.

Ön koşullar

Android

  • Android Studio 3.2 veya sonraki bir sürümü kullanma
  • Uygulamanızın derleme dosyasının aşağıdaki değerleri kullandığından emin olun:
    • 16 veya daha yüksek bir minSdkVersion
    • 28 veya daha yüksek bir compileSdkVersion

iOS

  • Xcode 13 veya sonraki bir sürümü kullanın
  • iOS 10.0 veya sonraki sürümleri hedefleme

AdMob hesabınızda uygulamanızı ayarlayın

Aşağıdaki adımları tamamlayarak uygulamanızı bir AdMob uygulaması olarak kaydedin:

  1. Oturum açın veya kaydolun kullandığınızdan emin olun.

  2. Uygulamanızı Google Haritalar'daki AdMob. Bu adım, bir AdMob benzersiz bir AdMob uygulama kimliğine sahip uygulama ele alacağız.

Google Mobile Ads C++ SDK'sını yükleme

Google Mobile Ads C++ SDK'sı firebase::gma ad alanında bulunduğu için Firebase C++ SDK'sını indirin, ve istediğiniz bir dizine açılır.

Firebase C++ SDK'sı platforma özel değildir ancak platforma özgü kitaplık yapılandırmalarıdır.

Android

CMake'i kullanmanızı öneririz, ancak ndk-build ile ilgili talimatları şurada bulabilirsiniz: genel Firebase C++ SDK'sına Giriş Rehber libfirebase_app.a ve libfirebase_gma.a hizmetlerini uygulamanıza bağlayın.

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

    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ünüz (uygulama düzeyinde) Gradle dosyanıza: app/build.gradle: Aşağıdakileri ekleyin. Bu içerikler arasında şunlar yer alır: Google Mobile Ads C++ SDK'sı için kitaplık bağımlılığı.

    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ıların gerekli sürümlere sahip olduğundan emin olmak için uygulamanızı senkronize edin.

iOS

Bu bölümdeki adımlar, Google Mobil Reklamlar'ın nasıl ekleneceğine ilişkin bir örnektir. C++ SDK'sını ekleyerek iOS projenize ekleyin.

  1. Aşağıdaki komutu çalıştırarak CocoaPods 1 veya üzeri bir sürüme sahip olabilirsiniz:

    sudo gem install cocoapods --pre
    
  2. Sıkıştırılmamış SDK'dan Google Mobile Ads kapsülünü ekleyin.

    1. Henüz yoksa bir Podfile oluşturun:

      cd APP_DIRECTORY
      pod init
      
    2. Podfile dosyanıza, Google Kullanıcı Mesajlaşma Platformu SDK'sı ve minimum Firebase temel SDK'sı (GMA C++ SDK'sı için gereklidir):

      pod 'Firebase/CoreOnly'
      pod 'Google-Mobile-Ads-SDK'
      pod 'GoogleUserMessagingPlatform'
      
    3. Kapsülleri yükleyin, ardından .xcworkspace dosyasını Xcode'da açın.

      pod install
      open APP.xcworkspace
      
    4. Firebase C++ SDK'sından şu çerçeveleri projeye ekleyin:

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

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

Uygulamanızın AdMob uygulama kimliğini yapılandırma

Android

Mobile Ads SDK'sı tarafından açıklanan şekilde Uygulamanızı yapılandırma işleminin 3. adımını uygulayın Android rehberi ve bu sayfaya geri dönün.

iOS

Mobile Ads SDK'sında açıklandığı şekilde Info.plist dosyanızı güncelleyin adımını uygulayın iOS rehberine göz atıp ardından geri dönün. bu sayfaya.

Google Mobile Ads SDK'sını başlatma

Reklamları yüklemeden önce uygulamanızın Google Mobile Ads C++ SDK'sını şu şekilde başlatmasını sağlayın: firebase::gma::Initialize() çağrısı, SDK'yı başlatır ve Başlatma tamamlandığında (veya 30 saniye sonra) firebase::Future zaman aşımı) ekleyebilirsiniz. Bunun yalnızca bir kez yapılması gerekir. İdeal olarak uygulama lansmanında bu yapılır.

Reklamlar, Google Mobile Ads C++ SDK'sı veya uyumlulaştırma iş ortağı SDK'ları tarafından önceden yüklenebilir Initialize() arandığında. Google Ads'deki kullanıcılardan Avrupa Ekonomik Alanı (AEA) için farklı ayarları kabul ederek isteğe özel işaretleri (ör. tag_for_child_directed_treatment veya tag_for_under_age_of_consent) veya Aksi takdirde, reklamları yüklemeden önce Google Mobil'i başlatmadan önce firebase::gma::SetRequestConfiguration() Ads C++ SDK'sı. Daha fazla bilgi için Hedefleme kılavuzu.

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, projenizin tamamlanma durumunu, eşzamansız yöntem çağrıları.

Örneğin, uygulamanız firebase::gma::Initialize() çağırdığında, yeni bir firebase::Future oluşturuldu ve döndürüldü. Uygulamanız o zaman Başlatma işleminin ne zaman tamamlandığını belirlemek için Future/status(). İşlem tamamlandığında, uygulamanız aşağıdaki sonuçları almak için result() yöntemini çağırabilir: AdapterInitializationStatus.

Future değeri döndüren yöntemlere karşılık gelen bir "son sonuç" bulunur. yöntemlerin uygulamaların, belirli bir işlem için en son Future bilgisini almak için kullanabileceği anlamına gelir. Örneğin, Örneğin, firebase::gma::Initialize(), firebase::gma::InitializeLastResult(), uygulamanızın sunduğu Future değerini döndürür işlevini kullanarak firebase::gma::Initialize() için yapılan son çağrının durumunu kontrol edebilirsiniz.

Future durumu tamamlandıysa ve hata kodu firebase::gma::kAdErrorCodeNone, işlem tamamlandı bahsettik.

Ayrıca, bir Future tamamlandığında çağrılacak geri çağırmaları da kaydedebilirsiniz. İçinde bazı durumlarda, geri çağırma farklı bir iş parçacığında çalışacak. Bu yüzden, kodunuzun iş parçacığı açısından güvenli olduğunu unutmayın. Bu kod snippet'i, geri arama:

// 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.
  }
}

Reklam biçimi seçin

Google Mobile Ads C++ SDK'sı içe aktarıldı. Artık bir reklam. AdMob çok sayıda farklı reklam biçimi sunar. Dolayısıyla, aralarından birini seçebilirsiniz. en uygun reklam biçimini seçin.

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 kalır ve bir süre sonra otomatik olarak yenilenir. Mobilde yeniyseniz bu aşamalar mükemmel bir başlangıç.

Banner reklam uygulama

Geçiş reklamı

Kullanıcı tarafından kapatılana kadar uygulamanın arayüzünü kaplayan tam ekran reklamlar. En iyi kullanım alanı, uygulama akışındaki doğal duraklamalarda (ör. seviyeler arasında veya bir görev tamamlandıktan hemen sonra

Geçiş reklamlarını uygulama

Ödüllü

Kullanıcıları kısa videolar izledikleri ve oynatılabilir reklamlarla etkileşimde bulundukları için ödüllendiren reklamlar reklamlar ve anketler. Ücretsiz uygulamalardan para kazanmak için kullanılır.

Ödüllü reklamları uygulama