@amazon-devices/kepler-aps-client
重要: このAPIはKeplerシミュレーターではサポートされません。実装のテストには、Fire TV Stickを使用してください。
Kepler APSクライアントAPIは、Kepler向けReact NativeアプリとAmazon Publisher Services(APS)のネイティブコード実装との連係を可能にします。この単一のAPIを使用して、Amazon Publisherアプリは必要なパラメーターを取得します。それらのパラメーターは、入札リクエストのコンパイルに使用され、C2S(クライアントからサーバー)またはS2S(サーバー間)の統合を介してAPSに送信されます。
このユーザーガイドでは、APSクライアントライブラリのインストール方法とAPIの使用方法について説明します。
注釈
APSは、Kepler TVプラットフォーム上で、パブリッシャーに2つの異なる統合パスを提供します。これらの統合を利用して、パブリッシャーは入札リクエストを送信して広告ブレークインベントリを埋めることができます。
S2S統合: パブリッシャーは、パブリッシャーの広告サーバーに渡される入札情報を返すS2Sバックエンド呼び出しを使用して、APSのキーと値のペアを取得します。サーバーを呼び出すことができるのは、サーバーからに限られます。APSは、クライアント側の呼び出しをサポートしていません。呼び出しパラメーターは以下のとおりです。
- APIプロトコル: HTTPとHTTPSをサポート
- エンドポイント:https://aax-ott.amazon-adsystem.com/e/mdtb/ads
- 推奨タイムアウト: 500ミリ秒
C2S統合: パブリッシャーがC2S呼び出しを使用すると、パブリッシャーの広告サーバーに渡される入札情報が、カスタムキー値の形式で返されます。サーバーを呼び出すことができるのは、アプリからに限られます。APSは、このエンドポイントでのサーバー側の呼び出しをサポートしています。呼び出しパラメーターは以下のとおりです。
- APIプロトコル: HTTPS
- エンドポイント:https://aax-ott-C2S.amazon-adsystem.com/e/C2S/ads
- 推奨タイムアウト: 1000ミリ秒
詳細については、S2S統合ガイドを参照してください。
開始の手順
前提条件
まず、Kepler SDKをインストール済みであることと、自身のKepler向けReact Nativeアプリを作成済みであることを確認してください。また、クラウド側のオンボーディングを完了するには、C2SまたはS2Sの統合ガイドに従っている必要があり、ペイロードの作成方法を理解しておく必要があります。
セットアップ
-
package.jsonファイルの
dependenciesセクションに、以下のライブラリ依存関係を追加します。"@amazon-devices/kepler-aps-client": "~1.0.0" -
manifest.tomlに、以下のコンポーネントと権限を追加します。
[components] [[components.interactive]] ... runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0" ... [wants] [[wants.module]] id = "/com.amazon.kepler.apslib@IApsDeviceParametersMap"
使用方法
手順1: 必要なコンポーネントのインポート
APS APIを使用するには、@amazon-devices/kepler-aps-clientから必要なコンポーネントをインポートします。
import {
ApsDeviceParametersMap,
ApsClientLibraryAPI,
ApsIntegrationType,
SCREEN_HEIGHT_DEVICE_PARAM,
SCREEN_WIDTH_DEVICE_PARAM,
DNT_DEVICE_PARAM,
IFA_DEVICE_PARAM,
UA_DEVICE_PARAM,
MAKE_DEVICE_PARAM,
LANGUAGE_DEVICE_PARAM,
MODEL_DEVICE_PARAM,
OS_DEVICE_PARAM,
OSV_DEVICE_PARAM,
} from '@amazon-devices/kepler-aps-client';
手順2: デバイスパラメーターを取得する
ApsClientLibraryAPI.getDeviceParams()は非同期で、awaitまたはthen()コンストラクトの使用時に待機できるPromiseを返します。成功すると、PromiseのペイロードはApsDeviceParametersMapのマッピングになります。マッピングには、必須パラメーターのキーと、それに対応する値が含まれています。エラーが発生した場合、Promiseは拒否され、エラーメッセージが返されます。
この関数では、アプリの読み込み時に呼び出し、戻り値をキャッシュすることが推奨されます。
この例では、サーバー間(S2S)統合を想定しています。C2S統合の場合は、代わりにApsIntegrationType.C2Sを渡してください。この例は、then()コンストラクトを使用して成功とエラーの両方のケースを処理する方法を示しています。
const apsGetS2SWait = async (key: string) => {
console.debug(`[APS][${key}] apsGetS2SWaitを実行します`);
ApsClientLibraryAPI.getDeviceParams(ApsIntegrationType.S2S).then((deviceParams: ApsDeviceParametersMap) => {
console.debug(`[APS][${key}] S2S APSデバイス構成:${SCREEN_HEIGHT_DEVICE_PARAM}、値:${deviceParams.height}`);
console.debug(`[APS][${key}] S2S APSデバイス構成:${SCREEN_WIDTH_DEVICE_PARAM}、値:${deviceParams.width}`);
console.debug(`[APS][${key}] S2S APSデバイス構成:${DNT_DEVICE_PARAM}、値:${deviceParams.dnt}`);
console.debug(`[APS][${key}] S2S APSデバイス構成:${IFA_DEVICE_PARAM}、値:${deviceParams.ifa}`);
console.debug(`[APS][${key}] S2S APSデバイス構成:${UA_DEVICE_PARAM}、値:${deviceParams.ua}`);
console.debug(`[APS][${key}] S2S APSデバイス構成:${MAKE_DEVICE_PARAM}、値:${deviceParams.make}`);
console.debug(`[APS][${key}] S2S APSデバイス構成:${LANGUAGE_DEVICE_PARAM}、値:${deviceParams.language}`);
console.debug(`[APS][${key}] S2S APSデバイス構成:${MODEL_DEVICE_PARAM}、値:${deviceParams.model}`);
console.debug(`[APS][${key}] S2S APSデバイス構成:${OS_DEVICE_PARAM}、値:${deviceParams.os}`);
console.debug(`[APS][${key}] S2S APSデバイス構成:${OSV_DEVICE_PARAM}、値:${deviceParams.osv}`);
},
function (error: Error) {
console.error(`[APS][${key}] 失敗:構成を取得できませんでした:${error["message"]}`);
}
);
}
必須パラメーターを確認する方法
APIから取得したデバイスパラメーターに加えて、サーバーに送信されたHTTPリクエストからIPを取得し、リクエストペイロードの一部として含める必要があります。詳細については、下の必須パラメーターの表を参照してください。
ペイロードを完成させる
HeaderBiddingリクエストのJSONペイロード作成を完了し、C2SまたはS2Sの統合ガイドに従って、残りのクラウドとのやり取りの後にHTTPSリクエストを行います。
必須パラメーター
| パラメーター | 説明 | IntegrationType:S2S | IntegrationType:C2S | このAPIにより提供 |
|---|---|---|---|---|
| h | 画面の物理的な高さ(ピクセル) | ○ | ○ | ○ |
| w | 画面の物理的な幅(ピクセル) | ○ | ○ | ○ |
| dnt | ブラウザのヘッダーに設定される標準の「Do Not Track」フラグ(0 = トラッキングに制限なし、1 = トラッキング禁止) | ○ | ○ | ○ |
| ifa | デバイスの広告ID | ○ | ○ | ○ |
| ua | デバイスのユーザーエージェント文字列 | ○ | ○ | ○ |
| make | デバイスのメーカー(例:“Amazon”) | ○ | ○ | ○ |
| language | ISO-639-1-alpha-2を使用するデバイスの言語 | ○ | ○ | ○ |
| model | デバイスのモデル(例:“AFTT”) | ○ | ○ | ○ |
| os | デバイスのオペレーティングシステム(例:“Android”) | ○ | × | ○ |
| osv | デバイスのオペレーティングシステムのバージョン(例:5.1.1) | ○ | × | ○ |
| ip | デバイスに最も近いIPv4アドレス(パブリックIP)(例:204.78.58.34) | ○ | × | ×(注:IPはサーバーに送信されたhttpリクエストから取得してください) |
モジュール
- index
- turbo-modules/AmazonAPSClientTurboModule
- turbo-modules/AmazonAPSClientTurboModule
- turbo-modules/ApsClientLibraryAPI
- turbo-modules/ApsClientLibraryAPI
- turbo-modules/helpers/ApsHelpers
- turbo-modules/helpers/ApsHelpers
- turbo-modules/helpers/ApsHelpers
- turbo-modules/types/ApsErrors
- turbo-modules/types/ApsErrors
- turbo-modules/types/ApsErrors
- turbo-modules/types/ApsTypes
- turbo-modules/types/ApsTypes
- turbo-modules/types/ApsTypes
Last updated: 2025年10月2日

