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:

  1. 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 tienes una sección post_install, combina las líneas resaltadas con la tuya.
   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

  1. 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
  2. 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
  3. 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:

  1. Probar tu app a fondo para garantizar que toda la funcionalidad funciona correctamente.
  2. Revisar la política de privacidad de tu app para reflejar la recopilación de datos deshabilitada.
  3. 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: