UnitySDKのキッズモード

Unityアプリが子ども向けの場合、AppleGoogleのポリシーに従う必要があります。Adapty SDKを使用している場合、いくつかの簡単な手順でこれらのポリシーに準拠し、アプリストアの審査を通過できるよう設定できます。

何が必要ですか?

以下の収集を無効にするようAdapty SDKを設定する必要があります。

また、カスタマーユーザーIDの取り扱いには注意が必要です。<FirstName.LastName>形式のユーザーIDや、メールアドレスの使用は、個人情報の収集として扱われます。キッズモードでは、ランダム化または匿名化された識別子(ハッシュIDやデバイス生成のUUIDなど)を使用することがコンプライアンス確保のベストプラクティスです。

キッズモードの有効化

Adapty ダッシュボードでの設定

Adapty ダッシュボードでIPアドレスの収集を無効にする必要があります。App settingsに移動し、Collect users’ IP addressの下にあるDisable IP address collectionをクリックしてください。

アプリコードの変更

SDKを有効化する際に、Android Advertising IDとIPアドレスの収集を無効にしてください:

var builder = new AdaptyConfiguration.Builder("YOUR_PUBLIC_SDK_KEY")
    .SetGoogleAdvertisingIdCollectionDisabled(true) // set to `true`
    .SetIPAddressCollectionDisabled(true); // set to `true`

Adapty.Activate(builder.Build(), (error) => {
    if (error != null) {
        // handle the error
        return;
    }
});

iOS では、SetAppleIDFACollectionDisabled を呼び出す必要はありません。iOS ビルドで Kids Mode を有効にすると(下記参照)、SDK の設定で IDFA の収集が自動的に無効化されます。

iOS ビルドで Kids Mode を有効にする

iOS では、Kids Mode は KidsMode という名前の Swift パッケージトレイトです。有効にすると、IDFA、AdSupport、および AppTrackingTransparency が SDK バイナリからコンパイル対象外になります。この機能を使用するには SDK 4.0 以降が必要です(Swift Package Manager を通じてネイティブ iOS SDK がインストールされます)。また、それ以前のバージョンの Xcode は Swift パッケージトレイトをサポートしていないため、Xcode 26 以降も必要です。

  1. Unity Editor で Player Settings > Other Settings に移動し、iOS プラットフォームの Scripting Define SymbolsADAPTY_KIDS_MODE を追加します。
  2. 通常どおりプロジェクトを iOS 向けにビルドします。Adapty は生成された Xcode プロジェクト内の AdaptySDK-iOS パッケージ参照に KidsMode トレイトを有効にし、ランタイム設定で apple_idfa_collection_disabled を強制します。

Player Settings でdefineを追加してください。ビルドプロファイルのスクリプティングdefineは、Unityが再コンパイルした後にのみEditorアセンブリに反映されます。そのため、同じセッションで開始したビルドでは、実行時にKids Modeを報告しながらIDFAをリンクしたままのバイナリが生成される可能性があります。Adaptyはその状態を検出するとiOSビルドを失敗させます。BuildPlayerOptions.extraScriptingDefines は一切サポートされていません。Editorアセンブリには反映されないためです。

Androidマニフェストの更新

アプリが子ども向けのみで、Android 13(API 33)以上をターゲットにしている場合、Google PlayはAD_IDパーミッションをリクエストしないことを要求しています。SDK設定でコレクションを無効にしても、AdaptyによるIDの収集は停止されますが、他のプラグインがマニフェストのマージを通じて宣言したパーミッションは削除されません。

パーミッションを削除するには、Player Settings > Publishing SettingsCustom Main Manifest を有効にし、Assets/Plugins/Android/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" />

Unityアプリが子ども向けの場合、AppleおよびGoogleのポリシーに従う必要があります。Adapty SDKを使用している場合、いくつかの簡単な手順でポリシーに準拠した設定を行い、アプリストアの審査を通過できます。

必要な設定は?

以下の情報の収集を無効にするよう、Adapty SDK を設定する必要があります。

また、カスタマーユーザーIDの扱いには注意が必要です。<FirstName.LastName> 形式のユーザーIDは、メールアドレスと同様に個人データの収集と見なされます。キッズモードでは、ランダム化または匿名化された識別子(ハッシュ化IDやデバイス生成UUIDなど)を使用することがベストプラクティスです。これによりコンプライアンスを確保できます。

キッズモードを有効にする

Adapty ダッシュボードでの設定変更

Adapty ダッシュボードでは、IPアドレスの収集を無効にする必要があります。App settings に移動し、Collect users’ IP address の下にある Disable IP address collection をクリックしてください。

アプリコードの更新

SDKを有効化する際に、Android Advertising IDおよびIPアドレスの収集を無効にしてください:

var builder = new AdaptyConfiguration.Builder("YOUR_PUBLIC_SDK_KEY")
    .SetGoogleAdvertisingIdCollectionDisabled(true) // set to `true`
    .SetIPAddressCollectionDisabled(true); // set to `true`

Adapty.Activate(builder.Build(), (error) => {
    if (error != null) {
        // handle the error
        return;
    }
});

iOSビルドでキッズモードを有効にする

IDFAおよびAdSupportをiOSバイナリからコンパイル時に除外するには、Adapty Unity SDK 4.0以降が必要です。移行ガイドを参考にアップグレードしてから、このページのSDK 4.0の手順に従ってください。

SDK 3.xでは、SDKの設定でSetAppleIDFACollectionDisabled(true)を使用してIDFAの収集を無効にすることはできますが、IDFAおよびAdSupportのコードはバイナリに残ります。ネイティブの設定オプションについては、iOSSDKのキッズモードおよびAndroidSDKのキッズモードをご覧ください。