as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

@amazon-devices/kepler-aps-client

@amazon-devices/kepler-aps-client

Vega APS客户端API是连接适用于Vega的React Native应用和亚马逊出版商服务 (APS) 的原生代码实现之间的桥梁。该API提供了getDeviceParams() 方法来获取您的竞价请求所需的参数。您可以通过C2S(客户端到服务器)或S2S(服务器到服务器)集成将这些参数发送到APS以完成请求。

本用户指南解释了APS客户端库的安装和API的使用。有关亚马逊出版商服务的介绍,请参阅亚马逊出版商服务

先决条件

在开始之前,请确保您已经安装了Vega SDK并创建了自己的JavaScript应用。您还必须遵循C2S或S2S集成指南来完成云端入门培训,并且您应该了解创建有效负载的工作原理。

以下是使用APS设备端API的方式。

开始使用APSClientLibrary

步骤1.在应用中包含程序包依赖项

将该库作为依赖项添加到程序包的package.json文件中。

已复制到剪贴板。

"dependencies": {
      "@amazon-devices/react-native-kepler": "~2.0.0",
      "react": "18.2.0",
      "react-native": "0.83.0",
      "@amazon-devices/kepler-aps-client": "~1.0.11"
   }

步骤2:更新您的清单文件

更新您的manifest.toml文件以包含必需依赖项。

  1. components.interactive必须包含适用于您的React Native版本的相应runtime-module
  2. wants.module必须包含id = "/com.amazon.kepler.apslib@IApsDeviceParametersMap"

以下是示例应用的示例。manifest.toml


已复制到剪贴板。


   [package]
   title = "APS示例应用"

   [components]
   [[components.interactive]]
   ...
   runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0"
   ...

   [wants]
   [[wants.module]]
   id = "/com.amazon.kepler.apslib@IApsDeviceParametersMap"

已复制到剪贴板。


   [package]
   title = "APS示例应用"

   [components]
   [[components.interactive]]
   ...
   runtime-module = "/com.amazon.kepler.runtime.react_native_kepler_4@IReactNativeKepler_0"
   ...

   [wants]
   [[wants.module]]
   id = "/com.amazon.kepler.apslib@IApsDeviceParametersMap"

步骤3:将API导入您的应用

导入JavaScript应用的必需设备参数。

已复制到剪贴板。

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';

ApsClientLibraryAPI.getDeviceParams是异步的,它返回一个Promise,可以和awaitthen() 构造一起使用。成功后,Promise的有效负载是ApsDeviceParametersMap(其中包含来自必需参数的键)到其相应值的映射。如果发生错误,Promise会被拒绝并显示错误消息。

使用该函数的建议方法是在应用加载时调用该函数,然后缓存返回值。以下代码示例演示如何使用then() 构造处理成功和错误的情况。

此示例假设传递ApsIntegrationType.c2s的服务器到服务器 (S2S) 集成,而不是客户端到服务器 (C2S) 集成。

以下代码示例演示如何使用then()结构处理成功和错误的情况:

已复制到剪贴板。

const apsGetS2SWait = async (key: string) => {
console.debug(`[APS][${key}] executing apsGetS2SWait`);
   ApsClientLibraryAPI.getDeviceParams(ApsIntegrationType.S2S).then((deviceParams: ApsDeviceParametersMap) => {
      console.debug(`[APS][${key}] s2s aps device config: ${SCREEN_HEIGHT_DEVICE_PARAM}, val: ${deviceParams.height}`);
      console.debug(`[APS][${key}] s2s aps device config: ${SCREEN_WIDTH_DEVICE_PARAM}, val: ${deviceParams.width}`);
      console.debug(`[APS][${key}] s2s aps device config: ${DNT_DEVICE_PARAM}, val: ${deviceParams.dnt}`);
      console.debug(`[APS][${key}] s2s aps device config: ${IFA_DEVICE_PARAM}, val: ${deviceParams.ifa}`);
      console.debug(`[APS][${key}] s2s aps device config: ${UA_DEVICE_PARAM}, val: ${deviceParams.ua}`);
      console.debug(`[APS][${key}] s2s aps device config: ${MAKE_DEVICE_PARAM}, val: ${deviceParams.make}`);
      console.debug(`[APS][${key}] s2s aps device config: ${LANGUAGE_DEVICE_PARAM}, val: ${deviceParams.language}`);
      console.debug(`[APS][${key}] s2s aps device config: ${MODEL_DEVICE_PARAM}, val: ${deviceParams.model}`);
      console.debug(`[APS][${key}] s2s aps device config: ${OS_DEVICE_PARAM}, val: ${deviceParams.os}`);
      console.debug(`[APS][${key}] s2s aps device config: ${OSV_DEVICE_PARAM}, val: ${deviceParams.osv}`);
   },
   function (error: Error) {
      console.error(`[APS][${key}] FAIL 无法获取配置:${error["message"]}`);
   }
);
}

步骤4:检查必需参数

除了设备参数外,还从发送到服务器的HTTP请求中捕获IP,并将其作为请求有效负载的一部分。有关更多信息,请参阅必需参数表。

必需参数

参数 描述 IntegrationType: S2S IntegrationType: C2S 由此API提供
h 屏幕的物理高度(以像素为单位)
w 屏幕的物理宽度(以像素为单位)
dnt 浏览器在标题中设置的标准“不要追踪”标记,其中0 = 跟踪不受限制,1 = 不要追踪。
ifa 您设备的广告ID
ua 设备用户代理(一个字符串)。
make 设备制造商(例如,亚马逊)。
language 使用ISO-639-1-alpha-2的设备语言。
model 设备型号(例如,AFTT)。
os 设备操作系统(例如,Android)。
osv 设备操作系统版本(例如,5.1.1)。
ip 离设备最近的IPv4地址(公共IP)(例如,204.78.58.34)。 否(注意,仅适用于S2S: 从发送到服务器的HTTPS请求中捕获IP)。

步骤5.完成有效负载

完成HeaderBidding请求的JSON有效负载创建,并在剩余的云交互之后使用C2S或S2S集成指南提出HTTPS请求。

构建并安装您的应用

构建您的应用

此示例使用名为mykeplerapp的应用。

步骤1.安装应用依赖项。

已复制到剪贴板。

npm install

步骤2:生成.vpkg文件。

已复制到剪贴板。

npx react-native build-vega

安装您的程序包

安装您的程序包并运行它。

已复制到剪贴板。

vda push ./kepler-build/vpkg/mykeplerapp_armv7.vpkg /tmp

安装并启动应用

已复制到剪贴板。

vda shell

已复制到剪贴板。

vpm install /tmp/mykeplerapp.vpkg

已复制到剪贴板。

vmsgr send pkg://com.amazondeveloper.mykeplerapp.main

API参考

接口

枚举

类型别名

函数

变量


Last updated: 2026年7月22日