SDK for Java Reference Guide
Server-Side で Java SDK を使用すると、UID2 を使用してクライアント ID を生成または確立し、ビッドストリームで使用する Advertising Token を取得し、UID2 Token を自動的にリフレッシュするプロセスを簡素化できます。適用可能な権限がある 場合、共有のために暗号化および復号化し、DII を raw UID2 にマップすることもできます。
Functionality
この SDK は、Server-Side のコーディングに Java を使用しているパブリッシャー、DSP、広告主、データプロバイダー、UID2 Sharers のために、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 を参照してください。
Version
この SDK には Java version 1.8 以降が必要です。
GitHub Repository/Binary
この SDK は以下のオープンソースの GitHub リポジトリにあります:
バイナリは Maven リポジトリで公開されています:
Initialization
初期化ステップは、次の表に示すように、役割によって異なります。
Role | Create Instance of Class | Link to Instructions |
---|---|---|
Publisher | PublisherUid2Client | Usage for Publishers |
Advertiser/Data Provider | IdentityMapClient | Usage for Advertisers/Data Providers |
DSP | BidstreamClient | Usage for DSPs |
Sharer | SharingClient | Usage for UID2 Sharers |
SDK が UID2 Service で認証するために必要な値を提供する必要があります。
Parameter | Description |
---|---|
baseUrl/uid2BaseUrl | The endpoint for the UID2 service. See Environments. |
clientApiKey | The API key. See UID2 Credentials. |
base64SecretKey | The client secret. See UID2 Credentials. |
Interface
BidstreamClient
クラスを使用すると、UID2 Token を raw UID2 に復号することができます。
ユーザーのオプトアウトを処理する入札ロジックの詳細は DSP Integration Guide を参照してください。
SharingClient
クラスを使うと、raw UID2 を暗号化して UID2 Token にしたり、UID2 Token を復号して raw UID2 にしたりすることができます。
SDK を使用する際に、復号鍵を保存したり管理したりする必要はありません。
Encryption Response Content
SharingClient
クラスで暗号化する場合、SDK は次の表に示す情報を返します。
Method | Description |
---|---|
getStatus() | 暗号化結果のステータス。取り得る値のリストと定義については、Encryption Response Statuses を参照してください。 |
getEncryptedData() | 暗号化された UID2 token。 |
Encryption Response Statuses
暗号化レスポンスコードとその意味は次の表の通りです。
Value | Description |
---|---|
SUCCESS | raw UID2 は正常に暗号化され、UID2 Token が返されました。 |
NOT_AUTHORIZED_FOR_KEY | 呼び出し元は 暗号化キー を使用する権限を持っていません。 |
NOT_AUTHORIZED_FOR_MASTER_KEY | 呼び出し元はマスターキーを使用する権限を持っていません。 |
NOT_INITIALIZED | クライアントライブラリは初期化待ちです。 |
KEYS_NOT_SYNCED | クライアントが UID2 Service との鍵の同期に失敗しました。 |
ENCRYPTION_FAILURE | 一般的な暗号化に失敗しました。 |
Decryption Response Content
BidstreamClient
クラスと SharingClient
クラスのどちらで復号化しても、SDK は次の表に示す情報を返します。
Methods | Description |
---|---|
getStatus() | 復号結果のステータス。取り得る値のリストと定義については、Decryption Response Statuses を参照してください。 |
getSiteId() | UID2 Token に対応する raw UID2 |
getEstablished() | ユーザーがパブリッシャーと最初に UID2 を確立した時のタイムスタンプ。 |
Decryption Response Statuses
復号化レスポンスコードとその意味は次の表の通りです。
Value | Description |
---|---|
SUCCESS | UID2 Token は正常に復号化され、raw UID2が返されました。 |
NOT_AUTHORIZED_FOR_KEY | 呼び出し元はこの UID2 Token を復号化する権限を持っていません。 |
NOT_INITIALIZED | クライアントライブラリは初期化待ちです。 |
INVALID_PAYLOAD | 受信した UID2 Token は有効なペイロードではありません。 |
EXPIRED_TOKEN | 受信した UID2 Token の有効期限が切れました。 |
KEYS_NOT_SYNCED | クライアントが UID2 Service との鍵の同期に失敗しました。 |
VERSION_NOT_SUPPORTED | クライアントライブラリが暗号化トークンのバージョンをサポートしていません。 |
INVALID_TOKEN_LIFETIME | トークンのタイムスタンプが無効です。 |
Usage for Publishers
パブリッシャーとして、SDK for Java を使用するには 2 つの方法があります:
- Basic Usage は、この SDK の HTTP 実装 (synchronous OkHttp) を使いたいパブリッシャー向けです。
- Advanced Usage は、独自の HTTP ライブラリを使用したいパブリッシャー向けです。
Basic と Advanced 両方の使い方を示すサンプルアプリケーションについては、Java UID2 Integration Example を参照してください。
Basic Usage
SDK の HTTP 実装を使用している場合は、以下の手順に従ってください。
-
インスタンス変数として
PublisherUid2Client
のインスタンスを作成します:private final PublisherUid2Client publisherUid2Client = new PublisherUid2Client(UID2_BASE_URL, UID2_API_KEY, UID2_SECRET_KEY);
-
ユーザーのメールアドレスまたは電話番号を入力として受け取り、
TokenGenerateResponse
オブジェクトを生成する関数を呼び出します。以下の例では、メールアドレスを使用しています:TokenGenerateResponse tokenGenerateResponse = publisherUid2Client.generateTokenResponse(TokenGenerateInput.fromEmail(emailAddress).doNotGenerateTokensForOptedOut());
important常に
doNotGenerateTokensForOptedOut()
を適用します。これは POST /token/generate エンドポイントの呼び出しでoptout_check=1
を設定するのと同様のパラメータを適用します(Unencrypted JSON Body Parameters) を参照してください。
Basic Usage, Client-Server Integration
Standard Integration (Client and Server) を使用している場合(Client-Server Integration Guide for JavaScript を参照してください)、このステップに従ってください:
-
この ID を JSON 文字列としてクライアントに送り返します (identity field で使用するため):
tokenGenerateResponse.getIdentityJsonString()
注記ユーザーがオプトアウトした場合、このメソッドは
null
を返しますので、必ず処理してください。
Basic Usage, Server-Side Integration
Server-Side Integration (Publisher Integration Guide, Server-Side を参照してください) を使用している場合は、以下の手順に従ってください:
-
tokenGenerateResponse.getIdentityJsonString()
関数を使用して、この ID をユーザーのセッションに JSON 文字列として格納します。ユーザーがオプトアウトした場合、このメソッドは
null
を返します。 -
ユーザーの UID2 Token を取得するには、以下を使用します:
IdentityTokens identity = tokenGenerateResponse.getIdentity();
if (identity != null) { String advertisingToken = identity.getAdvertisingToken(); }