C++ projenizde AdMob'u kullanmaya başlama


Bu hızlı başlangıç kılavuzu, AdMob'u kullanmak isteyen yayıncılar ve geliştiriciler için hazırlanmıştır Firebase ile oluşturulmuş bir uygulamadan para kazanmanızı sağlar. Uygulamanıza Firebase'i dahil etmeyi düşünmüyorsanız bağımsız AdMob rehberini inceleyin.

Henüz yapmadıysanız AdMob, Firebase ve Google Ads'i kullanmanın avantajları ve Google Analytics'i birlikte kullanabilirsiniz.

Bu kılavuzdan ilk kez yararlanıyorsanız Google Mobile Ads C++ SDK testini kullanarak aşağıdaki adımları uygulayın: uygulamasında gösterilir.

Başlamadan önce

1. Adım: AdMob hesabınızda uygulamanızı ayarlayın

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

    1. Oturum açın veya kaydolun: AdMob hesabı.

    2. Uygulamanızın her platform varyantını AdMob. Bu adımında, benzersiz bir AdMob Uygulama kimliği ihtiyacınız olacak.

    Mobile Ads SDK'sını uygulamanıza eklemeniz istenir. Bul ayrıntılı talimatları bu kılavuzun ilerleyen bölümlerinde 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 kesinlikle önerilir. Şu konu hakkında daha fazla bilgi edinin: avantajlar kullanıcı metriklerini etkinleştirmenin ve AdMob uygulamalarınızı Firebase'e bağlamanın önemli bir yoludur.

    Her platform varyantı için Uygulamalar'da aşağıdaki iki adımı tamamlayın Kontrol Paneli'nde bulabilirsiniz:

    1. Etkinleştir Kullanıcı Metrikleri Böylece AdMob'un, Google Ads'deki seçilmiş analiz verilerini işleyip AdMob hesabı. Bu, ayrıca, Google Etiket Yöneticisi'ni kullanarak AdMob uygulamasından Firebase'e.

    2. AdMob uygulaması mevcut Firebase projenize ve ilgili Firebase uygulamasına eklemeniz gerekir.

      Aynı paket adını (Android) veya paket kimliğini girdiğinizden emin olun (iOS). Firebase uygulamanızın paketinizin adını veya paket kimliğini belirtip hesabınızın Uygulamalarınız kartındaki > Proje ayarları.

2. Adım: AdMob uygulama kimliğinizi uygulamanıza ekleyin

Android

AdMob Uygulama Kimliği uygulamanızın AndroidManifest.xml dosyasına <meta-data> etiketini aşağıda gösterilmiştir.

<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 bir GADApplicationIdentifier anahtarı ekleyin. dize değeri AdMob Uygulama Kimliği.

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:

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 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

  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ü (uygulama düzeyinde) Gradle dosyanıza (genellikle app/build.gradle), ve bu komut dosyası için kitaplık bağımlılığını Google Mobile Ads C++ SDK'sı.

    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.

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, Google Mobile Ads C++ SDK'sının nasıl ekleneceğine ilişkin bir örnektir içe aktarmanızı sağlar.

  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 YOUR_APP_DIRECTORY
      pod init
    2. Podfile'ınıza Google Mobile Ads C++ SDK'sı için kapsülü ekleyin:

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

      pod install
      open YOUR_APP.xcworkspace
    4. 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, aşağıdaki kodu çağırarak Mobile Ads SDK'sını başlatın: firebase::gma::Initialize()

Bu çağrı, başlatma işleminden sonra tamamlanan bir firebase::Future döndürür. tamamlandığında (veya 30 saniyelik zaman aşımından sonra). Bu yöntemi yalnızca bir defa ve mümkün olduğunca erken; ideal olarak uygulama kullanımına sunulur.

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

5. Adım: Uygulamanıza uygulanacak bir reklam biçimi seçin

AdMob bir dizi farklı reklam biçimi sunar. Bu biçimleri kullanarak kullanıcı deneyimine en uygun olanı seçin. Reklam biçimi için bir düğmeyi tıklayarak AdMob belgelerinde ayrıntılı uygulama talimatlarını görüntüleyebilirsiniz.

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ş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ı, uygulamanın akışındaki doğal duraklamalarda Örneğin, oyunun seviyeleri 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

Ödüllü (veya "ödüllü") reklamlar, ücretsiz içerik kullanıcılarından para kazanmanıza yardımcı olabilir.

Ödüllü reklamları uygulama

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 başlar günlük kaydı analizi events ve kullanıcı özellikleri nasıl sağlayabileceğini de öğreneceksiniz. Bu verileri, hesabınıza başka kod eklemeden görüntüleyebilirsiniz. kontrol edin. Bu analiz verilerini görebileceğiniz yerler:

Bu bilgileri daha iyi temsil etmek için KBOG ve ARPPU metriklerinde, adlı bir Analytics özel etkinliğinden gelen verileri dahil etmek isteyebilirsiniz. ecommerce_purchase bu metriklerin gelir hesaplamasında (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 için daha fazla fırsat ve özellikten kullanıcı etkileşimi: