如果你的 iOS 应用面向儿童,必须遵守 Apple 的相关政策。使用 Adapty SDK 时,只需几个简单步骤即可完成配置,满足这些政策要求并顺利通过应用商店审核。
需要配置哪些内容?
您需要配置 Adapty SDK,禁止收集以下信息:
- IDFA(广告标识符)
- IP 地址
此外,我们建议谨慎使用客户用户 ID。格式为
<FirstName.LastName> 的用户 ID 或使用电子邮件的情况,都会被视为收集个人数据。在儿童模式下,最佳实践是使用随机或匿名标识符(例如哈希 ID 或设备生成的 UUID),以确保合规。
启用儿童模式
在 Adapty 看板中进行设置
在 Adapty 看板中,您需要关闭 IP 地址收集功能。请前往 App settings,在 Collect users’ IP address 下点击 Disable IP address collection。
移动端代码变更
从 SDK 4.0 起,Kids Mode 以 Swift package trait 的形式实现,名为 KidsMode。启用该 trait 后,整个 SDK 中的 IDFA 和 AdSupport 将在编译期被移除——你仍保留常规的 Adapty 和 AdaptyUI 模块,以及原有的 import Adapty / import AdaptyUI 语句。
KidsMode trait 从 SDK 4.0 版本起可用。从 SDK 4.0 起,SDK 仅支持通过 Swift Package Manager 安装——不再支持 CocoaPods。
- 按常规方式安装 Adapty SDK,选择标准的 Adapty 和 AdaptyUI 模块。
- 在 Xcode 26.4 或更高版本中,打开项目设置,进入 Package Dependencies 视图,为 AdaptySDK-iOS 依赖项启用 KidsMode trait。
早于 26.4 的 Xcode 版本无法通过 UI 为 Xcode 项目启用 traits。在这种情况下,请添加一个依赖 Adapty 并启用了 KidsMode trait 的本地 Swift 包(参见 Package.swift 标签页),然后让你的 app target 依赖该包。
如果你在 Package.swift 中将 Adapty 添加为依赖项,请在包声明中启用该 trait。Traits 需要 swift-tools-version 6.1 或更高版本。
.package(
url: "https://github.com/adaptyteam/AdaptySDK-iOS.git",
from: "4.0.0",
traits: ["KidsMode"]
)
如果您的 iOS 应用面向儿童,则必须遵守 Apple 的相关政策。如果您正在使用 Adapty SDK,只需几个简单的步骤即可完成配置,使其符合这些政策并通过应用商店审核。
需要配置什么?
你需要配置 Adapty SDK,以禁用以下数据的收集:
- IDFA(广告标识符)
- IP 地址
此外,我们建议谨慎使用 customer user ID。格式为
<FirstName.LastName> 的用户 ID 以及电子邮件地址,都会被视为收集个人数据。对于儿童模式,最佳实践是使用随机或匿名标识符(例如哈希 ID 或设备生成的 UUID),以确保合规。
启用儿童模式
Adapty 看板中的更新
在 Adapty 看板中,您需要禁用 IP 地址收集功能。请前往 App settings,在 Collect users’ IP address 下点击 Disable IP address collection。
更新移动应用代码
为遵守相关政策,请禁用收集用户 IDFA 和 IP 地址的功能。
如果你使用 Swift Package Manager,可以在 Xcode 安装 SDK 时选择 Adapty_KidsMode 模块来启用儿童模式。
在 Xcode 中,依次点击 File -> Add Package Dependency…。请注意,添加软件包依赖项的步骤可能因 Xcode 版本不同而有所差异,如有需要请参阅 Xcode 文档。
-
输入仓库 URL:
https://github.com/adaptyteam/AdaptySDK-iOS.git
-
选择版本(推荐使用最新稳定版),然后点击 Add Package。
-
在 Choose Package Products 窗口中,选择所需模块:
- Adapty_KidsMode(核心模块)
- AdaptyUI_KidsMode(可选 - 仅在计划使用付费墙编辑工具时需要)
其他包无需选择。
-
点击 Add Package 完成安装。
-
在代码中,将 import Adapty 替换为 import Adapty_KidsMode,将 import AdaptyUI 替换为 import AdaptyUI_KidsMode:
-
更新你的 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