ユーザープライバシー

1. GDPR

Tapjoy は "正当な利益 (legitimate interest)" に基づくGDPR遵守のサービスであるため、下記の機能は必須ではありません。しかしながら、弊社ではユーザーの同意情報を Tapjoy へ通知を行う事を希望するパブリッシャーのためにこれらの機能を追加しました。パブリッシャーがこれらの機能を実装し、ユーザーが同意を行わなかった場合、Tapjoy はユーザーの行動に基づかないコンテンツをユーザーに提供します。

2. CCPA

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

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

3. 実装

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

Objective-C
Swift
TJPrivacyPolicy *privacyPolicy = [Tapjoy getPrivacyPolicy];

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

オプションの "subject to GDPR" フラグはTJStatus の値である、 TJStatus (ユーザーが 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

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

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

現在のプライバシーフラグの値を取得する例です:

Objective-C
Swift
TJStatus subjectToGdprStatus = [privacyPolicy subjectToGDPRStatus];
TJStatus userConsentStatus = [privacyPolicy userConsentStatus];
TJStatus belowAgeConsentStatus = [privacyPolicy belowConsentAgeStatus];
NSString* usPrivacy = [privacyPolicy USPrivacy];

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の保護対象であるかに関わらず同意状態を優先するよう設定する事も可能です。