Modo Infantil en Capacitor SDK
Si tu aplicación de Capacitor 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 stores.
¿Qué se necesita?
Debes configurar el SDK para desactivar 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 en formato
<FirstName.LastName>se considerará claramente como recopilación de datos personales, al igual que usar un correo electrónico. Para el Modo Infantil, 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.
Activar el Modo Infantil
Cambios en el Adapty Dashboard
En el Adapty Dashboard, debes deshabilitar la recopilación de direcciones IP. Para ello, ve a App settings y haz clic en Disable IP address collection en Collect users’ IP address.
Actualizaciones en el código de tu app móvil
Para cumplir con las políticas, desactiva la recopilación del IDFA, GAID y dirección IP del usuario:
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);
}
Configuraciones específicas por plataforma
iOS: Activar el Modo Infantil con CocoaPods
Si usas CocoaPods para iOS, también puedes activar el Modo Infantil a nivel nativo:
-
Actualiza tu Podfile:
- Si no tienes una sección
post_install, añade todo el bloque de código que aparece a continuación. - Si sí tienes una sección
post_install, combina las líneas resaltadas con la tuya.
- Si no tienes una sección
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
```groovy showLineNumbers title="build.gradle"
android {
defaultConfig {
manifestPlaceholders = [AdaptyKidsMode: "true"]
}
}
iOS: Enable Kids Mode using CocoaPods
-
Añade la siguiente función al final de tu
Podfile:def adapty_enable_kids_mode(installer) installer.pods_project.targets.each do |target| if target.name == 'Adapty' target.build_configurations.each do |config| config.build_settings['OTHER_SWIFT_FLAGS'] ||= ['$(inherited)'] config.build_settings['OTHER_SWIFT_FLAGS'] << '-DADAPTY_KIDS_MODE' end end end end -
Llama a esta función dentro del bloque
post_install:post_install do |installer| # ... mantén el cuerpo post_install existente (Flutter añade uno automáticamente) ... adapty_enable_kids_mode(installer) # <-- habilita el Modo Kids de Adapty end -
Ejecuta el siguiente comando para aplicar los cambios:
pod install
Android: Habilitar el Modo Kids con Gradle
En Android, también puedes habilitar el Modo Kids a nivel nativo añadiendo lo siguiente al build.gradle de tu aplicación:
android {
defaultConfig {
// ... existing config ...
// Enable Kids Mode
buildConfigField "boolean", "ADAPTY_KIDS_MODE", "true"
}
}
Próximos pasos
Una vez que hayas activado el Modo Infantil, asegúrate de:
- Probar tu app a fondo para garantizar que toda la funcionalidad funciona correctamente.
- Revisar la política de privacidad de tu app para reflejar la recopilación de datos deshabilitada.
- Enviar tu app a revisión con documentación clara sobre el cumplimiento del Modo Infantil.
Para más información sobre los requisitos específicos de cada plataforma:
- Modo Infantil en iOS SDK para detalles adicionales de configuración en iOS
- Modo Infantil en Android SDK para detalles adicionales de configuración en Android