仅当需要通过 S2S 直接向尚未与 Tenjin 正式集成的广告聚合平台发送展示级收入数据(ILRD)时,才应使用此接口。
身份验证 #
我们通过基本身份验证中作为用户名的API密钥,或作为参数的api_key来对发送到Tenjin服务器的每个请求进行身份验证。
注意:服务器对服务器(S2S)集成并非面向所有Tenjin客户的标准功能。如果您希望开通此功能,请联系您的Tenjin客户经理。
通用端点 #
路径: https://track.tenjin.io/v0/ad_impressions/
方法:POST
Content-Type: application/x-www-form-urlencoded
设备信息参数 #
标有 * 的参数为必填项
| 参数 | 例子 | 说明 |
bundle_id* | com.tenjin.wordfinder | 应用包名 |
advertising_id* | be277924-d076-456d-9a20-3c8dee5663d3 | 设备的原始广告 ID。请注意,只有提供有效的设备 ID(包括 advertising_id、developer_device_id 和 analytics_installation_id 中的任意一个)时,请求才会被接受。在发送设备 ID 类型时保持一致非常重要。 对于 iOS,应使用 IDFA。若未获得用户同意,advertising_id 可以为空或全为零,且需在 developer_device_id 中提供 IDFV 以及 analytics_installation_id 对于 Android,应提供 advertising_id 或 analytics_installation_id 其中之一。 |
developer_device_id* | 5f4dcc3b-5aa5-40e1-8914-7a9c5d5ebf31 | 设备唯一标识符的备用字段,在没有广告标识符时使用。对于 iOS,该字段应为 IDFV。 |
analytics_installation_id* | 91d1c313-dd94-4bd3-bbbb-16c8b7afa054 | Tenjin 生成了应用程序安装专属标识符。可通过 客户回调 或 SDK 获取。Android SDKiOS SDKUnity SDK |
platform* | ios | 该应用的平台。 ios,android (附带 Google Play 商店), android_other (未预装 Google Play 商店,例如搭载中国应用商店的设备), amazon (搭配 Amazon App Store) |
app_version* | 1.5 | 应用版本 Android用户 String app_version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName + “.” + context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode) iOS用户: [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”] |
app_version_code | 2 | 仅限Android Android 应用版本: https://developer.android.com/studio/publish/versioning |
build_id | RQ3A.211001.001 | Android用户 String build = String.valueOf(Build.ID) iOS用户: @import Darwin.sys.sysctl; NSString *build(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“kern.osversion”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} |
carrier | T-2 | 移动运营商(互联网服务提供商) |
connection_type | wifi | mobile/wifi |
country | 美国 | ISO地区国家代码标准(示例请参见Apple文档)。 |
device | blueline | Android:android.os.Build.DEVICE (参考)iOS: systemInfo.machine (参考) |
device_brand | ||
device_manufacturer | 谷歌 | |
device_model | Pixel 3 | Android用户 String device = Build.MODEL; iOS用户: @import Darwin.sys.sysctl; NSString *device(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“hw.machine”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} |
device_product | blueline | 仅限 Android:build.PRODUCT |
language | en | ISO 639‑1 两字母代码 |
limit_ad_tracking | FALSE | 设备是否限制广告追踪?(true,false) |
opt_in | TRUE | 为符合《通用数据保护条例》(GDPR)要求而获取的设备主动同意: Tenjin SDK 的实现 |
locale | en_US | Android用户String locale = Locale.getDefault().toString() iOS用户:[[NSLocale currentLocale] localeIdentifier] |
os_version | 14 | Android用户 String.valueOf(Build.VERSION.SDK_INT) iOS用户: [[UIDevice currentDevice] systemVersion] |
os_version_release | 14.3.1 | 仅限 Android:完整操作系统发布版本 |
timezone | 欧洲/卢布尔雅那 | |
user_agent | Linux;U;Android 11;SM-A505FN Build/RP1A.200720.012 | 用户设备的用户代理 |
screen_height | 2028 | |
screen_width | 1080 | |
sent_at | 1693581566830 | 纪元时间(以毫秒为单位) |
session_id | f4239af1-cd6f-49e8-8b97-f61a9e81a7e0 | |
source_app_store | Google Play | 仅限Android: unspecified, googleplay, amazon, other |
ip_address*(用于确定设备所在国家/地区) | 87.123.246.9 | 用户的 IP 地址。该信息用于根据 Google DMA 用户同意参数查询国家/地区。 |
ad_user_data (Google 要求) | 1 | Google用户同意信号参数:用于表示是否同意将用户级数据传输给第三方用于广告。1表示同意,0表示拒绝。 当没有用户同意数据时,应从请求中完全移除此参数(不要将其设置为空)。 |
ad_personalization (Google 要求) | 1 | Google用户同意信号参数:用于表示是否同意个性化广告。1表示同意,0表示拒绝。当没有用户同意数据时,应从请求中完全移除此参数(不要将其设置为空)。 |
收入信息参数 #
标有 * 的参数为必填项
| 参数 | 例子 | 说明 |
ad_revenue_mediation* | max | 聚合平台名称,请使用以下选项:max,ironsource,admob,topon,cas,tradplus对于其他聚合,请使用 custom. |
network_name* | mintegral | 展示广告的广告网络名称,通常由聚合平台传递。 |
currency* | 美元 | ISO货币代码,例如 USD、JPY |
revenue_decimal* | 0.001 | 以小数形式表示的单次展示收入只需填写 revenue_decimal 或 revenue_cpm 其中之一;若同时收到这两个字段,则优先采用 revenue_decimal |
revenue_cpm | 1.0 | CPM 形式的收入,等于 revenue_decimal * 1,000 |
mediation_country | 美国 | 聚合服务提供商的国家,采用 ISO 两字母国家代码,例如 US |
ad_unit_id | 09807a44b2f855cc | 由判定归因渠道上报的Ad unit ID |
ad_format | 横幅 | 广告单元格式: banner, mrec, xpromo, native, leaderboard/leader, interstitial/inter, rewarded/reward, rewarded_inter/rewarded_interstitial |
precision | BID | 通过聚合传递的值,表示收入来源,例如 BID、CPM、RATE |
creative_id | 9299584 | 通过聚合平台传递的值 |
placement | 横幅123 | 通过聚合传递的、由发布商定义的广告位名称的值 |
network_placement | 横幅名称 | 外部广告网络的广告位名称 |
auction_id | 27d38ef0-847c-11ec-8b8d-3fe5d30476ca_765960010 | 通过聚合传递的值 |
请求示例 #
JSON
curl -X POST https://track.tenjin.com/v0/ad_impressions/ -H "Content-Type: application/x-www-form-urlencoded" -d 'api_key=api_key&advertising_id=123&ad_revenue_mediation=max&network_name=google&mediation_country=US¤cy=USD&ad_unit_id=1&ad_format=banner&revenue_decimal=0.01&precision=BID&creative_id=2&placement=banner_1&auction_id=3&bundle_id=com.tenjin.test&platform=ios&ad_user_data=1&ad_personalization=1'