Uygulamalar için izin modunu ayarlama

Bu sayfa, uygulamalarında Firebase için Google Analytics SDK'sını kullanan ve izin modunu entegre etmek isteyen geliştiriciler içindir. İzin moduna giriş için İzin moduna genel bakış başlıklı makaleyi inceleyin.

Google Analytics, SDK'nızın davranış şeklini kullanıcılarınızın izin durumuna göre ayarlamak için izin modu sunar. İzin modunu temel veya gelişmiş şekilde uygulayabilirsiniz. Temel mi yoksa gelişmiş izin modunu mu uygulayacağınızdan emin değilseniz temel ve gelişmiş izin modu hakkında daha fazla bilgi edinin ve şirketinizin yönergelerini inceleyin.

Başlamadan önce

Kullanıcı rızasını yönetebilmeniz için şunları uygulamanız gerekir:

  • Firebase için Google Analytics SDK'sı
  • Kullanıcı iznini almak için izin ayarları banner'ı

İzin modunu ayarlamak için şunları yapmanız gerekir:

  1. Varsayılan izin durumunu ayarlayın.

Varsayılan olarak herhangi bir izin modu değeri ayarlanmaz. Uygulamanız için varsayılan izin durumunu ayarlamak üzere:

  1. Uygulamanızın AndroidManifest.xml dosyasını açın.
  2. İzin modu anahtar/değer çiftlerini ekleyin. Anahtar, izin türünü, değer ise izin durumunu belirtir. Değerler, izin verildi anlamına gelen true veya izin reddedildi anlamına gelen false olabilir.

    Avrupa Ekonomik Alanı'ndaki (AEA) trafik için izin modunda yapılan güncellemelere uygun şekilde, ad_user_data ve ad_personalization için eu_consent_policy değeri ayarlanabilir. Bu durumda, izin yalnızca AB Kullanıcı Rızası Politikası'na tabi bölgelerdeki kullanıcılar için reddedilir.

    Aşağıdakileri ayarlayın:

    • google_analytics_default_allow_analytics_storage
    • google_analytics_default_allow_ad_storage
    • google_analytics_default_allow_ad_user_data
    • google_analytics_default_allow_ad_personalization_signals
  3. Değişikliklerinizi kaydedin. Ardından, izin değerlerini güncelleme mekanizmasını uygulayın.

Örneğin, varsayılan olarak tüm parametreler için tüm izin izinlerini ayarlamak üzere:

<meta-data android:name="google_analytics_default_allow_analytics_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" />

Uygulama kullanıma sunulduktan sonra izin değerlerini güncellemek için setConsent yöntemini çağırın.

setConsent yöntemi tarafından ayarlanan değer, varsayılan ayarı geçersiz kılar ve uygulama çalıştırmalarında devam eder. Kullanıcı uygulamayı kapatıp yeniden açsa bile setConsent yeniden çağrılana kadar değer bu durumda kalır. setConsent yalnızca belirttiğiniz parametreleri günceller.

Bir kullanıcı daha önce Analytics veya reklam depolama için verdiği izni geri çekerse Google Analytics, ad_personalization izni de dahil olmak üzere tüm kullanıcı özelliklerini siler. Kullanıcının reklam kişiselleştirmeyle ilgili izin seçimini korumak için setConsent (Kotlin+KTX | Java) kullanarak reklam kişiselleştirmenin önceki değerini geri yükleyin.

Aşağıdaki örnekte, farklı izin değerlerini granted olarak güncelleyen setConsent yöntemi gösterilmektedir:

Java

// Set consent types.
Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class);
consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED);

mFirebaseAnalytics.setConsent(consentMap);

Kotlin

Firebase.analytics.setConsent {
  analyticsStorage(ConsentStatus.GRANTED)
  adStorage(ConsentStatus.GRANTED)
  adUserData(ConsentStatus.GRANTED)
  adPersonalization(ConsentStatus.GRANTED)
}

Bir kullanıcı iznini iptal etmeye karar verirse izin durumlarını buna göre güncellediğinizden

Google'ın gizlilik açısından güvenli dijital reklamcılık ekosistemine yönelik devam eden taahhüdü kapsamında, AB kullanıcı rızası politikamızın yaptırımını daha sıkı hale getiriyoruz.

Google'ın Avrupa Ekonomik Alanı'ndaki (AEA) trafik için izin modu güncellemeleri hakkında daha fazla bilgi edinin.

İzin modu kullanıcılarının reklam depolama ve Analytics depolama alanına ek olarak iki yeni parametre göndermesi gerekir:

  1. Uygulamanızın AndroidManifest.xml dosyasını aşağıdakileri içerecek şekilde güncelleyin:

    <meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" />
    <meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" />
    ```
    
  2. İzin çağrılarınızı, reklam kullanıcısı verileri ve reklam kişiselleştirme parametrelerini içerecek şekilde güncelleyin:

    Java

    // Set consent types.
    Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class);
    consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED);
    consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED);
    consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED);
    consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED);
    
    mFirebaseAnalytics.setConsent(consentMap);
    

    Kotlin

    Firebase.analytics.setConsent {
      analyticsStorage(ConsentStatus.GRANTED)
      adStorage(ConsentStatus.GRANTED)
      adUserData(ConsentStatus.GRANTED)
      adPersonalization(ConsentStatus.GRANTED)
    }
    

Uygulamanızın günlük mesajlarını görüntüleyerek izin ayarlarınızın beklendiği gibi çalıştığını doğrulayabilirsiniz.

Şu adımları uygulayın:

  1. Cihazınızda ayrıntılı günlük kaydını etkinleştirin.
  2. Android Studio logcat'te Setting consent ile başlayan günlük mesajını bulun. Örneğin, Reklam depolama alanı etkinse aşağıdaki günlük mesajını görürsünüz:

    Setting consent, ... AD_STORAGE=granted