# 児童データ保護法への準拠、CARU への準拠、およびコンテキスト連動型広告

> 児童データプライバシー法を遵守します。コンテキスト連動型広告を有効にし、COPPA と CARU の要件を満たすように年齢指定を設定します。

児童オンラインプライバシー保護法 ([COPPA](https://www.ftc.gov/enforcement/rules/rulemaking-regulatory-reform-proceedings/childrens-online-privacy-protection-rule)) をはじめとする児童データ保護法では、制限年齢に満たないユーザー (適用法に応じて 13 歳、16 歳、または 18 歳未満の児童など) からのデータの収集とその使用に関して、各種の制限が設けられています。Unity Ads では、関連する児童データ保護法の下で保護されるユーザーに対してパブリッシャーが安全でポジティブなユーザー体験を提供できるよう支援するための機能を、ゲームレベルとユーザーレベルのどちらでも用意しています。Unity Ads が有効になっている各プロジェクトでは、ゲームが制限年齢に満たないユーザーをターゲットにしているかどうかを指定する必要があります。

> **Important:**
>
> Unity の収益化ダッシュボードでアプリケーションレベルとユーザーレベルの年齢指定が正確に設定されていることを確認するのは開発者の責任です。

ゲームに表示される可能性のある広告は 2 種類あります。

* **パーソナライズ** 広告は、ユーザーの行動データを利用して、ユーザーが興味を持つ可能性が高いコンテンツを配信します。例えば、ユーザーがスポーツをテーマとしたゲームのシリーズをプレイした場合、類似するスポーツをテーマとする他のゲームの広告が表示される可能性があります。制限年齢に満たないユーザーをターゲットとするゲームではパーソナライズ広告を配信できません。パーソナライズ広告を配信するゲームは、コンテキスト連動型広告を許可するゲームよりも高い収益を生む傾向があります。
* **コンテキスト連動型** 広告は、ユーザーが現在プレイしているゲームのみに基づきます。例えば、ユーザーがバスケットボールを特徴とするゲームをプレイしている場合は、ユーザーがプレイした他のゲームに関係なく、バスケットボールを特徴とする他のゲームが表示される可能性が高くなります。制限年齢に満たないユーザーをターゲットとするゲームでは、コンテキスト連動型広告のみを配信できます。コンテキスト連動型広告のみを配信するゲームは、パーソナライズ広告を許可するゲームよりも収益が少ない傾向があります。

## ゲームレベルの年齢指定の設定##setting-game-level-age-designations

年齢指定または準拠オプションを選択すると、プロジェクトで広告リクエストがどのように処理されるかが決まります。ゲームレベルでは、オーディエンスが児童 (定義は、適用される児童データ法の定めによります) と大人のどちらであるかに応じて、すべての広告リクエストが、すべて児童のトラフィックまたはすべて大人のトラフィックとして扱われます。

プロジェクトが児童と大人の両方を対象としている場合は、ユーザーの年齢層に基づいて配信する広告を指定できるように、年齢指定をユーザーレベルで実装できます。詳細については、[ユーザーレベルの年齢指定の実装](#user-level) を参照してください。

[Monetization ダッシュボード](http://cloud.unity.com/monetization) から使用できる [児童データ保護法に準拠するためのオプション](/grow/dashboard/get-started/project/settings.md) を以下に示します。

* **This project is directed to children** (このプロジェクトは児童を対象とします): そのゲームは関連する児童データ保護法の制限の対象となるため、すべてのユーザーに対してコンテキスト連動型 (ターゲットを指定しない) 広告しか配信できません。この指定により、混在オーディエンス向けアプリケーションとしても指定したアプリケーションに対してのみ、[ユーザー固有の年齢指定を有効にする](#user-level) ことができます。
* **This project is not directed to children** (このプロジェクトは児童を対象としません): そのゲームは関連する児童データ保護法の制限の対象とならないため、すべてのユーザーに対して行動に基づく (ターゲットを指定した) 広告を配信できます。
* **Mixed audience** (混在オーディエンス): そのプロジェクトが児童と大人 (両者の定義は関連する児童データ保護法によります) のどちらのユーザーも対象とすることを意味します。混在オーディエンス向けのプロジェクトでは、すべてのユーザーを一様に扱って、年齢に関係なく、すべてのユーザーにパーソナライズ広告またはコンテキスト連動型広告を配信するのではなく、ユーザーの年齢層を個人レベルで検出し、COPPA その他適用される児童データ保護法の制限に従って、各ユーザーに広告を適宜配信できます。

> **Note:**
>
> プロジェクトに対して混在オーディエンス指定を有効にするには、まず、Game-level age designation (ゲームレベルの年齢指定) セクションで、児童を対象とするプロジェクトを選択する必要があります。

## ユーザーレベルの年齢指定の実装##user-level

> **Note:**
>
> ユーザーレベルの年齢指定を実装できるのは、プロジェクトに対して混在オーディエンスが有効になっている場合のみです。

Monetization ダッシュボードのゲームレベルの年齢指定では、ユーザー全員が制限年齢に満たない児童であるか、あるいは全員が大人であるかのように、広告リクエストを一様に扱います。プロジェクトが混在オーディエンス向けであることを示すオプションを選択すると、ユーザーの個々の信号を追跡し、そのユーザーを児童または成人として扱い、それぞれコンテキスト連動型広告またはパーソナライズ広告を配信できます。何らかの理由で信号が不特定の場合は、デフォルトでコンテキスト連動型広告が配信されます。

アプリが児童を対象としているものの、混在オーディエンスをより適切に表したい場合は、Unity Ads SDK に渡されるフラグに従って、プログラムでユーザーに年齢指定を割り当てることができます。

これを行うために、以下のセクションでは特定のユースケースに基づいて、nonbehavioral metadata API を実装します。

> **Important:**
>
> nonbehavioral フィールドが **true** の場合、ユーザーはパーソナライズ広告を受け取ることができません。nonbehavioral フィールドが **false** の場合、ユーザーはパーソナライズ広告を受け取ることができます。Unity Ads がユーザーを誤って児童として扱ったり、パーソナライズ広告をオプトアウトしている大人、またはセッション中にパーソナライズ広告に同意している大人として誤って扱ったりしないように、SDK が初期化されるたびに適切な年齢制限ステータスを伝える必要があります。

### Unity Ads のみ使用およびセルフメディエーションの顧客##unity-ads-exclusive-and-self-mediated-customers

パートナーメディエーター (MAX、ironSource、AdMob) を介してではなく、プロジェクトから直接 Unity に信号を送信しており、ユーザーレベルの年齢指定を実装する場合は、以下の手順に従います。

1. ユーザーがパーソナライズ広告を受け取るかどうかを判断する方法を実装します。これをどのように行うかは開発者が決めます。
2. nonbehavioral metadata API を実装して、各ユーザーの年齢制限ステータスを Unity に伝えます。
3. アプリケーションを再ビルドします。
4. Monetization (収益化) ダッシュボードでプロジェクト設定に移動し、**Privacy settings** (プライバシー設定) セクションに移動します。Game-level age designation (ゲームレベルの年齢指定) を **This app is directed to children** (このアプリは児童を対象とします) に設定し、**Is this a Mixed Audience Game?** (これは混在オーディエンス向けゲームですか?) を **Yes** (はい) に設定します。

### サードパーティのメディエーションの顧客##third-party-mediation-customers

プロジェクトでサポート対象のメディエーションプラットフォームを使用しており、ユーザーレベルの年齢指定を実装する場合は、以下の手順に従います。

1. ユーザーがパーソナライズ広告を受け取るかどうかを判断する方法を実装します。これをどのように行うかは開発者が決めます。
2. その情報をプラットフォームに伝える方法については、メディエーションプロバイダーのドキュメントに従います。現在、Unity では、ユーザーレベルの年齢指定のためのサードパーティ製のメディエーションソリューションとして、ironSource、[MAX](https://dash.applovin.com/documentation/mediation)、[AdMob](https://support.google.com/admob/answer/6223431?hl=en) をサポートしています。

> **Note:**
>
> プロジェクトの Unity Ads の初期化とプロバイダーの選択の詳細については、
>
> [メディエーションパートナー](/monetization/bidding/in-app-bidding.md)
>
> &#x20;のドキュメントを参照してください。

3. Monetization (収益化) ダッシュボードでプロジェクト設定に移動し、**Privacy settings** (プライバシー設定) セクションに移動します。Game-level age designation (ゲームレベルの年齢指定) を **This app is directed to children** (このアプリは児童を対象とします) に設定し、**Is this a Mixed Audience Game?** (これは混在オーディエンス向けゲームですか?) を **Yes** (はい) に設定します。

### サードパーティ製のメディエーションプラットフォーム##third-party-mediation-platforms

サードパーティのメディエーションプロバイダーであり、開発者に代わって Unity へのユーザーレベルの年齢制限信号の送信をサポートしたい場合は、カスタマーサポートまたはマネージングパートナーに連絡してください。

> **Note:**
>
> &#x20;現在、Unity では、ユーザーレベルの年齢指定のためのサードパーティ製のメディエーションソリューションとして、ironSource、
>
> [MAX](https://dash.applovin.com/documentation/mediation)
>
> 、
>
> [AdMob](https://support.google.com/admob/answer/6223431?hl=en)
>
> &#x20;をサポートしています。プロジェクトの Unity Ads の初期化とプロバイダーの選択の詳細については、
>
> [メディエーションパートナー](/monetization/bidding/in-app-bidding.md)
>
> &#x20;のドキュメントを参照してください。

## ユーザー固有の年齢制限信号のトラッキング##tracking-user-specific-age-restricted-signals

Monetization (収益化) ダッシュボードの Project Settings (プロジェクト設定) ページで、ゲームレベルの年齢指定を混在オーディエンスに設定し、ユーザーレベルの年齢指定をアプリに実装したら、以下を追跡できるようになります。

* プラットフォームごとの、アプリケーションのユーザー信号のステータス (該当する場合)
* 大人のトラフィックと児童のトラフィックのオーディエンスの内訳

アプリコードへの年齢認証の実装が、児童 (定義は、適用される児童データ法の定めによります) と大人の制限年齢層の定義に正しく従っていることを考えると、すべての不特定のトラフィックは、アプリで年齢または年齢層を共有することに同意していないユーザーで構成されます。この場合、不特定のトラフィックは、児童データ保護法の制限に準拠するために児童のトラフィックとして扱われます。その結果、児童のトラフィックと不特定のトラフィックの合計が、コンテキスト連動型広告を配信するユーザーの総数になります。

> **Important:**
>
> 年齢認証の実装が適用法とこのユーザーレベルの年齢制限機能の意図に準拠していることを保証するのは、パブリッシャーの責任です。Unity および Unity Ads SDK は、年齢認証メカニズムの検証や、関連する信号情報が変換され、処理のために Unity に渡されるしくみの検証に対して責任を負いません。

### nonbehavioral metadata API 実装##nonbehavioral-metadata-api-implementation

1. **Unity (C#)**

   ```cs
   // ユーザーがパーソナライズ広告をオプトアウトする場合: 
   MetaData userMetaData = new MetaData("user");
   userMetaData.Set("nonbehavioral", true);
   Advertisement.SetMetaData(userMetaData);

   // If the user opts in to personalized ads:
   MetaData userMetaData = new MetaData("user");
   userMetaData.Set("nonbehavioral", false);
   Advertisement.SetMetaData(userMetaData);
   ```

   > **Note:**
   >
   > 別の値の設定を試す前に、各値の `MetaData` オブジェクトに対する変更をコミットする必要があります。

2. **iOS (Objective-C)**

   ```objective-c
   // ユーザーがパーソナライズ広告をオプトアウトする場合: 
   UADSMetaData *userMetaData = [[UADSMetaData alloc] init];
   [userMetaData set:@"user.nonbehavioral" value:@YES];
   [userMetaData commit];

   // If the user opts in to personalized ads:
   UADSMetaData *userMetaData = [[UADSMetaData alloc] init];
   [userMetaData set:@"user.nonbehavioral" value:@NO];
   [userMetaData commit];
   ```

   > **Note:**
   >
   > 別の値の設定を試す前に、各値の `MetaData` オブジェクトに対する変更をコミットする必要があります。

3. **Android (Java)**

   ```java
   // ユーザーがパーソナライズ広告をオプトアウトする場合: 
   MetaData userMetaData = new MetaData(this);
   userMetaData.set("user.nonbehavioral", true);
   userMetaData.commit();

   // If the user opts in to personalized ads:
   MetaData userMetaData = new MetaData(this);
   userMetaData.set("user.nonbehavioral", false);
   userMetaData.commit();
   ```

   > **Note:**
   >
   > 別の値の設定を試す前に、各値の `MetaData` オブジェクトに対する変更をコミットする必要があります。

ユーザーが年齢を確認するアクションを取っていない場合は (プロンプトを閉じるなど)、それらを促すメッセージを後で再度表示することをお勧めします。個人の年齢制限ステータスが未定義のユーザーには、Monetization ダッシュボードで定義されている [デフォルトの動作](/grow/dashboard/get-started/project/settings.md#default-behavior-for-unknown-users) と一致する広告が表示されます。

## CARU 準拠##caru-compliance

子供向け広告審査ユニット (CARU) は、13 歳未満の児童に対する責任ある広告とプライバシー保護を推進しています。お客様の CARU ガイドライン準拠を支援するために、COPPA の対象となるすべての広告に、広告であることを示す "Advertisement" というウォーターマークを入れ、終了ボタンとスキップボタンを太字にしています。
