Kids Mode in Android SDK

If your Android application is intended for kids, you must follow the policies of 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.

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

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:

Kotlin:

override fun onCreate() {
    super.onCreate()
    Adapty.activate(
      applicationContext,
      AdaptyConfig.Builder("PUBLIC_SDK_KEY")
          .withAdIdCollectionDisabled(true) // set to `true`
          .withIpAddressCollectionDisabled(true) // set to `true`
          .build()
    )
}

Java:

@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()
    );
}

Updates in your Android manifest

If your app targets children only and compiles against Android 13 (API 33) or higher, Google Play requires that you don’t request the AD_ID permission. Another SDK in your app (analytics, attribution, or ads) may add this permission through manifest merging. Setting withAdIdCollectionDisabled(true) stops Adapty from collecting the ID, but it doesn’t remove a permission that another SDK declares.

To remove the permission, add the following inside the <manifest> element of app/src/main/AndroidManifest.xml. The <manifest> element must declare xmlns:tools="http://schemas.android.com/tools".

<uses-permission
    android:name="com.google.android.gms.permission.AD_ID"
    tools:node="remove" />