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 iosKids 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:
- Podfile’ınızı güncelleyin:
-
Eğer
post_installbölümünüz yoksa, aşağıdaki kod bloğunun tamamını ekleyin.- Eğer
post_installbö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 - Eğer
-
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:
toolsisim alanını tanımlayın (Capacitor’ın varsayılan manifest dosyası bunu içermez).AD_IDiznini kaldırmak içintools: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:
- Tüm işlevlerin doğru çalıştığından emin olmak için uygulamanızı kapsamlı şekilde test edin
- Devre dışı bırakılan veri toplamayı yansıtmak için uygulamanızın gizlilik politikasını güncelleyin
- Kids Mode uyumluluğuna ilişkin açık belgelerle uygulamanızı incelemeye gönderin
Platforma özgü gereksinimler hakkında daha fazla bilgi için:
- Ek iOS yapılandırma ayrıntıları için iOS SDK’da Kids Mode
- Ek Android yapılandırma ayrıntıları için Android SDK’da Kids Mode