React Native SDK'da Kids Mode

React Native uygulamanız çocuklara yönelikse, Apple ve Google politikalarına uymanız gerekir. Adapty SDK kullanıyorsanız, birkaç basit adım onu bu politikalara uyacak ve uygulama mağazası incelemelerini geçecek şekilde yapılandırmanıza yardımcı olur.

iOS’ta Kids Mode, tüm IDFA, AdSupport ve AppTrackingTransparency kodunu derleme dışında bırakan KidsMode Swift package trait’i aracılığıyla etkinleştirilir. v4 SDK’yı (yerel iOS SDK’yı Swift Package Manager aracılığıyla yükler) ve Xcode 26 veya sonrasını gerektirir. Aşağıdaki iOS Podfile’ınızdaki güncellemeler bölümüne bakın.

Ne gereklidir?

Adapty SDK’yı aşağıdakilerin toplanmasını devre dışı bırakacak şekilde yapılandırmanız gerekir:

Bunlara ek olarak, müşteri kullanıcı kimliğini dikkatli kullanmanızı öneririz. <Ad.Soyad> formatındaki kullanıcı kimliği, e-posta kullanımı gibi kişisel veri toplama olarak değerlendirilebilir. Çocuk Modu için en iyi uygulama, uyumu sağlamak amacıyla rastgele veya anonimleştirilmiş tanımlayıcılar (örneğin karma kimlikler veya cihaz tarafından oluşturulan UUID’ler) kullanmaktır.

Çocuk Modunu Etkinleştirme

Adapty Kontrol Paneli’nde güncellemeler

Adapty Kontrol Paneli’nde IP adresi toplamanı devre dışı bırakmanız gerekir. Bunun için App settings sayfasına gidin ve Collect users’ IP address altındaki Disable IP address collection seçeneğine tıklayın.

Mobil uygulama kodunuzdaki güncellemeler

Politikalara uymak için Adapty SDK’sını etkinleştirirken kullanıcının IDFA (iOS), GAID/AAID (Android) ve IP adresi toplanmasını devre dışı bırakın:


adapty.activate('YOUR_PUBLIC_SDK_KEY', {
  // Disable IP address collection
  ipAddressCollectionDisabled: true,

  // Disable IDFA collection on iOS
  ios: {
    idfaCollectionDisabled: true,
  },

  // Disable Google Advertising ID collection on Android
  android: {
    adIdCollectionDisabled: true,
  },
});

iOS Podfile’ınızdaki güncellemeler

App Store Kids Category (veya COPPA uyumluluğu) için, yerel iOS SDK’sı tüm IDFA, AdSupport ve AppTrackingTransparency kodunu derleme dışında bırakan KidsMode Swift package trait’i ile derlenmelidir. React Native, yerel SDK’yı package trait’lerini iletemeyen Swift Package Manager aracılığıyla yükler, bu yüzden SDK, trait’i sizin için uygulayan bir Podfile yardımcısı sağlar. Bu adım Xcode 26 veya sonrasını gerektirir.

ios/Podfile içinde, yardımcıyı require edin ve onu react_native_post_install’dan sonra çağırın:

require Pod::Executable.execute_command('node', ['-p',
  'require.resolve(
    "react-native-adapty/ios/adapty_kids_mode.rb",
    {paths: [process.argv[1]]},
  )', __dir__]).strip

# ...

post_install do |installer|
  react_native_post_install(
    installer,
    config[:reactNativePath],
    :mac_catalyst_enabled => false
  )

  adapty_enable_kids_mode(installer)
end

Ardından pod install komutunu çalıştırın:

cd ios && pod install

Kids Mode’un etkin olduğunu doğrulamak için adapty.activate(...) log satırının kids_mode_enabled: true bildirdiğini kontrol edin. Yardımcı çağrısını post_install içinde kalıcı olarak tutun — React Native, her pod install’da Swift package referanslarını yeniden oluşturur ve yardımcı, trait’i her seferinde yeniden uygular.

Android manifest’inizdeki güncellemeler

Uygulamanız yalnızca çocuklara yönelikse ve Android 13 (API 33) veya üzeri sürümleri hedefliyorsa, Google Play AD_ID iznini talep etmemenizi gerektirir. Uygulamanızdaki başka bir SDK (analitik, attribution veya reklam), manifest birleştirme yoluyla bu izni ekleyebilir. adIdCollectionDisabled ayarı, Adapty’nin kimliği toplamasını durdurur; ancak başka bir SDK’nın tanımladığı bir izni kaldırmaz.

İzni kaldırmak için android/app/src/main/AndroidManifest.xml dosyasındaki <manifest> öğesinin içine aşağıdakini ekleyin. <manifest> öğesi xmlns:tools="http://schemas.android.com/tools" bildirimini içermelidir.

<uses-permission
    android:name="com.google.android.gms.permission.AD_ID"
    tools:node="remove" />