Kids Mode
If your application is intended for kids, you must follow the policies of Apple and Google. If you're using the Adapty SDK, a few simple steps will help you configure it to meet these policies and pass app store reviews. The exact steps vary by platform, but none will take more than 10 minutes.
What’s required?
You need to configure the Adapty SDK to disable the collection of:
In addition, we recommend using customer user ID carefully. User ID in format <FirstName.LastName>
will be definitely treated as gathering personal data as well as using email. For Kids Mode, a best practice is to use randomized or anonymized identifiers (e.g., hashed IDs or device-generated UUIDs) to ensure compliance.
Enabling Kids Mode
Updates in the Adapty Dashboard
In the Adapty Dashboard, you need to disable the IP address collection. To do this, go to App settings and click Disable IP address collection under Collect users' IP address.
Updates in your mobile app code
- iOS
- Android (Kotlin)
- Android (Java)
- Flutter
You can only enable the Kids Mode with Cocoa Pods.
In order to comply with policies, disable the collection of the user's IDFA and IP address:
-
Update your Podfile:
- If you don’t have a
post_install
section, add the entire code block below. - If you do have a
post_install
section, merge the highlighted lines into it.
Podfilepost_install do |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 - If you don’t have a
-
Run the following command to apply the changes:
Shellpod install
To comply with policies, you need to disable the collection of the Android Advertising ID (AAID/GAID) and IP address when initializing the Adapty SDK:
override fun onCreate() {
super.onCreate()
Adapty.activate(
applicationContext,
AdaptyConfig.Builder("PUBLIC_SDK_KEY")
.withAdIdCollectionDisabled(true) // set to `true`
.withIpAddressCollectionDisabled(true) // set to `true`
.build()
)
}
To comply with policies, you need to disable the collection of the Android Advertising ID (AAID/GAID) and IP address when initializing the Adapty SDK:
@Override
public void onCreate() {
super.onCreate();
Adapty.activate(
applicationContext,
new AdaptyConfig.Builder("PUBLIC_SDK_KEY")
.withAdIdCollectionDisabled(true) // set to `true`
.withIpAddressCollectionDisabled(true) // set to `true`
.build()
);
}
In order to comply with policies, disable the collection of the user's IDFA (for iOS), GAID/AAID (for Android), and IP address.
Android: Update your SDK configuration
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: Enable Kids Mode using CocoaPods
-
Update your Podfile:
- If you don’t have a
post_install
section, add the entire code block below. - If you do have a
post_install
section, merge the highlighted lines into it.
Podfilepost_install do |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 - If you don’t have a
-
Apply the changes by running
Shellpod install
Support for Kids Mode in React Native and Unity is coming soon!