# フラッターの詳細設定の調整

> 同意管理やユーザー データ処理など、GDPRおよびCOPPAコンプライアンスの高度な規制設定を構成します。

## LevelPlay による GDPR 同意の管理

LevelPlay のメディエーションプラットフォームは、ユーザーの同意の選択を、サポートされている広告ネットワークに渡すことができます。LevelPlay SDK バージョン 7.7.0 から、以下のエンティティから収集された GDPR (一般データ保護規則) の同意が LevelPlay SDK に自動的に共有され、GDPR への準拠が保証されるようになりました。

* Google の CMP ソリューション (Google UMP)
* Google Additional Consent をサポートする互換性のある CMP

### 前提条件

ユーザーの同意状態を LevelPlay SDK に渡す前に、以下を確認してください。

* LevelPlay SDK バージョン 9.5.0 以上をインストールして使用していること。
* ネットワークとブーリアン値のマップを送信し、ユーザーが各ネットワークにデータの収集と共有の権限を付与しているかどうかを示すことで、ネットワークごとに同意を個別に設定していること。

### ユーザーの同意状態の手動更新

使用する API は LevelPlay SDK のバージョンによって異なります。

#### LevelPlay SDK バージョン 9.5.0 以降

1. **Android**

   ```kotlin
   LevelPlayPrivacySettings.setGDPRConsent(true)
   ```

2. **iOS**

   ```swift
   LPMPrivacySettings.setGDPRConsent(true)
   ```

3. **Unity**

   ```cs
   LevelPlayPrivacySettings.SetGDPRConsent(true);
   ```

4. **Flutter**

   ```dart
   LevelPlayPrivacySettings.setGDPRConsent(true);
   ```

5. **React Native**

   ```js
   LevelPlayPrivacySettings.setGDPRConsent(true);
   ```

#### LevelPlay SDK バージョン 9.4.0

LevelPlay SDK バージョン 9.4.0 では、以下の API を使用します。この API では、ネットワークとブーリアン値のマップを使用して、ネットワークごとに同意を個別に設定します。

> **Important:**
>
> このメソッドを呼び出すたびに、以前に保存されたすべての GDPR 同意が完全に置き換えられます。呼び出し後に同意エントリを持つのは、指定されたマップに含まれるネットワークだけです。保存されている同意を削除するには、マップからそのネットワークを除外してください。

1. **Android**

   ```kotlin
   val consents = mapOf(
       "UnityAds" to true,
       "IronSource" to false
   )
   LevelPlayPrivacySettings.setGDPRConsents(consents)
   ```

2. **iOS**

   ```swift
   let consents: [String: NSNumber] = [
       "UnityAds": true,
       "IronSource": false
   ]
   LPMPrivacySettings.setGDPRConsents(consents)
   ```

3. **Unity**

   ```cs
   Dictionary<string, bool> consents = new Dictionary<string, bool>
   {
       { "UnityAds", true },
       { "IronSource", false }
   };
   LevelPlayPrivacySettings.SetGDPRConsents(consents);
   ```

4. **Flutter**

   ```dart
   LevelPlayPrivacySettings.setGDPRConsents(
     {
       'UnityAds': true,
       'IronSource': false
     }
   );
   ```

5. **React Native**

   ```js
   LevelPlayPrivacySettings.setGDPRConsents(
     {
       'UnityAds': true,
       'IronSource': false
     }
   );
   ```

以下のリストは、コードで使用できるネットワークキーの詳細を示します。

* UnityAds
* AdMob
* AppLovin
* APS
* BidMachine
* Bigo
* Chartboost
* Facebook
* Fyber
* HyprMx
* InMobi
* Line
* Mintegral
* MobileFuse
* Moloco
* MyTarget
* Ogury
* Pangle
* PubMatic
* Smaato
* SuperAwesome
* Verve
* Voodoo
* Vungle
* Yandex
* YSO

#### LevelPlay SDK バージョン 9.3.0 以前

LevelPlay SDK バージョン 9.3 以前では、以下の API を使用します。

> **Note:**
>
> この API は非推奨になり、将来の SDK バージョンで削除される予定です。

1. **Android**

   ユーザーが同意した場合は、以下のフラグを true に設定します。

   ```java
   LevelPlay.setConsent(true);
   ```

   ユーザーが同意しない場合は、以下のフラグを false に設定します。

   ```java
   LevelPlay.setConsent(false);
   ```

2. **iOS**

   ユーザーが同意した場合は、以下のフラグを true に設定します。

   ```objective-c
   [LevelPlay setConsent:YES];
   ```

   ユーザーが同意しない場合は、以下のフラグを false に設定します。

   ```objective-c
   [LevelPlay setConsent:NO];
   ```

3. **Unity**

   ユーザーが同意した場合は、以下のフラグを true に設定します。

   ```cs
   LevelPlay.setConsent(true);
   ```

   ユーザーが同意しない場合は、以下のフラグを false に設定します。

   ```cs
   LevelPlay.setConsent(false);
   ```

4. **Flutter**

   ユーザーが同意した場合は、以下のフラグを true に設定します。

   ```dart
   LevelPlay.setConsent(true);
   ```

   ユーザーが同意しない場合は、以下のフラグを false に設定します。

   ```dart
   LevelPlay.setConsent(false);
   ```

5. **React Native**

   ユーザーが同意した場合は、以下のフラグを true に設定します。

   ```js
   LevelPlay.setConsent(true);
   ```

   ユーザーが同意しない場合は、以下のフラグを false に設定します。

   ```js
   LevelPlay.setConsent(false);
   ```

## LevelPlay でのコンシューマープライバシー法コンプライアンスの管理

> **Important:**
>
> パブリッシャーは、米国各州のプライバシー法などのコンシューマープライバシー法がどのように適用されるかについて、自社の法律顧問に相談する必要があります。この情報は、コンプライアンス対応を支援する目的で提供されているものであり、法的助言ではありません。

LevelPlay のメディエーションプラットフォームは、パブリッシャーが API をサポートする関連ネットワークに `do not sell` リクエストを渡すことができるようにすることで、カリフォルニア州消費者プライバシー法 (CCPA) などのコンシューマープライバシー法に基づいてエンドユーザーの個人情報の販売や共有を制限することをサポートします。各ネットワークは、それぞれのポリシーに従ってこの信号を処理する必要があります。

Unity Ads SDK は、以下のプライバシーフレームワークをサポートします。

* カリフォルニア州消費者プライバシー法 (CCPA) - カリフォルニア州で 2019 年 1 月に発効。
* ブラジル一般データ保護法 (LGPD) - 2021 年 8 月に発効。
* バージニア州消費者データプライバシー法 (VCDPA) - バージニア州で 2023 年 1 月に発効。
* コロラド州プライバシー法 (CPA)。コロラド州で 2023 年 7 月に発効。
* コネチカット州データプライバシー法 (CTDPA) - コネチカット州で 2023 年 7 月に発効。
* ケベック州法 25 (QCLAW25) - カナダのケベック州で 2023 年 9 月に発効。
* ユタ州消費者プライバシー法 (UCPA) - ユタ州で 2023 年 12 月に発効。
* フロリダ州デジタル権利章典 (FDBR)。2024 年 7 月にフロリダ州で発効。
* オレゴン州消費者プライバシー法 (OCPA) - オレゴン州で 2024 年 7 月に発効。
* テキサス州データプライバシーおよびセキュリティ法 (TDPSA) - テキサス州で 2024 年 7 月に発効。
* モンタナ州消費者データプライバシー法 (MCDPA) - モンタナ州で 2024 年 10 月に発効。
* アイオワ州消費者データ保護法 (ICDPA) - アイオワ州で 2025 年 1 月 1 日に発効。
* ネブラスカ州データプライバシー法 (NDPA) - ネブラスカ州で 2025 年 1 月 1 日に発効。
* ニューハンプシャー州データプライバシー法 (NHDPA) - ニューハンプシャー州で 2025 年 1 月 1 日に発効。
* デラウェア州個人データプライバシー法 (DPDPA) - デラウェア州で 2025 年 1 月 1 日に発効。
* ニュージャージー州データプライバシー法 (NJDPA) - ニュージャージー州で 2025 年 1 月 16 日に発効。
* テネシー州情報保護法 (TIPA) - テネシー州で 2025 年 7 月 1 日に発効。
* ミネソタ州消費者データプライバシー法 (MNCDPA) - ミネソタ州で 2025 年 7 月 31 日に発効。
* メリーランド州オンラインデータプライバシー法 (MODPA) - メリーランド州で 2025 年 10 月 1 日に発効。
* ロードアイランド州データ透明性およびプライバシー保護法 (RIDTPPA) - ロードアイランド州で 2026 年 1 月 1 日に発効。
* ケンタッキー州消費者データ保護法 (KCDPA) - ケンタッキー州で 2026 年 1 月 1 日に発効。
* インディアナ州消費者データ保護法 (ICDPA) - インディアナ州で 2026 年 1 月 1 日に発効。

[Unity のプライバシーへの取り組み](https://unity.com/legal) の詳細については、Unity の法務関連サイトを参照してください。

`do not sell` 設定を使用して、ユーザーが個人情報の販売または共有をオプトアウトしたかどうかを示す信号をサポート対象の広告ネットワークに渡します。

LevelPlay SDK バージョン 6.14.0 以降、推奨されるベストプラクティスは、SDK を初期化する前に API を設定して、プライバシーフレームワークへの準拠を確認することです。

### 前提条件

ユーザーの同意状態を LevelPlay SDK に渡す前に、LevelPlay SDK バージョン 9.4.0 以上をインストールし、使用していることを確認してください。

### ユーザーの同意状態の手動更新

使用する API は LevelPlay SDK のバージョンによって異なります。

#### LevelPlay SDK バージョン 9.4.0 以降

ユーザーが個人情報の販売または共有をオプトアウトしている場合は、以下の API を使用します。

1. **Android**

   ```kotlin
   LevelPlayPrivacySettings.setCCPA(true)
   ```

2. **iOS**

   ```swift
   LPMPrivacySettings.setCCPA(true)
   ```

3. **Unity**

   ```cs
   LevelPlayPrivacySettings.SetCCPA(true);
   ```

4. **Flutter**

   ```dart
   LevelPlayPrivacySettings.setCCPA(true);
   ```

5. **React Native**

   ```js
   LevelPlayPrivacySettings.setCCPA(true);
   ```

#### LevelPlay SDK バージョン 9.3.0 以前

LevelPlay SDK バージョン 9.3 以前では、以下の API を使用します。

> **Note:**
>
> この API は非推奨になり、将来の SDK バージョンで削除される予定です。

1. **Android**

   ユーザーが個人情報の販売または共有をオプトアウトしている場合:

   ```java
   LevelPlay.setMetaData("do_not_sell","true");
   ```

   ユーザーが個人情報の販売に同意した場合:

   ```java
   LevelPlay.setMetaData("do_not_sell","false");
   ```

2. **iOS**

   ユーザーが個人情報の販売または共有をオプトアウトしている場合:

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"do_not_sell" value:@"YES"];
   ```

   ユーザーが個人情報の販売に同意した場合:

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"do_not_sell" value:@"NO"];
   ```

3. **Unity**

   ユーザーが個人情報の販売または共有をオプトアウトしている場合:

   ```cs
   LevelPlay.setMetaData("do_not_sell","true");
   ```

   ユーザーが個人情報の販売に同意した場合:

   ```cs
   LevelPlay.setMetaData("do_not_sell","false");
   ```

4. **Flutter**

   ユーザーが個人情報の販売または共有をオプトアウトしている場合:

   ```dart
   LevelPlay.setMetaData({'do_not_sell': ['true']});
   ```

   ユーザーが個人情報の販売に同意した場合:

   ```dart
   LevelPlay.setMetaData({'do_not_sell': ['false']});
   ```

5. **React Native**

   ユーザーが個人情報の販売または共有をオプトアウトしている場合:

   ```js
   LevelPlay.setMetaData('do_not_sell', ['true']);
   ```

   ユーザーが個人情報の販売に同意した場合:

   ```js
   LevelPlay.setMetaData('do_not_sell', ['false']);
   ```

## 年齢ゲートを使用した子ども向けアプリケーションのユーザーレベル設定の管理

LevelPlay のメディエーションプラットフォームでは、適用法 (児童オンラインプライバシー保護法 (COPPA) など) がどのように適用されるかに応じて、子ども向けアプリのパブリッシャーが、特定のエンドユーザーを子ども向けの取り扱いの対象とするかどうかを信号として通知できます。その後、ネットワークは独自のポリシーと設定に従ってこの信号を処理する責任を負います。

子ども向けアプリケーションのパブリッシャーは、アプリケーションがすべてのエンドユーザーを子どもとして扱う必要があるか、エンドユーザーレベルでのフラグ設定を許可するかを決定する責任があります。推奨されるベストプラクティスは、子ども向けアプリケーションのユーザーレベル設定を実装する前に、法律顧問に義務について相談することです。

`is_child_directed` フラグを使用して、特定のエンドユーザーが子どもかどうかを示します。LevelPlay SDK バージョン 7.1.0 以降、推奨されるベストプラクティスは、SDK を初期化する前に API を設定して、プライバシーフレームワークへの準拠を確認することです。

### 前提条件

ユーザーの同意状態を LevelPlay SDK に渡す前に、LevelPlay SDK バージョン 9.4.0 以上をインストールし、使用していることを確認してください。

### エンドユーザーを子どもとしてフラグ設定する

使用する API は LevelPlay SDK のバージョンによって異なります。

#### LevelPlay SDK バージョン 9.4.0 以降

以下の API を使用して、サポートされているすべての[ネットワーク](/grow/levelplay/platform/legal-resources/children-child-directed-apps.md.md)で、エンドユーザーに子ども向けのフラグを設定します。

1. **Android**

   ```kotlin
   LevelPlayPrivacySettings.setCOPPA(true)
   ```

2. **iOS**

   ```swift
   LPMPrivacySettings.setCOPPA(true)
   ```

3. **Unity**

   ```cs
   LevelPlayPrivacySettings.SetCOPPA(true);
   ```

4. **Flutter**

   ```dart
   LevelPlayPrivacySettings.setCOPPA(true);
   ```

5. **React Native**

   ```js
   LevelPlayPrivacySettings.setCOPPA(true);
   ```

#### LevelPlay SDK バージョン 9.3.0 以前

以下の API は、LevelPlay SDK バージョン 9.3.0 以前の古い機能に使用します。

> **Note:**
>
> この API は非推奨になり、将来の SDK バージョンで削除される予定です。

ネットワークキーと関連する値の完全なリストについては、[Unity LevelPlay - 子どもおよび子ども向けアプリ](/grow/levelplay/platform/legal-resources/children-child-directed-apps.md.md)を参照してください。

1. **Android**

   例えば ironSource Ads ネットワークの場合、エンドユーザーが子どもであるときは、以下の API を使用します。

   ```java
   LevelPlay.setMetaData("is_child_directed","true");
   ```

   エンドユーザーが子どもでない場合は、以下の API を使用します。

   ```java
   LevelPlay.setMetaData("is_child_directed","false");
   ```

2. **iOS**

   例えば ironSource Ads ネットワークの場合、エンドユーザーが子どもであるときは、以下の API を使用します。

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"is_child_directed" value:@"YES"];
   ```

   エンドユーザーが子どもでない場合は、以下の API を使用します。

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"is_child_directed" value:@"NO"];
   ```

3. **Unity**

   例えば ironSource Ads ネットワークの場合、エンドユーザーが子どもであるときは、以下の API を使用します。

   ```cs
   LevelPlay.setMetaData("is_child_directed","true");
   ```

   エンドユーザーが子どもでない場合は、以下の API を使用します。

   ```cs
   LevelPlay.setMetaData("is_child_directed","false");
   ```

4. **Flutter**

   例えば ironSource Ads ネットワークの場合、エンドユーザーが子どもであるときは、以下の API を使用します。

   ```dart
   LevelPlay.setMetaData({'is_child_directed': ['true']});
   ```

   エンドユーザーが子どもでない場合は、以下の API を使用します。

   ```dart
   LevelPlay.setMetaData({'is_child_directed': ['false']});
   ```

5. **React Native**

   例えば ironSource Ads ネットワークの場合、エンドユーザーが子どもであるときは、以下の API を使用します。

   ```js
   LevelPlay.setMetaData('is_child_directed', ['true']);
   ```

   エンドユーザーが子どもでない場合は、以下の API を使用します。

   ```js
   LevelPlay.setMetaData('is_child_directed', ['false']);
   ```

## Google 再生ファミリーポリシー##google-play-families-policy

Google 再生の[ファミリー向けプログラム](https://support.google.com/googleplay/android-developer/answer/9893335)に参加しているアプリケーション、Google 再生のファミリセクションにリストされているアプリケーション、または子をターゲットオーディエンスの 1 人に含めるアプリケーションがある場合は、次の手順に従います。

さらに、LevelPlay プラットフォームでアプリケーションに COPPA 準拠のフラグを立てます。

### 子向けアプリのガイダンス##guidance-for-apps-directed-at-children

アプリケーションが主に子を対象としている場合は、次の手順に従います。

1. LevelPlay SDK 7.2.1 以降の統合

2. Android Advertising ID（AAID）にアクセスしないようにアプリケーションのマニフェストファイルを更新します。

   ```xml
   <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
   ```

3. LevelPlay メタデータ API を使用して、子としてフラグ設定された終了ユーザが AAID にアクセスできないようにします。LevelPlay SDK を初期化する前に必ずこれを行ってください。

   ```as
   LevelPlay.setMetaData({
         'is_deviceid_optout': ['true'],
         'is_child_directed': ['true']
       });
   ```

4. アプリケーションのGradleの更新:

   ```java
   implementation 'com.google.android.gms:play-services-appset:16.1.0'
   ```

### 混在オーディエンス向けアプリケーションのガイダンス##guidance-for-apps-directed-at-a-mixed-audience

アプリケーションが混在オーディエンス向けの場合は、次の手順に従います。

1. LevelPlay SDK 7.2.1 以降の統合

2. Android Advertising ID（AAID）にアクセスできるようにアプリケーションのマニフェストファイルを更新します。

   ```xml
   <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
   ```

3. LevelPlay Metadata API を使用して、子または年齢が不明なユーザだけが AAID にアクセスできないようにし、それらのユーザに子としてフラグを設定します。LevelPlay SDK を初期化する前に必ずこれを行ってください。

   ```as
   LevelPlay.setMetaData({
         'is_deviceid_optout': ['true'],
         'is_child_directed': ['true'],
         'Google_Family_Self_Certified_SDKS': ['true']
       });
   ```

4. アプリケーションのGradleの更新:

   ```java
   implementation 'com.google.android.gms:play-services-appset:16.1.0'
   implementation 'com.google.android.gms:play-services-ads-identifier:18.2.0'
   ```

> **Note:**
>
> GAID(Android Advertising ID)へのアクセスを禁止すると、
> Monetization化のパフォーマンス。これらのインテグレーション変更のみが行われるようにする
> 必要なアプリとユーザーのために、
