Tapjoy は "正当な利益 (legitimate interest)" に基づくGDPR遵守のサービスであるため、下記の機能は必須ではありません。しかしながら、弊社ではユーザーの同意情報を Tapjoy へ通知を行う事を希望するパブリッシャーのためにこれらの機能を追加しました。パブリッシャーがこれらの機能を実装し、ユーザーが同意を行わなかった場合、Tapjoy はユーザーの行動に基づかないコンテンツをユーザーに提供します。
以下の機能は Tapjoy Connect を呼び出す前に使用可能であり、また、Tapjoy にコンテンツを要求する前に呼び出す必要があります:
setUserConsent 関数は引数として "0″ (ユーザーは不同意)、 "1″ (ユーザーは同意) もしくはより詳細な同意状態を表す文字列を取ります。この詳細な文字列、consent string は IAB にてサポートされている Transparency and Consent Framework にて記述されているものです。
オプションとして、"GDPR の対象か" を示す YES/TRUE (ユーザーが GDPR 規則の対象の場合) もしくは NO/FALSE (ユーザーが GDPR 規則の対象外の場合)のフラグを設定できる関数。 この機能はアプリケーションが、ユーザーが GDPR の対象であるか否かを判別できる場合にのみ使用して下さい。この機能が呼び出されていない場合には、Tapjoy 自身で GDPR の対象となるか否かを判別します。
各プラットフォームでのこれらの機能の実装詳細を以下に示します:
// 追加:
+(void)setUserConsent:(NSString*) value;
// 例:
[Tapjoy setUserConsent:@"0″]; // ユーザーは不同意
// 追加:
+(void)subjectToGDPR:(BOOL) gdprApplicability;
// 例:
[Tapjoy subjectToGDPR:NO]; // このユーザーは GDPR 対象ではない
Tapjoy SDKには、パブリッシャーがCalifornia Consumer Privacy Act (CCPA)に準拠するために役立つ機能が追加されています。各プラットフォーム(iOS、Android、Unity、C++) に新しいクラス “TJPrivacyPolicy” が追加され、これを通してすべてのプライバシー関連のフラグ(GDPR、ユーザー同意、同意可能年齢未満、USプライバシー関連)を管理できるようになります。
注: 以前のバージョンのTapjoy SDKでプライバシー関連の設定を行っている場合にアップデートする場合でも心配はいりません。 新しいSDKは以前に設定された値を読み込むため、再度値を設定する必要はありません。 しかしながら、新しいAPIを使うコードに移行していく事をお勧めします。
##3. 実装 プライバシー関連のフラグを設定するためには、まず TJPrivacyPolicy のインスタンスを取得します:
TJPrivacyPolicy *privacyPolicy = [Tapjoy getPrivacyPolicy];
setUserConsent は文字列 "0″ (ユーザーは不同意) または "1″ (ユーザーは同意) もしくはより詳細な同意状態の文字列を指定します。 このより詳細な同意状態の文字列は、IAB による Transparency and Consent Framework で記述されているものになります。
オプションの "subject to GDPR" フラグは真偽値を取り、 YES/TRUE (ユーザーが GDPR ルールの対象である場合) または NO/FALSE (ユーザーがGDPRルールの対象外である場合) の値を設定します。 この機能は、GDPRがユーザーに適応できるか否かをアプリケーションが自身の仕様に従って決定できた後にのみ呼ぶようにして下さい。 この機能が呼ばれていない場合、Tapjoyはアプリケーションがそうした決定がまだできていないとみなし、GDPR の適用に関してTapjoy 自信の判断を行います。
"belowConsentAge" フラグは真偽値を取り、TRUE または FALSE の値を設定します。 このフラグはTapjoyにCOPPA準拠、およびGDPR 年齢準拠の状況を伝えます。 また、Tapjoyの追跡型広告に関するポリシーも伝えます。
新規に追加された USPrivacy フラグは文字列を引数に取ります。このフラグに設定する文字列は、IABの US Privacy String Format にしたがってエンコードされた値となります。
1YNN
: 1 はバージョン、Y は YES、 N は No、 – は 非適用 を示します。
参照: IAB 提唱の US Privacy String Format
下記の例は、すべてのプライバシー設定の呼び出しを行ったものです:
TJPrivacyPolicy *privacyPolicy = [Tapjoy getPrivacyPolicy];
[privacyPolicy setSubjectToGDPR: YES];
[privacyPolicy setUserConsent: @"0"];
[privacyPolicy setBelowConsentAge: YES];
[privacyPolicy setUSPrivacy: @"1YYY"];
##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の保護対象であるかに関わらず同意状態を優先するよう設定する事も可能です。