Başlama

Platform seçin: Android iOS Unity Flutter

Google Kullanıcı Mesajlaşma Platformu (UMP) SDK'sı, gizlilik tercihlerini yönetmenize yardımcı olan bir gizlilik ve mesajlaşma aracıdır. Daha fazla bilgi için Gizlilik ve Mesajlaşma hakkında başlıklı makaleyi inceleyin.

Ön koşullar

  • Android API düzeyi 21 veya üstü

Mesaj türü oluşturma

AdMob hesabınızın Gizlilik ve Mesajlaşma sekmesindeki Kullanılabilen kullanıcı mesajı türleri bölümünde yer alan türlerden birini kullanarak kullanıcı mesajları oluşturun. UMP SDK, projenizde ayarlanan AdMob uygulama kimliğinden oluşturulan bir gizlilik mesajı göstermeye çalışır.

Daha fazla bilgi için Gizlilik ve mesajlaşma hakkında başlıklı makaleyi inceleyin.

Gradle ile yükleme

Google Kullanıcı Mesajlaşma Platformu SDK'sına ait bağımlılığı, modülünüzün uygulama düzeyindeki Gradle dosyasına (genellikle app/build.gradle) ekleyin:

dependencies {
  implementation("com.google.android.ump:user-messaging-platform:3.1.0")
}

Uygulamanızın build.gradle dosyasında değişiklik yaptıktan sonra projenizi Gradle dosyalarıyla senkronize etmeyi unutmayın.

Uygulama kimliğini ekleme

Uygulama kimliğinizi AdMob kullanıcı arayüzünde bulabilirsiniz. Aşağıdaki kod snippet'iyle kimliği AndroidManifest.xml ekleyin:

<manifest>
  <application>
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
  </application>
</manifest>

Kullanıcının izin bilgilerini almak için aşağıdakileri yapın:

ConsentInformation örneği bildirin:

Java

private final ConsentInformation consentInformation;

Kotlin

private lateinit val consentInformation: ConsentInformation

ConsentInformation örneğini başlatın:

Java

consentInformation = UserMessagingPlatform.getConsentInformation(context);

Kotlin

consentInformation = UserMessagingPlatform.getConsentInformation(context)

requestConsentInfoUpdate() kullanarak her uygulama başlatıldığında kullanıcının izin bilgilerinin güncellenmesini istemelisiniz. Bu istekte aşağıdakiler kontrol edilir:

  • İzin gerekip gerekmediği. Örneğin, ilk kez izin isteniyordur veya önceki izin kararı geçerliliğini yitirmiştir.
  • Gizlilik seçenekleri giriş noktasının gerekli olup olmadığı. Bazı gizlilik mesajları, uygulamaların kullanıcıların gizlilik seçeneklerini istedikleri zaman değiştirmelerine izin vermesini gerektirir.

Java


// Requesting an update to consent information should be called on every app launch.
consentInformation.requestConsentInfoUpdate(
    activity,
    params,
    () -> // Called when consent information is successfully updated.
    requestConsentError -> // Called when there's an error updating consent information.

Kotlin


// Requesting an update to consent information should be called on every app launch.
consentInformation.requestConsentInfoUpdate(
  activity,
  params,
  {
    // Called when consent information is successfully updated.
  },
  { requestConsentError ->
    // Called when there's an error updating consent information.
  },
)

Gizlilik mesajı formunu yükleyip sunma

En güncel izin durumunu aldıktan sonra kullanıcı izni almak için gereken formları yüklemek üzere loadAndShowConsentFormIfRequired() işlevini çağırın. Yüklendikten sonra formlar hemen gösterilir.

Java


UserMessagingPlatform.loadAndShowConsentFormIfRequired(
    activity,
    formError -> {
      // Consent gathering process is complete.
    });

Kotlin


UserMessagingPlatform.loadAndShowConsentFormIfRequired(activity) { formError ->
  // Consent gathering process is complete.
}

Gizlilik seçenekleri

Bazı gizlilik mesajı formları, yayıncı tarafından oluşturulan bir gizlilik seçenekleri giriş noktasından sunulur. Bu sayede kullanıcılar, gizlilik seçeneklerini istedikleri zaman yönetebilir. Kullanıcılarınızın gizlilik seçenekleri giriş noktasında hangi mesajı gördüğü hakkında daha fazla bilgi edinmek için Mevcut kullanıcı mesajı türleri başlıklı makaleyi inceleyin.

Gizlilik seçenekleri giriş noktasının gerekli olup olmadığını kontrol etme

requestConsentInfoUpdate() işlevini çağırdıktan sonra getPrivacyOptionsRequirementStatus() işlevini kontrol ederek uygulamanız için gizlilik seçenekleri giriş noktası gerekip gerekmediğini belirleyin. Giriş noktası gerekiyorsa gizlilik seçenekleri formunu sunan görünür ve etkileşimli bir kullanıcı arayüzü öğesini uygulamanıza ekleyin. Gizlilik giriş noktası gerekmiyorsa kullanıcı arayüzü öğenizi görünür ve etkileşimli olmayacak şekilde yapılandırın.

Java


/** Helper variable to determine if the privacy options form is required. */
public boolean isPrivacyOptionsRequired() {
  return consentInformation.getPrivacyOptionsRequirementStatus()
      == PrivacyOptionsRequirementStatus.REQUIRED;
}

Kotlin


/** Helper variable to determine if the privacy options form is required. */
val isPrivacyOptionsRequired: Boolean
  get() =
    consentInformation.privacyOptionsRequirementStatus ==
      ConsentInformation.PrivacyOptionsRequirementStatus.REQUIRED

Gizlilik seçenekleri şart durumlarının tam listesi için ConsentInformation.PrivacyOptionsRequirementStatus bölümüne bakın.

Gizlilik seçenekleri formunu sunma

Kullanıcı öğenizle etkileşimde bulunduğunda gizlilik seçenekleri formunu gösterin:

Java


UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener);

Kotlin


UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener)

Kullanıcı izniyle reklam isteğinde bulunma

Reklam isteğinde bulunmadan önce, kullanıcıdan izin alıp almadığınızı kontrol etmek için canRequestAds() kullanın:

Java

consentInformation.canRequestAds();

Kotlin

consentInformation.canRequestAds()

İzin toplarken reklam isteğinde bulunup bulunamayacağınızı kontrol etmek için aşağıdaki yerlere bakabilirsiniz:

  • UMP SDK'sı, mevcut oturumda izin topladıktan sonra.
  • requestConsentInfoUpdate()'ı aradıktan hemen sonra UMP SDK, önceki uygulama oturumunda izin almış olabilir.

İzin toplama işlemi sırasında bir hata oluşursa reklam isteğinde bulunup bulunamayacağınızı kontrol edin. UMP SDK, önceki uygulama oturumundaki izin durumunu kullanır.

Gereksiz reklam isteği işlemlerini önleme

Kullanıcı rızasını aldıktan ve requestConsentInfoUpdate() işlevini çağırdıktan sonra canRequestAds() işlevini kontrol ederken mantığınızın, her iki kontrolün de true döndürmesine neden olabilecek gereksiz reklam isteklerini engellediğinden emin olun. Örneğin, bir boolean değişkeniyle.

Test

Geliştirme sürecinde entegrasyonu uygulamanızda test etmek istiyorsanız test cihazınızı programatik olarak kaydetmek için bu adımları uygulayın. Uygulamanızı yayınlamadan önce bu test cihazı kimliklerini ayarlayan kodu kaldırdığınızdan emin olun.

  1. requestConsentInfoUpdate() Hizmetleri İçin Arayın.
  2. Günlük çıktısında, cihaz kimliğinizi ve bunu nasıl test cihazı olarak ekleyeceğinizi gösteren aşağıdaki örneğe benzer bir mesaj olup olmadığını kontrol edin:

    Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.
    
  3. Test cihazı kimliğinizi panoya kopyalayın.

  4. Kodunuzu, ConsentDebugSettings.Builder().TestDeviceHashedIds işlevini çağıracak ve test cihazı kimliklerinizin listesini iletecek şekilde değiştirin.

    Java

    ConsentDebugSettings debugSettings = new ConsentDebugSettings.Builder(this)
        .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
        .build();
    
    ConsentRequestParameters params = new ConsentRequestParameters
        .Builder()
        .setConsentDebugSettings(debugSettings)
        .build();
    
    consentInformation = UserMessagingPlatform.getConsentInformation(this);
    // Include the ConsentRequestParameters in your consent request.
    consentInformation.requestConsentInfoUpdate(
        this,
        params,
        // ...
    );
    

    Kotlin

    val debugSettings = ConsentDebugSettings.Builder(this)
        .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
        .build()
    
    val params = ConsentRequestParameters
        .Builder()
        .setConsentDebugSettings(debugSettings)
        .build()
    
    consentInformation = UserMessagingPlatform.getConsentInformation(this)
    // Include the ConsentRequestParameters in your consent request.
    consentInformation.requestConsentInfoUpdate(
        this,
        params,
        // ...
    )
    

Coğrafya zorlama

UMP SDK, setDebugGeography() kullanarak uygulamanızın davranışını cihaz AEA veya Birleşik Krallık gibi çeşitli bölgelerdeymiş gibi test etmenizi sağlar. Hata ayıklama ayarlarının yalnızca test cihazlarında çalıştığını unutmayın.

Java

ConsentDebugSettings debugSettings = new ConsentDebugSettings.Builder(this)
    .setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA)
    .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
    .build();

ConsentRequestParameters params = new ConsentRequestParameters
    .Builder()
    .setConsentDebugSettings(debugSettings)
    .build();

consentInformation = UserMessagingPlatform.getConsentInformation(this);
// Include the ConsentRequestParameters in your consent request.
consentInformation.requestConsentInfoUpdate(
    this,
    params,
    ...
);

Kotlin

val debugSettings = ConsentDebugSettings.Builder(this)
    .setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA)
    .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
    .build()

val params = ConsentRequestParameters
    .Builder()
    .setConsentDebugSettings(debugSettings)
    .build()

consentInformation = UserMessagingPlatform.getConsentInformation(this)
// Include the ConsentRequestParameters in your consent request.
consentInformation.requestConsentInfoUpdate(
    this,
    params,
    ...
)

Uygulamanızı UMP SDK'sı ile test ederken, kullanıcının ilk yükleme deneyimini simüle edebilmek için SDK'nın durumunu sıfırlamanız faydalı olabilir. SDK, bunu yapmak için reset() yöntemini sağlar.

Java

consentInformation.reset();

Kotlin

consentInformation.reset()

GitHub'daki örnekler

Bu sayfada ele alınan UMP SDK entegrasyonunun tam örneğini Java BannerExample ve Kotlin BannerExample'de görebilirsiniz.