Режим для детей в Unity SDK

Если ваше приложение на Unity предназначено для детей, вы обязаны соблюдать правила Apple и Google. Если вы используете Adapty SDK, несколько простых шагов помогут настроить его в соответствии с этими требованиями и успешно пройти проверку в стором.

Что нужно сделать?

Необходимо настроить Adapty SDK так, чтобы отключить сбор следующих данных:

Кроме того, рекомендуем осторожно использовать пользовательский ID. Идентификатор в формате <FirstName.LastName> однозначно будет расценён как сбор персональных данных — как и использование email. Для режима для детей лучшая практика — применять рандомизированные или анонимизированные идентификаторы (например, хешированные ID или UUID, сгенерированные на устройстве), чтобы обеспечить соответствие требованиям.

Включение режима для детей

Изменения в дашборде Adapty

В дашборде Adapty необходимо отключить сбор IP-адресов. Для этого перейдите в App settings и нажмите Disable IP address collection в разделе Collect users’ IP address.

Обновления в коде вашего приложения

Отключите сбор Android Advertising ID и IP-адреса при активации SDK:

var builder = new AdaptyConfiguration.Builder("YOUR_PUBLIC_SDK_KEY")
    .SetGoogleAdvertisingIdCollectionDisabled(true) // set to `true`
    .SetIPAddressCollectionDisabled(true); // set to `true`

Adapty.Activate(builder.Build(), (error) => {
    if (error != null) {
        // handle the error
        return;
    }
});

На iOS вызывать SetAppleIDFACollectionDisabled не нужно — включение режима Kids Mode для сборки iOS (см. ниже) автоматически отключает сбор IDFA в конфигурации SDK.

Включение Kids Mode для сборки iOS

В iOS Kids Mode — это трейт Swift-пакета с именем KidsMode. При его включении из бинарного файла SDK исключаются IDFA, AdSupport и AppTrackingTransparency. Требуется SDK версии 4.0 или новее — который устанавливает нативный iOS SDK через Swift Package Manager — и Xcode 26 или новее, так как более ранние версии Xcode не поддерживают трейты Swift-пакетов.

  1. В Unity Editor перейдите в Player Settings > Other Settings и добавьте ADAPTY_KIDS_MODE в Scripting Define Symbols для платформы iOS.
  2. Соберите проект для iOS как обычно. Adapty включает трейт KidsMode в ссылке на пакет AdaptySDK-iOS в сгенерированном Xcode-проекте и принудительно устанавливает apple_idfa_collection_disabled в конфигурации среды выполнения.

Добавляйте define в Player Settings, а не в профиль сборки. Scripting defines из профиля сборки попадают в сборки редактора только после перекомпиляции Unity, поэтому сборка, запущенная в той же сессии, может создать бинарник, который во время выполнения сообщает о Kids Mode, всё ещё линкуя IDFA. Adapty прерывает iOS-сборку при обнаружении такого состояния. BuildPlayerOptions.extraScriptingDefines не поддерживается вовсе, поскольку никогда не достигает сборок редактора.

Обновления в Android manifest

Если ваше приложение ориентировано только на детей и компилируется под Android 13 (API 33) или выше, Google Play требует не запрашивать разрешение AD_ID. Отключение сбора в настройках SDK останавливает сбор идентификатора Adapty, но не удаляет разрешение, которое другой плагин объявляет через слияние манифестов.

Чтобы удалить разрешение, включите Custom Main Manifest в Player Settings > Publishing Settings, затем добавьте следующее внутри элемента <manifest> файла Assets/Plugins/Android/AndroidManifest.xml. Элемент <manifest> должен объявлять xmlns:tools="http://schemas.android.com/tools".

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

Если ваше Unity-приложение предназначено для детей, вы должны соблюдать политики Apple и Google. Если вы используете Adapty SDK, несколько простых шагов помогут настроить его в соответствии с этими требованиями и пройти проверку в сторах.

Что нужно настроить?

Необходимо настроить SDK, чтобы отключить сбор:

Кроме того, рекомендуем осторожно обращаться с пользовательским ID. ID в формате <FirstName.LastName> однозначно считается сбором персональных данных — как и использование email. Для режима «Для детей» рекомендуется использовать случайные или анонимизированные идентификаторы (например, хешированные ID или UUID, сгенерированные на устройстве) — это обеспечит соответствие требованиям.

Включение режима Kids Mode

Обновления в дашборде Adapty

В дашборде Adapty необходимо отключить сбор IP-адресов. Для этого перейдите в App settings и нажмите Disable IP address collection в разделе Collect users’ IP address.

Изменения в коде вашего приложения

Отключите сбор Android Advertising ID и IP-адреса при активации SDK:

var builder = new AdaptyConfiguration.Builder("YOUR_PUBLIC_SDK_KEY")
    .SetGoogleAdvertisingIdCollectionDisabled(true) // set to `true`
    .SetIPAddressCollectionDisabled(true); // set to `true`

Adapty.Activate(builder.Build(), (error) => {
    if (error != null) {
        // handle the error
        return;
    }
});

Включение режима Kids Mode для iOS-сборки

Для полного исключения кода IDFA и AdSupport из iOS-бинарника требуется Adapty Unity SDK 4.0 или выше. Обновитесь с помощью гайда по миграции, затем следуйте инструкциям для SDK 4.0 на этой странице.

На SDK 3.x можно отключить сбор IDFA в конфигурации SDK с помощью SetAppleIDFACollectionDisabled(true), однако код IDFA и AdSupport останется в бинарнике. О нативных параметрах конфигурации читайте в разделах Kids Mode в iOS SDK и Kids Mode в Android SDK.