Geri bildiriminizi paylaşın ve Google Mobile Ads SDK'sı yol haritasının şekillendirilmesine yardımcı olun. 5 Mayıs 2023'te sona ermeden önce 2023 Google Mobile Ads SDK'sı Yıllık Anketi'ne katılın.

Başlayın

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Google AB Kullanıcı Rızası Politikası uyarınca Avrupa Ekonomik Alanı'ndaki (AEA) kullanıcılarınızla Birleşik Krallık genelinde belirli açıklamalar yapmanız ve yasal olarak gerekli olduğu durumlarda çerez veya başka yerel depolama bilgilerinin yanı sıra reklam yayınlamak için kişisel verileri (AdID gibi) kullanma konusunda izin almanız gerekir. Bu politika AB eGizlilik Yönergesi ve Genel Veri Koruma Yönetmeliği'nin (GDPR) şartlarını yansıtmaktadır.

Google, yayıncıları bu politika kapsamındaki gereksinimleri yerine getirmeleri konusunda desteklemek için User Messaging Platform (UMP) SDK'sını sunar. UMP SDK'sı en son IAB standartlarını destekleyecek şekilde güncellendi. Tüm bu yapılandırmalar artık gizlilik ve mesajlaşma AdMob özelliğiyle kolayca yönetilebilir.

Ön koşullar

Kullanıcı mesajı türleri

Desteklenen mesajların tam listesi için Kullanıcı mesajı türleri başlıklı makaleyi inceleyin. Her mesaj türünün uygulanmasıyla ilgili özel talimatlar için soldaki gezinme çubuğuna bakın.

Bir mesajın gösterilmesi gerekip gerekmediğini belirleme

Her uygulama başlatmada bir form yüklemeden önce RequestConsentInfoUpdate() kullanarak kullanıcının izin bilgilerinin güncellenmesini istemeniz gerekir. Kullanıcılarınızın daha önce izin vermemiş olması veya izinlerinin süresinin dolması durumunda bu kullanıcıların izin vermesi gerekip gerekmediğini belirleyebilirsiniz.

Gerektiğinde formu sunarken ConsentInformation nesnede depolanan bilgileri kullanın.

Uygulama başlangıcında durumun nasıl kontrol edileceğine ilişkin bir örnek aşağıda verilmiştir:

using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Ump;
using GoogleMobileAds.Ump.Api;

public class UmpManager : MonoBehaviour
{
    void Start()
    {
        // Set tag for under age of consent.
        // Here false means users are not under age.
        ConsentRequestParameters request = new ConsentRequestParameters
        {
            TagForUnderAgeOfConsent = false,
        };

        // Check the current consent information status.
        ConsentInformation.RequestConsentInfoUpdate(request,
                                                    OnConsentInfoUpdated);
    }

    void OnConsentInfoUpdated(FormError error)
    {
        if (error != null)
        {
            // Handle the error.
            UnityEngine.Debug.LogError(error);
            return;
        }
        // If the error is null, the consent information state was updated.
    }
}

Varsa form yükleyin

Bir formu görüntülemeden önce, kullanılabilir bir form olup olmadığını belirlemeniz gerekir. Kullanılamayan formlar, kullanıcının sınırlı reklam izlemeyi etkinleştirmesi veya reşit olma yaşının altında olarak etiketlemiş olmasından kaynaklanabilir.

Bir formun kullanılabilirliğini kontrol etmek için daha öncethe IsConsentFormAvailable() method on the ConsentInformation instance oluşturduğunuz formu kullanın.

Ardından, formu yüklemek için bir sarmalayıcı yöntemi ekleyin:

void OnConsentInfoUpdated(FormError error)
{
    if (error != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(error);
       return;
    }
    // If the error is null, the consent information state was updated.
    // The consent information state was updated.
    // You are now ready to check if a form is available.
    if (ConsentInformation.IsConsentFormAvailable())
    {
        LoadConsentForm();
    }
}

void LoadConsentForm()
{
    // Loads a consent form.
}

Formu yüklemek için the static LoadConsentForm() method on the ConsentForm classkodunu kullanın.

void LoadConsentForm()
{
    // Loads a consent form.
    ConsentForm.LoadConsentForm(OnLoadConsentForm);
}

void OnLoadConsentForm(FormError error)
{
    if (error != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(error);
        return;
    }

    // The consent form was loaded.
    // You are now ready to show the form.
}

Gerekirse formu gönderin

Formun kullanılabilirliğini belirledikten ve yükledikten sonraConsentForm örneğindekiShow() yöntemini kullanarak formu sunun.

Daha öncekiConsentInformation nesneyi kullanarakconsent status LoadConsentForm() yönteminizi güncelleyin:

void LoadForm()
{
    // Loads a consent form.
    ConsentForm.LoadConsentForm(OnLoadConsentForm);
}

void OnLoadConsentForm()
{
    if (error != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(error);
        return;
    }

    // The consent form was loaded.
    // You are now ready to show the form.
    if(ConsentInformation.ConsentStatus == ConsentStatus.Required)
    {
        ConsentForm.Show(OnShowForm);
    }
}

void OnShowForm(FormError error)
{
    if (error != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(error);
        return;
    }

    // Handle dismissal by reloading form.
    LoadForm();
}

Kullanıcı bir seçim yaptıktan veya formu kapattıktan sonra herhangi bir işlem yapmanız gerekirse bu mantığı formunuzun tamamlanma işleyicisine veya geri çağırmasına yerleştirin.

Test

Coğrafi konumu zorunlu kılın

UMP SDK'sı, cihaz the DebugGeography field on ConsentDebugSettingskullanarak AEA veya Birleşik Krallık'taymış gibi uygulamanızın davranışını test etmenin bir yolunu sunar.

Hata ayıklama işlevini kullanmak için uygulamanızın hata ayıklama ayarlarında test cihazınızın karma kimliğini sağlamanız gerekir. Bu değeri ayarlamadanRequestConsentInfoUpdate() yöntemini çağırırsanız uygulamanız çalıştırıldığında gerekli kimlik karmasını günlüğe kaydeder.

void Start()
{
    var debugSettings = new ConsentDebugSettings
    {
        // Geography appears as in EEA for debug devices.
        DebugGeography = DebugGeography.DEBUG_GEOGRAPHY_EEA,
        TestDeviceHashedIds = new List<string>
        {
            "TEST-DEVICE-HASHED-ID"
        }
    };

    // Set tag for under age of consent.
    // Here false means users are not under age.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        TagForUnderAgeOfConsent = false,
        ConsentDebugSettings = debugSettings,
    };

    // Check the current consent information status.
    ConsentInformation.RequestConsentInfoUpdate(request,
                                                OnConsentInfoUpdated);
}

DebugGeography enumile aşağıdaki seçeneklerden birini zorunlu kılabilirsiniz:

Hata Ayıklama Coğrafyası Açıklama
DISABLED Hata ayıklama konumu devre dışı bırakıldı.
EEA Coğrafya, hata ayıklama cihazları için AEA'da olduğu gibi görünür.
Not_EEA Hata ayıklama cihazları için bu bölgenin AEA'da olmadığı anlaşılıyor.

Hata ayıklama ayarlarının yalnızca test cihazlarında çalıştığını unutmayın. Testler varsayılan olarak zaten etkinleştirildiğinden, emülatörlerin cihaz kimliği listenize eklenmesi gerekmez.

UMP SDK'sıyla uygulamanızı test ederken, bir kullanıcının ilk yükleme deneyimini simüle etmek için SDK durumunu sıfırlamanız yararlı olabilir. SDK, bunu yapmanın Reset() yöntemini sunar.

ConsentInformation.Reset();

UMP SDK'sını projenizden tamamen kaldırmaya karar verirseniz Reset() yöntemini de çağırmanız gerekir.