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ştiricilere yöneliktir. İzin moduna giriş için İzin moduna genel bakış bölümünü okuyun.

Google Analytics, kullanıcılarınızın izin durumuna göre SDK'nızın nasıl davranacağını belirlemek için izin modu sunar. İzin modunu temel veya gelişmiş şekilde uygulayabilirsiniz. Temel veya 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 yakalamak için izin ayarları banner'ı

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

  1. Kullanıcı izin vermeden önce: Analytics veri toplama işlemini geçici olarak devre dışı bırakın.
  2. Varsayılan izin durumunu ayarlayın.
  3. Kullanıcının izin ayarlarınızla etkileşimine göre izin durumunu güncelleyin.
  4. Analytics veri toplama özelliğini yeniden etkinleştirin.

Analytics toplama işlemini geçici olarak devre dışı bırakma

İzin modunun temel olarak uygulanması, bir kullanıcı izin verene kadar Firebase için Google Analytics SDK'sının yüklenmesini engellemek anlamına gelir.

Analytics toplama işlemini geçici olarak devre dışı bırakmak için uygulamanızın Info.plist dosyasında FIREBASE_ANALYTICS_COLLECTION_ENABLED değerini false (boole) olarak ayarlayın. Örneğin, kaynak XML'de görüntülenir:

<key>FIREBASE_ANALYTICS_COLLECTION_ENABLED</key><false/>

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

  1. Uygulamanızın info.plist 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ği anlamına gelen true veya iznin reddedildiği 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, iznin yalnızca AB Kullanıcı Rızası Politikası'na tabi bölgelerdeki kullanıcılar için reddedildiği anlamına gelir.

    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:

<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>

Analytics koleksiyonunu yeniden etkinleştirme

Kullanıcılar izin verdikten sonra setAnalyticsCollectionEnabled() örnek yöntemini kullanarak Analytics toplama işlemini tekrar etkinleştirin.

setAnalyticsCollectionEnabled yöntemi tarafından ayarlanan değer, uygulama yürütmelerinde de aynı kalır ve uygulamanızın Info.plist dosyasındaki firebase_analytics_collection_enabled değerini geçersiz kılar. setAnalyticsCollectionEnabled için bir değer ayarladığınızda, kullanıcı uygulamanızı kapatıp yeniden açsa bile setAnalyticsCollectionEnabled tekrar çağrılana kadar Analytics koleksiyonu bu durumda kalır.

Analytics koleksiyonunu güncellemek için:

Swift

swift Analytics.setAnalyticsCollectionEnabled(true)

Objective-C

obj-c [FIRAnalytics setAnalyticsCollectionEnabled:YES];

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 yürütmelerinde geçerliliğini korur. Değer, bir kullanıcı uygulamayı kapatıp yeniden açsa bile setConsent tekrar çağrılana kadar bu durumda kalır. setConsent yalnızca belirttiğiniz parametreleri günceller.

Bir kullanıcı Analytics veya reklam depolama alanı için önceden verdiği izni geri çekerse Google Analytics, ad_personalization izni de dahil olmak üzere tüm kullanıcı mülklerini siler. Kullanıcının reklam kişiselleştirmeyle ilgili rıza seçimini korumak için setConsent (Swift | Obj-C) kullanarak reklam kişiselleştirmede kullanılan önceki değeri geri yükleyin.

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

Swift

Analytics.setConsent([
  .analyticsStorage: .granted,
  .adStorage: .granted,
  .adUserData: .granted,
  .adPersonalization: .granted,
])

Objective-C

[FIRAnalytics setConsent:@{
FIRConsentTypeAnalyticsStorage : FIRConsentStatusGranted,
FIRConsentTypeAdStorage : FIRConsentStatusGranted,
FIRConsentTypeAdUserData : FIRConsentStatusGranted,
FIRConsentTypeAdPersonalization : FIRConsentStatusGranted,
}];

Bir kullanıcı iznini iptal etmeye karar verirse izin durumlarını uygun şekilde güncellediğinizden emin olunve setAnalyticsCollectionEnabled() aracını kullanarak Analytics toplama işlemini tekrar devre dışı bırakın.

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 analiz depolama alanına ek olarak iki yeni parametre göndermesi gerekir:

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

    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/>
    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>
    
  2. İzin çağrılarınızı, reklam kullanıcı verileri ve reklam kişiselleştirme parametrelerini içerecek şekilde güncelleyin:

    Swift

    Analytics.setConsent([
    .analyticsStorage: .granted,
    .adStorage: .granted,
    .adUserData: .granted,
    .adPersonalization: .granted,
    ])
    

    Objective-C

    [FIRAnalytics setConsent:@{
      FIRConsentTypeAnalyticsStorage : FIRConsentStatusGranted,
      FIRConsentTypeAdStorage : FIRConsentStatusGranted,
      FIRConsentTypeAdUserData : FIRConsentStatusGranted,
      FIRConsentTypeAdPersonalization : FIRConsentStatusGranted,
    }];
    

Uygulamanızın Xcode hata ayıklama konsolunu 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. Xcode hata ayıklama konsolunda şunları arayın:

    • ad_storage
    • analytics_storage
    • ad_user_data
    • ad_personalization

    Örneğin, Reklam depolama alanı etkinse aşağıdaki mesajı görürsünüz:

    ad_storage is granted.