UID2 Client-Side Integration Guide for Prebid.js
このガイドは、Client-Side で DII (メールアドレスまたは電話番号) にアクセスでき、UID2 とインテグレーションして、RTB ビッドストリームで Prebid.js によって渡される UID2 Token (Advertising Token) を生成したいパブリッシャー向けのものです。
Prebid.js を使用して UID2 とインテグレーションするには、サイトの HTML と JavaScript を変更する必要があります。このガイドに従う場合、Server-Side の作業は必要ありません。
Prebid.js Version
この実装には、Prebid.js バージョン 8.21.0 以降が必要です。バージョン情報については、https://github.com/prebid/Prebid.js/releases を参照してください。
以前のバージョンの Prebid.js を使用する必要がある場合は、代わりに UID2 Client-Server Integration Guide for Prebid.js で説明している実装ソリューションを使用してください。
Integrating with Single Sign-On (SSO)
SSO ログインを提供するために1つ以上の SSO プロバイダーとインテグレーションしている場合、SSO プロバイダーからログインユーザーのメールアドレスを取得して UID2 Token を生成できる可能性があります。
詳細は、Publisher Integration with SSO Providers を参照してください。
Preparing DII for Processing
UID2 に変換する入力データが許容可能な形式であることは非常に重要です。そうでない場合、期待される結果は得られません。たとえば、Phone Number Normalization で説明されているように、電話番号には国コードを含めるように正規化する必要があります。
詳細は、Preparing Emails and Phone Numbers for Processing を参照してください。
Integration Overview: High-Level Steps
以下のステップを完了する必要があります:
- Complete UID2 account setup and configure account
- Add Prebid.js to your site
- Configure the UID2 module
Complete UID2 Account Setup and Configure Account
UID2 とインテグレーションするには、UID2 アカウントが必要です。アカウントをまだ作成していない場合は、まず Account Setup ページの手順に従ってください。
アカウントの初期設定が完了すると、UID2 Portal にアクセスするための手順とリンクが送信されます。そこで本番 環境 用の credentials を作成し、提供が必要な追加の値を設定できます。詳細は Getting Started with the UID2 Portal を参照してください。
Client-Side インテグレーションの場合、UID2 Portal の Client-Side Integration ページで以下の値を設定する必要があります:
-
Subscription ID と Public Key: Adding and Managing Key Pairs を参照してください。
-
Prebid.js を使用するサイトの ドメイン名 のリスト: Adding and Managing Root-Level Domains を参照してください。
アカウント設定に必要なのはルートレベルのドメインのみです。たとえば、example.com、shop.example.com、example.org で Prebid.js とともに UID2 を使用する場合、提供する必要があるドメイン名は example.com と example.org のみです。
Add Prebid.js to Your Site
Prebid.js をサイトに追加するには、Prebid.js ドキュメントの Getting Started for Developers の手順に従ってください。
Prebid.js のパッケージをダウンロードする際に、User ID Modules セクションの下にある Unified ID 2.0 という名前のモジュールの横にあるチェ ックボックスをオンにして、UID2 モジュールを追加します。
Prebid.js をサイトに追加し、正常に動作していることを確認したら、UID2 モジュールを設定する準備が整います。
UID2 モジュールがインストールされていることを確認するには、pbjs.installedModules array で uid2IdSystem 文字列を検索します。
Configure the UID2 Module
UID2 モジュールを設定するには、アカウント設定中に受け取った Public Key と Subscription ID、およびユーザーのハッシュ化された、またはハッシュ化されていないメールアドレスまたは電話番号を含むオブジェクトを指定して pbjs.setConfig を呼び出します。
設定が完了す ると、UID2 モジュールはユーザーの UID2 Token を生成し、ユーザーのブラウザに保存します。サイトがユーザーのブラウザで開いている限り、モジュールは必要に応じて自動的にトークンをリフレッシュします。
特定のユーザーに対して、4 つの受け入れ可能な DII フォーマットのいずれかを使用して UID2 モジュールを設定できます:
- 正規化された、または正規化されていないメールアドレス
- 正規化され、ハッシュ化され、Base64 エンコードされたメールアドレス
- 正規化された電話番号
- 正規化され、ハッシュ化され、Base64 エンコードされた電話番号
注:
-
DII フォーマットはユーザーごとに異なる場合がありますが、ユーザーごとに送信できる値は 1 つだけです。
-
すでにハッシュ化された DII をモジュールに渡したい場合は、次の手順に従ってください:
- まず正規化します。
- 次に、SHA-256 ハッシュアルゴリズムを使用して結果をハッシュ化します。
- 次に、ハッシュ値の結果のバイトを Base64 エンコーディングを使用してエンコードします。
詳細については、Normalization and Encoding を参照してください。例については、Configuring the UID2 Module: Code Example を参照してください。
-
UID2 モジュールは、UID2 Service に送信する前に、ハッシュ化された DII を暗号化します。
-
モジュールが複数回設定された場合は、最新の設定値が使用されます。
Configuring the UID2 Module: Code Example
以下のコードスニペットは、UID2 モジュールを設定するさまざまな方法を示しています。
const baseConfig = {
userSync: {
userIds: [{
name: 'uid2',
params: {
serverPublicKey: publicKey,
subscriptionId: subscriptionId,
// Choose only one of the following: email, emailHash, phone, or phoneHash
email: 'user@example.com', // Normalized or non-normalized, unhashed email address
// emailHash: 'tMmiiTI7IaAcPpQPFQ65uMVCWH8av9jw4cwf/F5HVRQ=', // Normalized, hashed, and encoded email address
// phone: '+12345678901', // Normalized phone number
// phoneHash: 'EObwtHBUqDNZR33LNSMdtt5cafsYFuGmuY4ZLenlue4=', // Normalized, hashed, and encoded phone number
}
}]
}
};
この例では、UID2 本番環境を使用していることを前提としています。インテグレーションテスト中は、params.uid2ApiBase を 'https://operator-integ.uidapi.com' に設定して UID2 インテグレーション環境を使用してください。UID2 インテグレーション環境からのトークンは、ビッドストリームに渡すためには無効です。インテグレーション環境の場合は、別途 Subscription ID と Public Key の値をリクエストする必要があります。これらは UID2 Portal では作成できません。詳細については、Getting Your Credentials を参照してください。