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 modunu sunar. İzin modunu temel veya gelişmiş şekilde uygulayabilirsiniz. Temel veya gelişmiş izin modunu uygulayacağınızdan emin değilseniz temel ve gelişmiş izin modu hakkında daha fazla bilgi edinin ve şirketinizin yönergelerini kontrol edin.

Başlamadan önce

Kullanıcı iznini yönetebilmek için aşağıdakileri uygulamanız gerekir:

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

İzin modunu ayarlamak için aşağıdakileri yapmanız gerekir:

  1. Kullanıcı izin vermeden önce: Analytics toplama özelliğini 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 toplama özelliğini yeniden etkinleştirin.

Analytics toplama özelliğini geçici olarak devre dışı bırakma

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

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

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

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

  1. Uygulamanızın info.plist dosyasını açın.
  2. İzin modu anahtar/değer çiftlerini ekleyin. Anahtar, izin türünü açıklar ve değer, izin durumunu gösterir. Değerler, iznin verildiği anlamına gelen true veya iznin reddedildiği anlamına gelen false olabilir.

    Avrupa Ekonomik Alanı'ndaki (AEA) trafik için izin modu güncellemeleri uyarınca, eu_consent_policy değeri ad_user_data ve ad_personalization için ayarlanabilir. Bu durumda, yalnızca AB kullanıcı rızası politikasına tabi bölgelerdeki kullanıcılar için izin 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, tüm parametreler için varsayılan olarak tüm izinleri verme ayarını yapmak ü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 toplama özelliğini yeniden etkinleştirme

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

Yöntemle ayarlanan değer, uygulama yürütmeleri boyunca kalıcı olur ve uygulamanızın setAnalyticsCollectionEnabled dosyasındaki firebase_analytics_collection_enabled değerini geçersiz kılar.Info.plist 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 toplama işlemi bu durumda kalır.

Analytics toplama özelliğini 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öntemiyle ayarlanan değer, varsayılan ayarı geçersiz kılar ve uygulama yürütmeleri boyunca kalıcı olur. Kullanıcı uygulamayı kapatıp yeniden açsa bile değer, 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 için daha önce verdiği izni geri çekerse Google Analytics, ad_personalization izni de dahil olmak üzere tüm kullanıcı özelliklerini siler. Reklam kişiselleştirme için kullanıcının rıza seçimini korumak üzere setConsent (Swift | Obj-C) kullanarak reklam kişiselleştirme için ö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ı buna göre güncellediğinizden ve setAnalyticsCollectionEnabled() kullanarak Analytics toplama özelliğini tekrar devre dışı bıraktığınızdan emin olun.

Google'ın gizliliğin korunmasını sağlayan 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 depolamaya ek olarak iki yeni parametre göndermesi gerekir:

  1. Uygulamanızın info.plist dosyasını aşağıdaki bilgileri 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.