Capacitor SDK'da Kids Mode

Capacitor uygulamanız çocuklara yönelikse Apple ve Google politikalarına uymanız gerekir. Adapty SDK kullanıyorsanız, birkaç basit adımla SDK’yı bu politikaları karşılayacak ve uygulama mağazası incelemelerinden geçecek şekilde yapılandırabilirsiniz.

Neler gerekli?

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

Bunların yanı sıra, müşteri kullanıcı kimliğini dikkatli kullanmanızı öneririz. <Ad.Soyad> formatındaki kullanıcı kimlikleri, e-posta kullanımı gibi, kesinlikle kişisel veri toplama olarak değerlendirilir. Kids Mode için en iyi uygulama, uyumu sağlamak amacıyla rastgele veya anonimleştirilmiş tanımlayıcılar (ör. hashlenmiş kimlikler veya cihaz tarafından üretilen UUID’ler) kullanmaktır.

Kids Mode’u Etkinleştirme

Adapty Kontrol Paneli’nde yapılacak güncellemeler

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

Mobil uygulama kodunuzda yapılacak güncellemeler

Politikalara uymak için kullanıcının IDFA, GAID ve IP adresi toplamasını devre dışı bırakın:


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

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

      // Disable Google Advertising ID collection on Android
      android: {
        adIdCollectionDisabled: true
      }
    }
  });
  console.log('Adapty activated with Kids Mode enabled');
} catch (error) {
  console.error('Failed to activate Adapty with Kids Mode:', error);
}

Platforma Özgü Yapılandırmalar

iOS

IDFA koleksiyonu kodda devre dışı bırakılmış olsa bile (yukarıda), derlemeniz AdSupport ve AppTrackingTransparency framework’lerini hâlâ içerir. App Store Çocuklar Kategorisi bunlara izin vermez. v4 SDK, yerel iOS SDK’yı Swift Package Manager aracılığıyla yüklediğinden, bu framework’leri kaldırmak için bir Podfile adımı da yoktur.

Apple’ın gereksinimlerine uymak için, SDK ile birlikte gelen adapty-kids-mode komutunu uygulamanızın postinstall betiğine ekleyin. Bu komut, SDK’nın KidsMode özelliğini etkinleştirerek söz konusu kodun derleme dışında bırakılmasını sağlar. Komut, her kurulumda yeniden uygulanır:

{
  "scripts": {
    "postinstall": "adapty-kids-mode"
  }
}

Ardından iOS paketlerini yeniden yükleyin ve çözümleyin, ardından Xcode 26 veya sonraki bir sürümle derleyin:

npm install
npx cap sync ios

Kids Mode’u kapatmak için adapty-kids-mode disable komutunu çalıştırın ve tekrar senkronize edin.

iOS için CocoaPods kullanıyorsanız, Kids Mode’u native düzeyde de etkinleştirebilirsiniz:

  1. Podfile’ınızı güncelleyin:
  • Eğer post_install bölümünüz yoksa, aşağıdaki kod bloğunun tamamını ekleyin.

    • Eğer post_install bölümünüz varsa, vurgulanan satırları mevcut bölümle birleştirin.
    def adapty_enable_kids_mode(installer)
      installer.pods_project.targets.each do |target|
        next unless target.name == 'Adapty'
        target.build_configurations.each do |config|
          flags = config.build_settings['OTHER_SWIFT_FLAGS'] || '$(inherited)'
          flags = flags.join(' ') if flags.is_a?(Array)
          config.build_settings['OTHER_SWIFT_FLAGS'] = "#{flags} -DADAPTY_KIDS_MODE"
        end
        target.frameworks_build_phase.files.dup.each do |bf|
          target.frameworks_build_phase.remove_build_file(bf) if bf.display_name.to_s.include?('AdSupport')
        end
      end
      installer.pods_project.save
      Dir.glob(File.join(installer.sandbox.root, 'Target Support Files', '**', '*.xcconfig')).each do |xc|
        File.write(xc, File.read(xc).gsub(/\s*-framework\s+"?AdSupport"?/, ''))
      end
    end
    
    post_install do |installer|
      # ... keep your existing post_install body (Flutter adds one automatically) ...
    
      adapty_enable_kids_mode(installer)   # <-- enable Adapty Kids Mode
    end
  1. Değişiklikleri uygulamak için aşağıdaki komutu çalıştırın:

    pod install

Android: reklam kimliği iznini kaldırma

adIdCollectionDisabled: true ayarı (yukarıda) Adapty’nin reklam kimliğini toplamasını durdurur, ancak SDK yine de AD_ID iznini bildirir. Uygulamanız yalnızca çocuklara yönelikse ve Android 13 (API 33) veya üzerini hedefliyorsa, Google Play bu izni talep etmenizi dahi yasaklar.

<manifest> öğenize iki ekleme yapın:

  1. tools isim alanını tanımlayın (Capacitor’ın varsayılan manifest dosyası bunu içermez).
  2. AD_ID iznini kaldırmak için tools:node="remove" özelliğiyle bir <uses-permission> girişi ekleyin.
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

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

    <!-- your existing manifest content -->
</manifest>

Sonraki adımlar

Kids Mode’u etkinleştirdikten sonra şunları yapmayı unutmayın:

  1. Tüm işlevlerin doğru çalıştığından emin olmak için uygulamanızı kapsamlı şekilde test edin
  2. Devre dışı bırakılan veri toplamayı yansıtmak için uygulamanızın gizlilik politikasını güncelleyin
  3. Kids Mode uyumluluğuna ilişkin açık belgelerle uygulamanızı incelemeye gönderin

Platforma özgü gereksinimler hakkında daha fazla bilgi için: