SDK for JavaScript Reference Guide (2.x and earlier versions)
このドキュメントは、SDK for JavaScript の旧バージョン用です。以前のバージョンを使用している場合は、アップグレードすることを勧めます。移行ガイドを含む SDK for JavaScript Reference Guide を参照してください。
この SDK を使用して、UID2 を使用してクライアントの ID を確立し、広告トークンを取得するプロセスを容易にします。以下のセクションでは、UID2 を確立するための workflow について説明し、SDK の API reference を提供し、UID2 cookie format について説明します。
- コンテンツパブリッシャーのインテグレーション手順については、Client-Server Integration Guide for JavaScript を参照してください。
- example application と関連ドキュメントについては、UID2 SDK Integration Example ガイドを参照してください。
Functionality
この SDK は、UID2 をサポートしたいすべてのパブリッシャーに対して、UID2 とのインテグレーションを簡素化します。次の表は、SDK がサポートする機能を示しています。
Encrypt Raw UID2 to UID2 Token for Sharing | Decrypt UID2 Token to Raw UID2 | Generate UID2 Token from DII | Refresh UID2 Token | Map DII to Raw UID2s | Monitor Rotated Salt Buckets |
---|---|---|---|---|---|
— | — | — | ✅ | — | — |
API Permissions
この SDK を使用するには、Account Setup ページに記載されている手順に従って、UID2 アカウントのセットアップを完了する必要があります。
SDK が提供する特定の機能の使用許可が与えられ、そのアクセス 用の認証情報が与えられます。SDK には、使用する権限を持たない機能があるかもしれないことに留意してください。例えば、パブリッシャーはトークンの生成と更新のために特定の API Permissions を取得しますが、SDK は共有などの他のアクティビティをサポートするかもしれません。
詳細は API Permissions を参照してください。
SDK Version
このドキュメントは SDK for JavaScript version 2 用です。
GitHub Repository
この SDK のソースは、以下のオープンソースの GitHub リポジトリにあります:
Terminology
このドキュメントでは、以下の用語が使われます:
- ID とは、POST /token/generate または POST /token/refresh エンドポイントによって返される、UID2 Token、Refresh Token、および Timestamp などの関連値を含む値のパッケージを指します。
- Advertising Token は UID2 Token を指します。
Include the SDK Script
UID2 をターゲティング広告に使用したいすべてのページに、以下の SDK スクリプトを含めます:
<script src="https://prod.uidapi.com/static/js/uid2-sdk-2.0.0.js" type="text/javascript"></script>
Workflow Overview
SDK を使用して UID2 ID を確立するための Client-Side ワークフローは、以下の Step で構成されます:
- Publisher: init 関数を利用して SDK を初期化し、Step の正常収容時に呼び出される callback function を指定します。
- Publisher: SDK がコールバック関数を呼び出すのを待ちます。コールバック関数は ID の可用性を示します:
- ID が利用可能な場合、SDK はbackground token auto-refresh を設定します。
- ID が利用できない場合、利用できない理由はコールバック関数に渡されるオブジェクトに指定されます。
- SDK: アイデンティティ state に基づき、SDK は以下の処理を行います:
- 有効な ID が利用可能な場合、SDK はその ID がファーストパーティクッキー で利用可能であることを保証します。
- ID が使用できない場合、SDK は ID が更新可能かどうかに基づいて適切なアクションを実行します。詳細は Workflow States and Transitions を参照してください。
- Publisher: ID の状態に基づいて ID を処理します:
- Advertising Token が使用可能な場合は、それを使用してターゲティング広告の要求を開始します。
- Advertising Token が利用可能でない場合は、ターゲティング広告を使用しないか、同意フォームでユーザーを データキャプチャにリダイレクトします。
Web インテグレーションの詳細は Client-Server Integration Guide for JavaScript を参照してください。
Workflow States and Transitions
次の表は、getAdvertisingToken() と isLoginRequired() という 2 つの主要な関数が返す値の組み合わせに基づいて、SDK が取り得る 4 つの主要な状態の概要を示し、それぞれの状態において開発者として取ることができる適切なアクションを示しています。
Workflow State | Advertising Token | Login Required | Description | Identity Status Value |
---|---|---|---|---|
Initialization | undefined | undefined | コールバックが呼び出されるまでの初期状態です。 | N/A |
Identity Is Available | available | false | 有効な ID が正常に確立または更新されました。ターゲティング広告で Advertising Toke を使用できます。 | ESTABLISHED or REFRESHED |
Identity Is Temporarily Unavailable | undefined | false | Advertising Token の有効期限が切れたため、自動更新に失敗しました。Background auto-refresh は、Refresh Token の有効期限が切れるか、ユーザーがオプトアウトするまで続きます。 以下のいずれかを行ってください: - ユーザーをリダイレクトし、メールアドレスまたは電話番号の入力を求める。 - ターゲティングしない広告を使用する。 NOTE: ID は後で正常にリフレッシュされるかもしれません。—例えば、UID2 Serviceが一時的に利用できなくなった場合などです。 | EXPIRED |
Identity Is Not Available | undefined | false | ID が利用できず、リフレッシュできません。SDK はファーストパーティクッキーをクリアします。 UID2 ベースのターゲティング広告を再度使用するには、UID2 を取得できるログインまたはフォーム入力にユーザーをリダイレクトする必要があります。 | INVALID , NO_IDENTITY , REFRESH_EXPIRED , or OPTOUT |
次の図は、対応する ID の status values を含む 4 つの状態と、それらの間で可能な遷移を示しています。SDK は各遷移で callback function を呼び出します。
Background Token Auto-Refresh
SDKの initialization の一部として、ID の Token Auto-refresh が設定され、ID の Timestamp または断続的なエラーによるリフレッシュの失敗によってバックグラウンドでトリガーされます。
Token の Auto-refresh について知っておくべきことは以下のとおりです:
- 同時にアクティブにできる POST /token/refresh エンドポイント呼び出しは1つだけです。
- POST /token/refresh レスポンスが、ユーザーがオプトアウトしたため、あるいは Refresh Token の有効期限が切れたために失敗した場合、バックグラウンドでの自動更新処理を一時停止します。UID2ベースのターゲ ティング広告を再び使用するには、ユーザーからメールアドレスまたは電話番号を取得する必要があります(isLoginRequired()は
true
を返します)。 - SDK の初期化時に指定された callback function は、以下の場合に呼び出されます:
- リフレッシュが成功するたびに呼び出されます。
- 有効期限が切れた Advertising Token のリフレッシュに最初に失敗した場合。
- 例えば、ユーザーがオプトアウトした場合などです。
NOTE: ID が一時的に利用できず、自動更新が失敗し続ける場合、コールバックは呼び出されません。この場合、SDK は既存の Advertising Token を使用し続けます。
- disconnect() 呼び出しはアクティブなタイマーをキャンセルします。
API Reference
Client-Side JavaScript SDK とのやり取りはすべて UID2
クラスのインスタンスであるグローバルな __uid2
オブジェクトを介して行われます。以下の JavaScript 関数はすべて UID2
クラスのメンバです。
- constructor()
- init()
- getAdvertisingToken()
- getAdvertisingTokenAsync()
- isLoginRequired()
- disconnect()
- abort()
constructor()
UID2 オブジェクトを構築します。
この関数を呼び出す代わりに、グローバルの __uid2
オブジェクトを使用することができます。
init(opts: object): void
SDK を初期化し、ターゲティング広告用のユーザー ID を確立します。
この関数について知っておくべきことは以下のとおりです:
init()
は、対応するスクリプトタグによって SDK がロードされた後、いつでも呼び出すことができます。- 初期化呼び出しには、SDK が初期化された後に呼び出される callback function が必要です。
- クライアントで UID2 ライフサイクルのインスタンスを作成する場合、
init()
呼び出しのidentity
プロパティは、Server-side で生成された ID を含む POST /token/generate または POST /token/refresh 呼び出しが成功したときに返されるレスポンス JSON オブジェクトのbody
プロパティを参照します。 - SDK はセッションに渡された UID2 情報の保存に ファーストパーティクッキー に依存しているため、異なるドメインのページから
init()
を呼び出すと、クッキーにアクセスできない可能性があります。cookieDomain
オプションとcookiePath
オプションでクッキーに使用する設定を調整することができます。 - 特定の動作を調整するために、初期化呼び出しにはオプションのコンフィギュレーション parameter を含めることができます。
以下は、Server-side で生成された ID を含む init()
呼び出しのテンプレートです。
<script>
__uid2.init({
callback : function (state) {...}, // Check advertising token and its status within the passed state and initiate targeted advertising.
identity : {...} // The `body` property value from the token/generate or token/refresh API response.
});
</script>
例えば:
<script>
__uid2.init({
callback : onUid2IdentityUpdated,
identity : {
"advertising_token": "A4AAAABlh75XmviGJi-hkLGs96duivRhMd3a3pe7yTIwbAHudfB9wFTj2FtJTdMW5TXXd1KAb-Z3ekQ_KImZ5Mi7xP75jRNeD6Mt6opWwXCCpQxYejP0R6WnCGnWawx9rLu59LsHv6YEA_ARNIUUl9koobfA9pLmnxE3dRedDgCKm4xHXYk01Fr8rOts6iJj2AhYISR3XkyBpqzT-vqBjsHH0g",
"identity_expires": 1724899014352,
"refresh_expires": 1724981814352,
"refresh_from": 1724896314352,
"refresh_response_key": "TS0H0szacv/F3U8bQjZwjSaZJjxZbMvxqHn1l3TL/iY=",
"refresh_token": "AAAAAGYzgUszke2sV9CxXnxyFfUU+KDCJUCXNbj1/FVcCjvR7K07jYaWe44wxM6SOTwG7WQB4XfIcquMqH57iHUnAu1zacYf9g58BtbhKCYWTwrdpB0fSqTANBXOYy+yBnl6tLRwVv32LqRCj76D8meO4tw+MKlUAc2EoFzFNPSfZLpA3Jk4q68vH6VJH/WIuu1tulrVm5J8RZAZnmTlEcsPdjoOC6X4w3aAwiwtbeGw7yOO0immpVoC5KaXnT9olRPTlrt8F9SvebLIcqkYhvRMPpl1S89yeneyGo++RnD9qSHIrfu9To3VwYW018QuvyA15uv4No4BoAzyPuHqzQ8gAs6csWwZ7VwfYD7DSJXlQiIpwzjA2Hl8mgg/5fcXwKEJ"
}
});
</script>
以下は、ファーストパーティクッキーから ID を取得する init()
呼び出しの例です。この様なスクリプトは、ID が確立された後にユーザーが訪れる可能性のある任意のページに配置することができます。
<script>
__uid2.init({
callback : function (state) {...} // Check advertising token and its status within the passed state and initiate targeted advertising.
});
</script>