React Native SDKのキッズモード
React Nativeアプリが子ども向けの場合、AppleおよびGoogleのポリシーに従う必要があります。Adapty SDKを使用している場合、いくつかの簡単な手順でポリシーに準拠した設定を行い、アプリストアの審査を通過できます。
iOSでは、KidsモードはKidsMode Swiftパッケージトレイトを通じて有効化され、IDFA、AdSupport、AppTrackingTransparencyに関するコードがすべてコンパイル時に除外されます。v4 SDKとXcode 26以降が必要です。トレイトの適用方法は、iOSプロジェクトで使用しているパッケージマネージャーによって異なります。詳細はiOSプロジェクトの更新を参照してください。
何が必要ですか?
以下の収集を無効にするよう、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 をクリックしてください。
モバイルアプリのコード変更
ポリシーに準拠するため、Adapty SDK を有効化する際に、ユーザーの IDFA(iOS)、GAID/AAID(Android)、および IP アドレスの収集を無効にしてください。
adapty.activate('YOUR_PUBLIC_SDK_KEY', {
// Disable IP address collection
ipAddressCollectionDisabled: true,
// Disable IDFA collection on iOS
ios: {
idfaCollectionDisabled: true,
},
// Disable Google Advertising ID collection on Android
android: {
adIdCollectionDisabled: true,
},
});
iOSプロジェクトの更新
App Store子供カテゴリ(またはCOPPA準拠)のためには、ネイティブiOS SDKをKidsMode Swiftパッケージトレイトを使ってビルドする必要があります。このトレイトはIDFA、AdSupport、AppTrackingTransparencyに関するコードをすべてコンパイル時に除外します。この手順にはXcode 26以降が必要です。
Swift Package Managerはどちらの統合方法でもパッケージトレイトを転送できないため、Adapty React Native SDKにはトレイトを自動で適用するツールが用意されています。Install Adapty SDKで説明されているiOSプロジェクトのセットアップ方法に合わせて、適切な方法を選んでください。
Kids Mode が有効になっていることを確認するには、adapty.activate(...) のログ行に kids_mode_enabled: true が表示されているかどうかを確認してください。
Android マニフェストの更新
アプリが子ども専用であり、Android 13(API 33)以上を対象としている場合、Google Play では AD_ID 権限のリクエストが禁止されています。アプリ内の別の SDK(アナリティクス、アトリビューション、広告など)がマニフェストのマージによってこの権限を追加する場合があります。adIdCollectionDisabled を設定すると、Adapty による ID の収集は停止されますが、別の SDK が宣言した権限が削除されるわけではありません。
この権限を削除するには、android/app/src/main/AndroidManifest.xml の <manifest> 要素内に以下を追加してください。<manifest> 要素には xmlns:tools="http://schemas.android.com/tools" の宣言が必要です。
<uses-permission
android:name="com.google.android.gms.permission.AD_ID"
tools:node="remove" />