# ユーザープライバシー

> TJPrivacyPolicy クラスと Objective-C/Swift のサンプルコードを使用して、iOS のユーザープライバシーページで推奨されるプライバシー設定 (GDPR、CCPA、COPPA フラグなど) を実装します。

## GDPR /GDPR##gdpr

Tapjoy Offerwall および関連する Unity Technologies SF サービス (Unity Rewards オファーウォールを含む) を使用しているパブリッシャーは、必要な場面で、自社の同意メカニズムがこれらのサービスおよびデータ処理に対する同意を収集することを確認する必要があります。これらの措置は、関連する法的要件を反映し、Tapjoy との間に適用されるデータ保護附則に準拠する必要があります。

Unity Rewards オファーウォールを使用しているパブリッシャーは、Unity の [ゲームプレイヤーおよびアプリユーザーのプライバシーポリシー](https://unity.com/legal/game-player-and-app-user-privacy-policy) に従って、自社の同意メカニズムがそれらのサービスおよびデータ処理に対する同意を収集することを明確に確認する必要があります。

## CCPA /CCPA##ccpa

Tapjoy には、パブリッシャーがカリフォルニア州消費者プライバシー法 (CCPA) に準拠するのを支援する機能が備わっています。`TJPrivacyPolicy` クラスを使用すると、すべてのプライバシーフラグ (GDPR、ユーザー同意、同意年齢未満、米国のプライバシー) を管理できます。

以前のバージョンの Offerwall SDK からアップデートし、古いメソッドを使用してプライバシー値を設定した場合でも、新しい SDK は以前に設定した値を読み取るため、手動で再設定する必要はありません。ただし、最終的にはこの新しいメソッドを使用するようにコードを移行することをお勧めします。

## 実装##implementation

プライバシーフラグを設定するには、まず以下を実行して、TJPrivacyPolicy のインスタンスを作成します。

1. **Objective-C**

   ```objective-c
   TJPrivacyPolicy *privacyPolicy = [Tapjoy getPrivacyPolicy];
   ```

2. **Swift**

   ```swift
   let privacyPolicy = TJPrivacyPolicy()
   ```

setUserConsent 関数は、`TJStatusFalse` (ユーザーが同意しない) または `TJStatusTrue` (ユーザーが同意する) のいずれかの `TJStatus` 値を取ります。初期値は `TJStatusUnknown` です。

任意の "subject to GDPR" フラグは、`TJStatusTrue` (ユーザーが GDPR 規則の対象である場合) または `TJStatusFalse` (ユーザーが GDPR 規則の対象でない場合) のいずれかの `TJStatus` 値を取ります。初期値は `TJStatusUnknown` です。この関数は、GDPR がユーザーに適用されるかどうかをアプリケーションが独自に決定している場合にのみ呼び出す必要があります。 この関数が呼び出されない場合、Tapjoy はアプリケーションがそのような決定をしていないと見なし、Tapjoy が GDPR の適用可否を独自に決定します。

belowConsentAge フラグは、`TJStatusTrue` か `TJStatusFalse` のいずれかの `TJStatus` 値を取り、初期値は `TJStatusUnknown` です。 このフラグは、COPPA への準拠やその他適用法 (GDPR の年齢準拠など) を通知するために使用できます。また、Tapjoy の広告トラッキングポリシーにも通知されます。

最後に、USPrivacy フラグがあります。このフラグは文字列値を取ります。このフラグが取る文字列は、IAB の米国プライバシー文字列形式から派生し、文字列を enum 型でエンコードします。

`1YNN`、1 はバージョンの文字列の文字、Y = YES、N = No、– = 該当なし

詳細については、[推奨される US プライバシー文字列形式に関する IAB のドキュメント](https://github.com/InteractiveAdvertisingBureau/USPrivacy/blob/master/CCPA/US%20Privacy%20String.md) を参照してください

以下にすべてのプライバシーフラグの設定例を示します。

1. **Objective-C**

   ```objective-c title="Objective-C"
   TJPrivacyPolicy *privacyPolicy = [Tapjoy getPrivacyPolicy];
   [privacyPolicy setSubjectToGDPRStatus: TJStatusTrue];
   [privacyPolicy setUserConsentStatus: TJStatusFalse];
   [privacyPolicy setBelowConsentAgeStatus: TJStatusTrue];
   [privacyPolicy setUSPrivacy: @"1YYY"];
   ```

2. **Swift**

   ```swift
   let privacyPolicy = TJPrivacyPolicy()
   privacyPolicy.subjectToGDPRStatus = TJStatus.true
   privacyPolicy.userConsentStatus = TJStatus.false
   privacyPolicy.belowConsentAgeStatus = TJStatus.true
   privacyPolicy.usPrivacy = "1YYY"
   ```

この例は、プライバシーフラグの現在の値を取得する方法を示します。

1. **Objective-C**

   ```objective-c
   TJStatus subjectToGdprStatus = [privacyPolicy subjectToGDPRStatus];
   TJStatus userConsentStatus = [privacyPolicy userConsentStatus];
   TJStatus belowAgeConsentStatus = [privacyPolicy belowConsentAgeStatus];
   NSString* usPrivacy = [privacyPolicy USPrivacy];
   ```

2. **Swift**

   ```swift
   let subjectToGdprStatus = privacyPolicy.subjectToGDPRStatus
   let userConsentStatus = privacyPolicy.userConsentStatus
   let belowAgeConsentStatus = privacyPolicy.belowConsentAgeStatus
   let usPrivacy = privacyPolicy.usPrivacy
   ```

## GDPR に関する FAQ##gdpr-faq

**If a user does not consent or withdraws existing consent, will the Offerwall SDK still send advertising identifiers to Tapjoy?:**はい。上記の関数は関心ベースの広告用に設計されており、関心ベースの広告に対するユーザーの同意状態を Tapjoy に送信します。したがって、その同意の状態によって、SDK の初期化時または広告リクエスト中に、Offerwall SDK が広告識別子を送信することが無効になることはありません。Tapjoy のコンプライアンスの法的根拠は "正当な利益" です。ただし、パブリッシャーのコンプライアンスの法的根拠、つまり広告主識別子の収集に関する要件は、Tapjoy のものとは異なる可能性があります。アプリケーションのコンプライアンスニーズに応じて、Offerwall SDK を初期化する必要があるかどうかの判断はアプリケーションにゆだねられます。例えば、アプリケーションの広告識別子収集の正当な根拠が同意であり、ユーザーが同意していない場合、そのようなユーザーに対して Offerwall SDK を初期化してはなりません。**If a user from a country that is not covered by GDPR does not consent or withdraws consent, would Tapjoy limit advertising to non-interest-based ads for such a user?:**Offerwall SDK は、ユーザーが GDPR の対象となるかどうかを判断するアプリ内メソッドを持たないアプリケーションなど、さまざまなタイプのアプリケーションに柔軟に対応できます。
したがって、アプリケーションが何も決定しない場合 (subjectToGDPR 関数が呼び出されない場合など) は、Tapjoy のサーバーがユーザーが GDPR の対象かどうかを判断します。その後、Tapjoy は、GDPR 対象のユーザーから送信されたと Tapjoy が判断した広告リクエストに対してのみ、ユーザーの同意設定に従います。
GDPR に準拠しているかのように、すべての国のユーザーに同意を撤回することを許可する場合は、同意していないすべてのユーザーに対して subjectToGDPR メソッドを TRUE で呼び出すことでこれを実現できます。この場合、Tapjoy のサーバーは subjectToGDPR メソッド呼び出しの同意を尊重し、ユーザーが GDPR の対象であるかどうかについて独自の決定を行いません。パブリッシャーは [support@tapjoy.com](mailto:support@tapjoy.com) に連絡し、ユーザーが GDPR の対象であるかどうかにかかわらず、Tapjoy が自社のアプリケーションのすべてのユーザーの同意設定を尊重するようリクエストすることもできます。
