Mode Enfants dans le SDK Capacitor
Si votre application Capacitor est destinée aux enfants, vous devez respecter les politiques d’Apple et de Google. Si vous utilisez le SDK Adapty, quelques étapes simples vous permettront de le configurer pour répondre à ces politiques et passer les révisions des stores.
Ce qui est requis
Vous devez configurer le SDK Adapty pour désactiver la collecte de :
De plus, nous vous recommandons d’utiliser l’identifiant utilisateur client avec précaution. Un identifiant au format <Prénom.Nom> sera clairement considéré comme une collecte de données personnelles, tout comme l’utilisation d’un e-mail. Pour le Mode Enfants, la bonne pratique consiste à utiliser des identifiants aléatoires ou anonymisés (par exemple, des IDs hachés ou des UUIDs générés par l’appareil) pour assurer la conformité.
Activer le Mode Enfants
Modifications dans l’Adapty Dashboard
Dans l’Adapty Dashboard, vous devez désactiver la collecte des adresses IP. Pour ce faire, rendez-vous dans App settings et cliquez sur Disable IP address collection sous Collect users’ IP address.
Modifications dans le code de votre application mobile
Pour respecter les politiques, désactivez la collecte de l’IDFA, du GAID et de l’adresse IP de l’utilisateur :
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);
}
Configurations spécifiques à chaque plateforme
iOS
Même avec la collecte IDFA désactivée dans le code (ci-dessus), votre build inclut toujours les frameworks AdSupport et AppTrackingTransparency. La catégorie Enfants de l’App Store ne les autorise pas. Et comme le SDK v4 installe le SDK iOS natif via Swift Package Manager, il n’y a pas d’étape Podfile pour les supprimer.
Pour respecter les exigences d’Apple, ajoutez la commande adapty-kids-mode fournie avec le SDK dans le postinstall de votre application. Elle active le trait KidsMode du SDK, qui exclut ce code à la compilation. La commande se réapplique à chaque installation :
{
"scripts": {
"postinstall": "adapty-kids-mode"
}
}Réinstallez ensuite et résolvez à nouveau les packages iOS, puis compilez avec Xcode 26 ou une version ultérieure :
npm install
npx cap sync iosPour désactiver le Mode Enfants, exécutez adapty-kids-mode disable et synchronisez à nouveau.
Si vous utilisez CocoaPods pour iOS, vous pouvez également activer le Mode Enfants au niveau natif :
-
Mettez à jour votre Podfile :
- Si vous n’avez pas de section
post_install, ajoutez l’intégralité du bloc de code ci-dessous. - Si vous avez déjà une section
post_install, intégrez les lignes mises en évidence dedans.
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 - Si vous n’avez pas de section
-
Exécutez la commande suivante pour appliquer les modifications :
pod install
Android : supprimer la permission d’identifiant publicitaire
Définir adIdCollectionDisabled: true (ci-dessus) empêche Adapty de collecter l’identifiant publicitaire, mais le SDK déclare toujours la permission AD_ID. Si votre application cible uniquement les enfants et est compilée pour Android 13 (API 33) ou supérieur, Google Play vous interdit même de la demander.
Effectuez deux ajouts dans votre élément <manifest> :
- Déclarez le namespace
tools(le manifeste par défaut de Capacitor l’omet). - Ajoutez une entrée
<uses-permission>pourAD_IDavectools:node="remove"afin de la supprimer.
<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>
Étapes suivantes
Une fois le Mode Enfants activé, assurez-vous de :
- Tester votre application en profondeur pour vérifier que toutes les fonctionnalités fonctionnent correctement
- Mettre à jour la politique de confidentialité de votre application pour refléter la désactivation de la collecte de données
- Soumettre votre application pour révision avec une documentation claire sur la conformité au Mode Enfants
Pour plus d’informations sur les exigences spécifiques à chaque plateforme :
- Mode Enfants dans le SDK iOS pour les détails de configuration iOS supplémentaires
- Mode Enfants dans le SDK Android pour les détails de configuration Android supplémentaires