# GDPR への同意の設定

> 開発者 Consent API を使用して独自のカスタム同意ソリューションを設定し、GDPR 要件に準拠するという推奨されるベストプラクティスをアプリケーションで使用します。

Unity Ads SDK は、すべてのバージョンが EU 一般データ保護規則 (GDPR) に準拠しています。GDPR は、欧州経済領域 (EEA) で 2018 年 5 月 25 日に発効しました。

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

## カスタム同意ソリューションの実装##implement-a-custom-consent-solution

アプリケーションにカスタムの同意ソリューションを実装する場合は、ユーザーの同意状態を Unity Ads SDK に送信する必要があります。

以下のセクションでは、カスタム同意ソリューションの実装を TCF ユーザー以外として、また統合 CMP を使用する TCF ユーザーとして処理するためのガイドラインについて説明します。

### Developer Consent API を使用したカスタム同意の実装##custom-consent-implementation-using-developer-consent-api

パブリッシャーまたはメディエーターから [Developer Consent API](#custom-consent-implementation-using-developer-consent-api) 経由で値が送信された場合、Unity のオプトインはディスプレイされません。この場合でも、ユーザーは広告が表示されたとき Unity Data Privacy アイコンを選択して、いつでも広告のオプトアウトやデータの削除をリクエストし、自分のデータにアクセスできます。

推奨されるベストプラクティスは、`MetaData`同意フラグにブーリアン値を使用することですが、Unity Ads SDK は整数値 (1 または 0) も受け入れ、1 を `true`、0 を `false` と解釈します。これにより、これらの整数値を使用する可能性がある、カスタマイズされた SDK 実装や古い機能の SDK 実装との互換性が保証されます。Unity Ads SDK は整数値をサポートしていますが、以下のコード例に示すように、パブリッシャーは同意フラグを渡すためにブーリアン値を使用することをお勧めします。

以下の API を使用して、同意フラグを Unity Ads SDK に渡します。

> **Tip:**
>
> ユーザーがターゲティング広告に同意するまたは同意しないアクションを取っていない場合は (例えば、プロンプトを閉じるなど)、それらを促すメッセージを後で再表示することをお勧めします。

1. **Unity (C#)**

   ```cs
   // ユーザーがターゲティング広告をオプトインする場合: 
   MetaData gdprMetaData = new MetaData("gdpr");
   gdprMetaData.Set("consent", "true");
   Advertisement.SetMetaData(gdprMetaData);

   // If the user opts out of targeted advertising:
   MetaData gdprMetaData = new MetaData("gdpr");
   gdprMetaData.Set("consent", "false");
   Advertisement.SetMetaData(gdprMetaData);
   ```

   > **Note:**
   >
   > 別の値の設定を試す前に、各値の `MetaData` オブジェクトに対する変更をコミットする必要があります。2 番目のパラメーターはオブジェクト (この例では文字列) です。ブーリアン値を使用するとエラーが発生します。

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

   ```objective-c
   // ユーザーがターゲティング広告をオプトインする場合: 
   UADSMetaData *gdprConsentMetaData = [[UADSMetaData alloc] init];
   [gdprConsentMetaData set:@"gdpr.consent" value:@YES];
   [gdprConsentMetaData commit];

   // If the user opts out of targeted advertising:
   UADSMetaData *gdprConsentMetaData = [[UADSMetaData alloc] init];
   [gdprConsentMetaData set:@"gdpr.consent" value:@NO];
   [gdprConsentMetaData commit];
   ```

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

3. **Android (Java)**

   ```java
   // ユーザーがターゲティング広告をオプトインする場合: 
   MetaData gdprMetaData = new MetaData(this);
   gdprMetaData.set("gdpr.consent", true);
   gdprMetaData.commit();

   // If the user opts out of targeted advertising:
   MetaData gdprMetaData = new MetaData(this);
   gdprMetaData.set("gdpr.consent", false);
   gdprMetaData.commit();
   ```

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