ユーザープライバシー

本文章は英語版に基づく翻訳となります。Tapjoyとしての本項目に対する正式な回答は英語版を参照して下さい。

1. GDPR

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

Unity Rewardsオファーウォールを使用するパブリッシャーは、特にUnityのゲームプレイヤーおよびアプリユーザーのプライバシーポリシーに従ったサービスおよびデータ処理のための同意を収集する同意メカニズムを確実にする必要があります。

2. CCPA

Tapjoy SDKには、パブリッシャーがCalifornia Consumer Privacy Act (CCPA)に準拠するために役立つ機能が追加されています。各プラットフォーム(iOS、Android、Unity、C++) に新しいクラス “TJPrivacyPolicy” が追加され、これを通してすべてのプライバシー関連のフラグ(GDPR、ユーザー同意、同意可能年齢未満、USプライバシー関連)を管理できるようになります。

注: 以前のバージョンのTapjoy SDKでプライバシー関連の設定を行っている場合にアップデートする場合でも心配はいりません。 新しいSDKは以前に設定された値を読み込むため、再度値を設定する必要はありません。 しかしながら、新しいAPIを使うコードに移行していく事をお勧めします。

3. Android 広告 ID のオプトアウト

Google Families Program の、子供を対象としたアプリは広告IDにアクセスするべきでない、という要請に従うために Tapjoy SDK 12.10.0 はプライバシーフラッグを追加しています。

このフラグはconnectの前や後を含めいつでも指定可能で、またセッション中いつでも変更可能です。

Tapjoy.optOutAdvertisingID(false);

4. 実装

まず、 TJPrivacyPolicy をインポートします:

import Tapjoy, { TJPrivacyPolicy } from "tapjoy-react-native-sdk";

プライバシー関連のフラグを設定するためには、まず TJPrivacyPolicy のインスタンスを取得します:

let privacy = new TJPrivacyPolicy()

setUserConsent 関数は引数として TJStatus の値である、 TJStatus.False (ユーザーは不同意)か TJStatus.True (ユーザーは同意) をとります。デフォルト値は TJStatus.Unknown です。

オプションの "subject to GDPR" フラグはTJStatus の値である、 TJStatus.True (ユーザーが GDPR ルールの対象である場合) または TJStatus.False (ユーザーがGDPRルールの対象外である場合) の値を設定します。 デフォルト値は TJStatus.Unknown です。この機能は、GDPRがユーザーに適応できるか否かをアプリケーションが自身の仕様に従って決定できた後にのみ呼ぶようにして下さい。 この機能が呼ばれていない場合、Tapjoyはアプリケーションがそうした決定がまだできていないとみなし、GDPR の適用に関してTapjoy 自身での判断を行います。

"belowConsentAge" フラグはTJStatus の値である、TJStatus.True または TJStatus.False の値をとります。 デフォルト値は TJStatus.Unknown です。 このフラグはTapjoyにCOPPA準拠、および/またはその他の適応する法律(例: GDPR 年齢準拠)の状況を伝えます。 また、Tapjoyの追跡型広告に関するポリシーも伝えます。

USPrivacy フラグは文字列を引数に取ります。 このフラグに設定する文字列は、IABの US Privacy String Format にしたがってエンコードされた値となります。

1YNN: 1 はバージョン、Y は YES、 N は No、 – は 非適用 を示します。 参照: IAB 提唱の US Privacy String Format

下記の例は、すべてのプライバシー設定の呼び出しを行ったものです:

let privacyPolicy = new TJPrivacyPolicy();
privacyPolicy.setSubjectToGDPRStatus(TJStatus.True);
privacyPolicy.setBelowConsentAgeStatus(TJStatus.False);
privacyPolicy.setUserConsentStatus(TJStatus.Unknown);
privacyPolicy.setUSPrivacy('1---');
privacyPolicy.optOutAdvertisingID(false); 

4. GDPR FAQ

ユーザーが同意をしなかった場合、または以前の同意を取り消した場合、Tapjoy SDKはTapjoyに広告IDを送りますか?

はい。 上記の関数はインタレストベース(行動ターゲティング)広告のためにデザインされたもので、Tapjoyにインタレストベース広告への同意の状態をTapjoyに送信します。このため、同意の状態はTapjoy SDK が広告IDをSDK初期化や広告リクエストの際に送る動作を停止する訳ではありません。

Tapjoy の法的立場は "正当な利益 (legitimate interest)"です。しかしながら、パブリッシャーが法遵守を行う際の法的立場はTapjoyと異なる可能性があり、よって広告IDの収集に必要な条件も異なる可能性があります。

Tapjoy SDKを初期化するかどうかはアプリの遵守に必要な条件に基づきパブリッシャーが判断する必要があります。例えば、あるアプリで広告IDを収集する正当性がユーザーの同意である場合、ユーザーが同意をしていない場合はそのユーザーにはTapjoy SDKを初期化するべきではありません。

ユーザーがGDPRによって保護されない国から来ていて、同意をしないまたは同意を取り消した場合、Tapjoyはそのユーザーへの広告をインタレストベースではないものに制限するのですか?

Tapjoy SDKは様々なアプリの状態に対応できる柔軟性があります。例えば、ユーザーをGDPRの対象であるか否かを判断する方法がないアプリにも対応が出来ます。

つまり、アプリが何の決定も行っていない場合(subjectToGDPR関数が呼ばれていない場合)、TapjoyサーバはユーザーがGDPRの対象であるかを判断します。また、Tapjoyはユーザーの同意状態をGDPRで保護されるユーザーからの広告リクエストに関してのみ適応します。

目的がすべてのユーザーにGDPR保護対象のユーザーと同様な同意の取り消しを行わせる事である場合、不同意のユーザー全員に subjectToGDPRを TRUEにして呼ぶようにします。この場合、Tapjoyサーバーは subjectToGDPR の値を使用し、結果としてTapjoyサーバーはユーザーがGDPRで保護されるかの判断を行輪なくなります。また、 support@tapjoy.com に連絡をして、すべてのユーザーがGDPRの保護対象であるかに関わらず同意状態を優先するよう設定する事も可能です。