Flutter SDKのキッズモード
Flutterアプリが子ども向けの場合、AppleおよびGoogleのポリシーに従う必要があります。Adapty SDKを使用している場合、いくつかの簡単な手順でこれらのポリシーに準拠するよう設定し、アプリストアの審査を通過できます。
何が必要ですか?
以下の情報収集を無効にするよう、Adapty SDK を設定する必要があります。
- IDFA(広告識別子)(iOS)
- Android 広告 ID(AAID/GAID)(Android)
- IP アドレス
さらに、カスタマーユーザーIDの扱いには十分注意することをお勧めします。
<FirstName.LastName>形式のユーザーIDは、メールアドレスと同様に個人データの収集として扱われます。キッズモードでは、ランダム化または匿名化された識別子(ハッシュIDやデバイスが生成したUUIDなど)を使用することで、コンプライアンスを確保するのがベストプラクティスです。
キッズモードを有効にする
Adapty ダッシュボードでの設定
Adapty ダッシュボードで、IPアドレスの収集を無効化する必要があります。App settingsに移動し、Collect users’ IP addressの下にあるDisable IP address collectionをクリックしてください。
モバイルアプリのコード変更
ポリシーに準拠するため、ユーザーの 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: SDK v4 でキッズモードを有効にする
SDK v4 では、ネイティブ iOS SDK は Swift Package Manager からインストールされ、キッズモードは KidsMode Swift パッケージトレイトを通じて有効化されます。このトレイトにより、IDFA、AdSupport、AppTrackingTransparency に関するコードがすべてコンパイルから除外されます。これには Xcode 26 以降が必要です。
SDK v4 では、pubspec.yaml で adapty_flutter の代わりに adapty_flutter_kids パッケージを使用してください。これはプラグインのキッズモード版であり、公開 API もバージョンも同じです。唯一の違いは、ネイティブ iOS SDK が KidsMode トレイトでビルドされている点です:
dependencies:
adapty_flutter_kids: 4.0.0
Dart のコードはそのままで、インポートを新しいパッケージ名に更新するだけです:
iOS: 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