Modo Kids en Flutter SDK
Si tu aplicación Flutter está destinada a niños, debes seguir las políticas de Apple y Google. Si usas el SDK de Adapty, unos pocos pasos sencillos te ayudarán a configurarlo para cumplir con estas políticas y superar las revisiones de las tiendas.
¿Qué se requiere?
Debes configurar el SDK para deshabilitar la recopilación de:
- IDFA (Identifier for Advertisers) (iOS)
- Android Advertising ID (AAID/GAID) (Android)
- Dirección IP
Además, te recomendamos usar el customer user ID con cuidado. Un ID de usuario en formato
<FirstName.LastName>se considerará recopilación de datos personales, al igual que el uso del correo electrónico. Para el modo Kids, la mejor práctica es usar identificadores aleatorios o anonimizados (por ejemplo, IDs con hash o UUIDs generados por el dispositivo) para garantizar el cumplimiento normativo.
Habilitar el Modo Kids
Cambios en el Adapty Dashboard
En el Adapty Dashboard, debes deshabilitar la recopilación de direcciones IP. Para hacerlo, ve a App settings y haz clic en Disable IP address collection bajo Collect users’ IP address.
Actualizaciones en el código de tu aplicación móvil
Para cumplir con las políticas, desactiva la recopilación del IDFA del usuario (para iOS), GAID/AAID (para Android) y la dirección IP.
Android: Actualiza la configuración del SDK
try {
await Adapty().activate(
configuration: AdaptyConfiguration(apiKey: 'YOUR_API_KEY')
..withGoogleAdvertisingIdCollectionDisabled(true), // set to `true`
..withIpAddressCollectionDisabled(true), // set to `true`
);
} catch (e) {
// handle the error
}
iOS: Activar el modo infantil usando CocoaPods
-
Actualiza tu Podfile:
- Si no tienes una sección
post_install, añade el bloque de código completo que aparece a continuación. - Si ya tienes una sección
post_install, fusiona las líneas destacadas en ella.
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| # ... mantén el cuerpo de post_install existente (Flutter agrega uno automáticamente) ... adapty_enable_kids_mode(installer) # <-- habilitar Adapty Kids Mode end - Si no tienes una sección
-
Aplica los cambios ejecutando
pod install