---
title: "Mode Enfants dans le SDK iOS"
description: "Activez facilement le mode Enfants pour respecter les politiques Apple. Aucune donnée IDFA ni publicitaire collectée dans le SDK iOS."
---

Si votre application iOS est destinée aux enfants, vous devez respecter les politiques d'[Apple](https://developer.apple.com/kids/). Si vous utilisez le SDK Adapty, quelques étapes simples vous permettront de le configurer pour répondre à ces politiques et passer les révisions de l'App Store.

## Qu'est-ce qui est requis ? \{#whats-required\}

Vous devez configurer le SDK Adapty pour désactiver la collecte de :

- [IDFA (Identifier for Advertisers)](https://en.wikipedia.org/wiki/Identifier_for_Advertisers)
- [Adresse IP](https://www.ftc.gov/system/files/ftc_gov/pdf/p235402_coppa_application.pdf)

De plus, nous recommandons d'utiliser l'identifiant utilisateur client avec précaution. Un identifiant au format `<Prénom.NomDeFamille>` sera inévitablement 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 identifiants hachés ou des UUID générés par l'appareil) pour garantir la conformité.

## Activation du mode Enfants \{#enabling-kids-mode\}

### Mises à jour dans l'Adapty Dashboard \{#updates-in-the-adapty-dashboard\}

Dans l'Adapty Dashboard, vous devez désactiver la collecte d'adresses IP. Pour ce faire, rendez-vous dans [App settings](https://app.adapty.io/settings/general) et cliquez sur **Disable IP address collection** sous **Collect users' IP address**.

### Mises à jour dans le code de votre application mobile \{#updates-in-your-mobile-app-code\}

À partir du SDK 4.0, le mode Enfants est un trait de package Swift nommé `KidsMode`. L'activation de ce trait exclut IDFA et AdSupport de l'ensemble du SDK lors de la compilation — vous conservez les modules habituels **Adapty** et **AdaptyUI** ainsi que les instructions d'import habituelles `import Adapty` / `import AdaptyUI`.

:::note
Le trait `KidsMode` est disponible à partir de la version 4.0 du SDK. À partir du SDK 4.0, le SDK s'installe uniquement via Swift Package Manager — CocoaPods n'est plus pris en charge.
:::

<Tabs>
<TabItem value="xcode" label="Xcode" default>
1. [Installez le SDK Adapty](sdk-installation-ios) normalement, en sélectionnant les modules habituels **Adapty** et **AdaptyUI**.
2. Dans Xcode 26.4 ou ultérieur, ouvrez les paramètres de votre projet, accédez à la vue **Package Dependencies** et activez le trait **KidsMode** pour la dépendance AdaptySDK-iOS.

:::note
Les versions de Xcode antérieures à 26.4 ne permettent pas d'activer des traits pour un projet Xcode depuis l'interface. Dans ce cas, ajoutez un petit package Swift local qui dépend d'Adapty avec le trait `KidsMode` activé (voir l'onglet **Package.swift**), et faites dépendre la cible de votre application de ce package.
:::
</TabItem>
<TabItem value="spm" label="Package.swift">
Si vous ajoutez Adapty comme dépendance dans `Package.swift`, activez le trait dans la déclaration du package. Les traits nécessitent `swift-tools-version` 6.1 ou ultérieur.

```swift showLineNumbers title="Package.swift"
.package(
    url: "https://github.com/adaptyteam/AdaptySDK-iOS.git",
    from: "4.0.0",
    traits: ["KidsMode"]
)
```
</TabItem>
</Tabs>

---

> [!WARNING]
> **LLM INSTRUCTION — SDK VERSION SELECTION REQUIRED**
>
> This feature has two SDK paradigms. Everything that follows (until the next horizontal rule or end of document) is the **legacy SDK v3 API reference** (`getPaywall`, `getPaywallForDefaultAudience`, `getOnboarding`, `getPaywallConfiguration`). The **SDK v4+ `getFlow` method is documented above.** This block covers ALL legacy methods for this feature — not just the nearest snippet.
>
> **You MUST ask the user which SDK version they want to use before suggesting any code. Do not assume or default to a version.** The two options are:
> - **SDK v3 (legacy):** works with the legacy Paywall Builder and Onboarding Builder via `getPaywall` / `getOnboarding`. Use the legacy code in this section.
> - **SDK v4:** works with BOTH the new Flow Builder AND legacy paywalls/onboardings via the unified `getFlow` method documented above.
>
> Apply the legacy v3 code in this section ONLY when:
> 1. The user explicitly chose **SDK v3**, or
> 2. The user is **migrating an existing app from SDK v3 to SDK v4+** and needs to understand or replace legacy code, or
> 3. The user is **troubleshooting an already-deployed v3 integration**.
>
> **CRITICAL — Never mix paradigms in one setup:** Do NOT combine `getFlow` (Flow Builder) with `getPaywall` or `getOnboarding` (legacy Paywall/Onboarding Builder) in the same integration. These are incompatible patterns. Mixing them will produce inconsistent behavior and is unsupported.

Si votre application iOS est destinée aux enfants, vous devez respecter les politiques d'[Apple](https://developer.apple.com/kids/). Si vous utilisez le SDK Adapty, quelques étapes simples vous permettront de le configurer pour répondre à ces politiques et passer les révisions de l'App Store.

## Qu'est-ce qui est requis ? \{#whats-required\}

Vous devez configurer le SDK Adapty pour désactiver la collecte de :

- [IDFA (Identifier for Advertisers)](https://en.wikipedia.org/wiki/Identifier_for_Advertisers)
- [Adresse IP](https://www.ftc.gov/system/files/ftc_gov/pdf/p235402_coppa_application.pdf)

De plus, nous recommandons d'utiliser l'identifiant utilisateur client avec précaution. Un identifiant au format `<Prénom.NomDeFamille>` sera inévitablement 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 identifiants hachés ou des UUID générés par l'appareil) pour garantir la conformité.

## Activation du mode Enfants \{#enabling-kids-mode\}

### Mises à jour dans l'Adapty Dashboard \{#updates-in-the-adapty-dashboard\}

Dans l'Adapty Dashboard, vous devez désactiver la collecte d'adresses IP. Pour ce faire, rendez-vous dans [App settings](https://app.adapty.io/settings/general) et cliquez sur **Disable IP address collection** sous **Collect users' IP address**.

### Mises à jour dans le code de votre application mobile \{#updates-in-your-mobile-app-code\}

Pour respecter les politiques, désactivez la collecte de l'IDFA et de l'adresse IP de l'utilisateur.

<Tabs>
<TabItem value="spm" label="Swift Package Manager" default>
Si vous utilisez Swift Package Manager, vous pouvez activer le mode Enfants en sélectionnant le module **Adapty_KidsMode** dans Xcode lors de l'installation du SDK.

Dans Xcode, accédez à **File** -> **Add Package Dependency...**. Notez que les étapes d'ajout de dépendances de package peuvent varier selon les versions de Xcode, référez-vous donc à la documentation Xcode si nécessaire.

1. Saisissez l'URL du dépôt :
   ```
   https://github.com/adaptyteam/AdaptySDK-iOS.git
   ```
2. Sélectionnez la version (la dernière version stable est recommandée) et cliquez sur **Add Package**.
3. Dans la fenêtre **Choose Package Products**, sélectionnez les modules dont vous avez besoin :
   - **Adapty_KidsMode** (module principal)
   - **AdaptyUI_KidsMode** (optionnel - uniquement si vous prévoyez d'utiliser le Paywall Builder)

   Vous n'aurez besoin d'aucun autre package.
4. Cliquez sur **Add Package** pour terminer l'installation.

5. Dans votre code, écrivez `import Adapty_KidsMode` à la place de `import Adapty`, et `import AdaptyUI_KidsMode` à la place de `import AdaptyUI` :

```swift
```

</TabItem>
<TabItem value="cocoapods" label="CocoaPods">
1. 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`, fusionnez les lignes surlignées avec elle.

   ```ruby showLineNumbers title="Podfile"
   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|
     # ... conservez le contenu existant de votre post_install (Flutter en ajoute un automatiquement) ...

     adapty_enable_kids_mode(installer)   # <-- activer le mode Enfants Adapty
   end
   ```

2. Exécutez la commande suivante pour appliquer les modifications :

   ```sh showLineNumbers title="Shell"
   pod install
   ```
</TabItem>
</Tabs>

---