Режим Kids Mode во Flutter SDK
Если ваше Flutter-приложение предназначено для детей, необходимо соблюдать политики Apple и Google. Если вы используете Adapty SDK, несколько простых шагов помогут настроить его в соответствии с этими требованиями и успешно пройти проверку в стор.
Что нужно настроить?
Необходимо настроить SDK, чтобы отключить сбор следующих данных:
- IDFA (Identifier for Advertisers) (iOS)
- Android Advertising ID (AAID/GAID) (Android)
- IP-адрес
Кроме того, рекомендуем осторожно подходить к выбору customer user ID. Идентификатор в формате
<FirstName.LastName>однозначно будет расценён как сбор персональных данных — так же, как и использование email. Для Kids Mode лучшей практикой является использование случайных или анонимизированных идентификаторов (например, хешированных ID или UUID, сгенерированных на устройстве) для обеспечения соответствия требованиям.
Включение Kids Mode
Настройки в дашборде Adapty
В дашборде Adapty необходимо отключить сбор IP-адресов. Для этого перейдите в App settings и нажмите Disable IP address collection в разделе Collect users’ IP address.
Обновления в коде вашего мобильного приложения
В соответствии с требованиями политик отключите сбор IDFA пользователя (для iOS), GAID/AAID (для Android) и IP-адреса.
Android: Обновите конфигурацию SDK
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: включение Kids Mode в SDK v4
В SDK v4 нативный iOS SDK устанавливается через Swift Package Manager, а Kids Mode включается через трейт KidsMode Swift Package, который исключает из компиляции весь код IDFA, AdSupport и AppTrackingTransparency. Для этого требуется Xcode 26 или выше.
В SDK v4 используйте пакет adapty_flutter_kids вместо adapty_flutter в файле pubspec.yaml. Это вариант плагина с Kids Mode — с тем же публичным API и той же версией; единственное отличие в том, что его нативный iOS SDK собран с трейтом KidsMode:
dependencies:
adapty_flutter_kids: 4.0.0
Ваш код на Dart остаётся прежним — нужно лишь обновить импорт на новое имя пакета:
iOS: включение Kids Mode через CocoaPods (SDK v3)
-
Обновите 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"?/, '')) end end post_install do |installer| # ... keep your existing post_install body (Flutter adds one automatically) ... adapty_enable_kids_mode(installer) # <-- enable Adapty Kids Mode end - Если у вас нет секции
-
Примените изменения, выполнив команду
pod install