Если ваше iOS-приложение предназначено для детей, необходимо соблюдать политики Apple. Если вы используете Adapty SDK, несколько простых шагов помогут настроить его в соответствии с этими требованиями и пройти проверку в App Store.
Что нужно настроить?
Вам нужно настроить SDK, чтобы отключить сбор следующих данных:
IP-адрес
Кроме того, рекомендуем осторожно обращаться с customer user ID. ID в формате <FirstName.LastName> однозначно расценивается как сбор персональных данных — как и использование email. Для Kids Mode лучше всего использовать рандомизированные или анонимизированные идентификаторы (например, хешированные ID или UUID, сгенерированные устройством) — это обеспечит соответствие требованиям.
Включение детского режима
Обновления в дашборде Adapty
В дашборде Adapty нужно отключить сбор IP-адресов. Перейдите в App settings и нажмите Disable IP address collection в разделе Collect users’ IP address.
Обновления в коде вашего мобильного приложения
Начиная с SDK 4.0, Kids Mode — это трейт Swift-пакета под названием KidsMode. При включении трейта IDFA и AdSupport полностью исключаются из компиляции по всему SDK — вы по-прежнему используете стандартные модули Adapty и AdaptyUI и стандартные операторы import Adapty / import AdaptyUI.
Трейт KidsMode доступен начиная с SDK версии 4.0. Начиная с SDK 4.0, SDK устанавливается только через Swift Package Manager — CocoaPods больше не поддерживается.
В Xcode 26.4 или новее откройте настройки проекта, перейдите в раздел Package Dependencies и включите трейт KidsMode для зависимости AdaptySDK-iOS.
В версиях Xcode ниже 26.4 нельзя включить трейты для проекта Xcode через интерфейс. В этом случае создайте небольшой локальный Swift-пакет, который зависит от Adapty с включённым трейтом KidsMode (см. вкладку Package.swift), и добавьте зависимость от этого пакета в целевой объект приложения.
Если вы добавляете Adapty как зависимость в Package.swift, включите трейт в объявлении пакета. Трейты требуют swift-tools-version 6.1 или выше.
Если ваше iOS-приложение предназначено для детей, вы обязаны соблюдать правила Apple. При использовании Adapty SDK несколько простых шагов помогут настроить его в соответствии с этими правилами и успешно пройти проверку в сторе.
IP-адреса
Кроме того, рекомендуем внимательно подходить к выбору customer user ID. Идентификатор в формате <FirstName.LastName> однозначно расценивается как сбор персональных данных — так же, как и использование email. Для режима «Дети» рекомендуется использовать случайные или анонимизированные идентификаторы (например, хешированные ID или UUID, сгенерированные на устройстве), чтобы обеспечить соответствие требованиям.
Включение режима Kids Mode
Изменения в дашборде Adapty
В дашборде Adapty нужно отключить сбор IP-адресов. Перейдите в App settings и нажмите Disable IP address collection в разделе Collect users’ IP address.
Обновления в коде вашего мобильного приложения
Чтобы соблюдать требования политик, отключите сбор IDFA и IP-адреса пользователя.
Если вы используете Swift Package Manager, можно включить Kids Mode, выбрав модуль Adapty_KidsMode в Xcode при установке SDK.
В Xcode перейдите в File -> Add Package Dependency…. Обратите внимание, что шаги добавления зависимостей могут отличаться в разных версиях Xcode — при необходимости обратитесь к документации Xcode.
Введите URL репозитория:
https://github.com/adaptyteam/AdaptySDK-iOS.git
Выберите версию (рекомендуется последняя стабильная) и нажмите Add Package.
В окне Choose Package Products выберите нужные модули:
Adapty_KidsMode (основной модуль)
AdaptyUI_KidsMode (опционально — только если планируете использовать Paywall Builder)
Остальные пакеты не нужны.
Нажмите Add Package, чтобы завершить установку.
В коде используйте import Adapty_KidsMode вместо import Adapty, и import AdaptyUI_KidsMode вместо import AdaptyUI:
Обновите Podfile:
Если у вас нет секции post_install, добавьте весь блок кода ниже целиком.
Если секция post_installуже есть, добавьте в неё выделенные строки.
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"?/, '')) endendpost_install do |installer| # ... keep your existing post_install body (Flutter adds one automatically) ... adapty_enable_kids_mode(installer) # <-- enable Adapty Kids Modeend
Выполните следующую команду, чтобы применить изменения: