事件API #
(用于发送“首次应用打开”(First App Open)和“应用打开”(App Open)事件)
身份验证:
我们使用 Tenjin SDK Key 对发送到 Tenjin 服务器的每个请求进行身份验证,验证方式如下:
- 将其作为请求 URL 中的参数 api_key,或者
- 将其作为用户名(username),并将密码(password)留空,用于基础访问认证
POST or GET URL:
https://track.tenjin.com/v0/event
返回 {“code”:200} 表示请求成功。
参数:
*:必须
| 参数 | 类型 | 说明 | 例子 |
api_key* | 字符串 | 每个应用对应的Tenjin SDK Key。请在应用页面中查看。如果你使用的是基本身份验证(basic authentication),则不需要此参数。 | ENECCCVB8UQVLPSQ58S8EZXTJHA7FHDW |
analytics_installation_id* | UUID | Tenjin生成的应用安装唯一标识符。可通过S2S callbacks或SDK(Android SDK、iOS SDK、Unity SDK)获取。 | 29eeb1610fe74997b6d53f02e9711f8c |
advertising_id* | 字符串 | 设备的原始广告ID。对于选择退出(opt-out)的用户,该值可能为空或为全零。 | f024e65f3dd94f16983726bcef192d68 |
developer_device_id (*iOS必需) | 字符串 | Vendor的标识符 | b6bc48fe0ce949e4b229ce6c55663fca |
bundle_id* | 字符串 | 应用包名 | com.tenjin.wordfinder |
platform* | 字符串 | ios, android, amazon, android_other | ios |
limit_ad_tracking | 字符串 | 1:是,0:否 | 1 |
os_version* | 字符串 | Android用户 String os_version = String.valueOf(Build.VERSION.SDK_INT) iOS用户: [[UIDevice currentDevice] systemVersion] | 8.0 |
app_version | Float, Decimal | 应用版本 Android用户 String app_version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName + “.” + context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode) iOS用户: [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”] | 1.0.3 |
sdk_version* | 字符串 | server | server |
country | 字符串 | ISO地区国家代码标准(示例请参见Apple文档)。 | US |
ip_address | 字符串 | 用户的IP地址。该信息用于查询国家。如果未提供此参数,我们将使用HTTP头中的IP地址。 | 71.165.85.114 |
ad_user_data | Boolean | Google用户同意信号参数:用于表示是否同意将用户级数据传输给第三方用于广告。1表示同意,0表示拒绝。 当没有用户同意数据时,应从请求中完全移除此参数(不要将其设置为空)。 | 1 |
ad_personalization | Boolean | Google用户同意信号参数:用于表示是否同意个性化广告。1表示同意,0表示拒绝。当没有用户同意数据时,应从请求中完全移除此参数(不要将其设置为空)。 | 1 |
referrer | 字符串 | 用于已跟踪的Android安装的数据收集。 | campaign_id%3D |
os_version_release (*用于跟踪Google Ads所必需) | 字符串 | Android用户 String os_version_release = String.valueOf(Build.VERSION.RELEASE) iOS用户: [[UIDevice currentDevice] systemVersion] | 8.0.1 |
build_id (*用于跟踪Google Ads所必需) | 字符串 | 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];} | UP1B.231005.007 |
locale (*用于跟踪Google Ads所必需) | 字符串 | Android用户 String locale = Locale.getDefault().toString() iOS用户: [[NSLocale currentLocale] localeIdentifier] | es_AR |
device_model (*用于跟踪Google Ads所必需) | 字符串 | 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];} | SM-F731A |
odm_info | 字符串 | 这是在iOS上通过Google Ads进行概率归因所需的字符串。你需要先从ODM SDK中获取该字符串。 | AB7Dr_EJBWQ_lT_l1V0z5xqDB9MnLGbINV5r2w1jhVTITlm0IK7QE16Bf2sIjI_twjeMoQl3SedWsZiPtijTZ2DkUYI_H9RI6lkStqbwmBVsnu_QH4hfkuJeMwhFEzBEJCz3a8cdD2U1MRd1jwn2b_hbaHsbVO3NlE0xsExo5HtcuWmsaMdddKn9vFRPtyPQvSLjSl4AlsdyAaYg9Hw-FyYfm9eAbqrxy3NXkZtjJeXRThMG6MTNJA |
customer_user_id | 字符串 | 为事件自定义的用户ID | jdabGcerT32_d |
Purchase API #
(用于发送购买事件)
身份验证:
我们使用 Tenjin SDK Key 对发送到 Tenjin 服务器的每个请求进行身份验证,验证方式如下:
- 将其作为请求 URL 中的参数 api_key,或者
- 将其作为用户名(username),并将密码(password)留空,用于基础访问认证
POST or GET URL:
https://track.tenjin.com/v0/purchase
参数:
*:必须
| 参数 | 类型 | 说明 | 例子 |
api_key* | 字符串 | 每个应用对应的Tenjin SDK Key。请在应用页面中查看。如果你使用的是基本身份验证(basic authentication),则不需要此参数。 | ENECCCVB8UQVLPSQ58S8EZXTJHA7FHDW |
analytics_installation_id* | UUID | Tenjin生成的应用安装唯一标识符。可通过S2S callbacks或SDK(Android SDK、iOS SDK、Unity SDK)获取。 | 29eeb1610fe74997b6d53f02e9711f8c |
advertising_id* | 字符串 | 设备的原始广告ID。对于选择退出(opt-out)的用户,该值可能为空或为全零。 | f024e65f3dd94f16983726bcef192d68 |
developer_device_id (*iOS必需) | 字符串 | Vendor的标识符 | b6bc48fe0ce949e4b229ce6c55663fca |
bundle_id* | 字符串 | 应用包名 | com.tenjin.wordfinder |
platform* | 字符串 | ios, android, amazon, android_other | ios |
limit_ad_tracking | 字符串 | 1:是,0:否 | 1 |
os_version* | 字符串 | Android用户 String.valueOf(Build.VERSION.SDK_INT) iOS用户: [[UIDevice currentDevice] systemVersion] | 8.0 |
app_version (*用于跟踪Google Ads所必需) | Float, Decimal | 应用版本 Android用户 String app_version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName + “.” + context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode) iOS用户: [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”] | 1.0.3 |
sdk_version* | 字符串 | server | server |
ip_address | 字符串 | 用户的IP地址。该信息用于查询国家。如果未提供此参数,我们将使用HTTP头中的IP地址。 | 71.165.85.114 |
ad_user_data | Boolean | Google用户同意信号参数:用于表示是否同意将用户级数据传输给第三方用于广告。1表示同意,0表示拒绝。 当没有用户同意数据时,应从请求中完全移除此参数(不要将其设置为空)。 | 1 |
ad_personalization | Boolean | Google用户同意信号参数:用于表示是否同意个性化广告。1表示同意,0表示拒绝。当没有用户同意数据时,应从请求中完全移除此参数(不要将其设置为空)。 | 1 |
postcut | 字符串 | 1表示发送扣除平台分成后的购买收入 | 1 |
product_id* | 字符串 | 所购买产品的唯一名称 | coin_store |
price* | Float, Decimal | 所购买商品的单价,使用该货币的标准单位(例如:USD以美元为单位) | 0.99 |
quantity* | 整数 | 购买的数量 | 1 |
country | 字符串 | ISO地区国家代码标准(示例请参见Apple文档)。 | US |
currency* | 字符串 | Apple和Google使用的ISO货币代码(示例请参见Apple文档) | USD |
os_version_release (*用于跟踪Google Ads所必需) | 字符串 | Android用户 String os_version_release = String.valueOf(Build.VERSION.RELEASE) iOS用户: [[UIDevice currentDevice] systemVersion] | 14 |
build_id (*用于跟踪Google Ads所必需) | 字符串 | 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];} | UP1B.231005.007 |
locale (*用于跟踪Google Ads所必需) | 字符串 | Android用户 String locale = Locale.getDefault().toString() iOS用户: [[NSLocale currentLocale] localeIdentifier] | es_AR |
device_model (*用于跟踪Google Ads所必需) | 字符串 | 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];} | SM-F731A |
customer_user_id | 字符串 | 为事件自定义的用户ID | jdabGcerT32_d |
如果没有有效的收据或签名,请不要在请求URL中添加这些参数。即使没有收据或签名,我们仍然可以通过S2S在面板上显示该购买记录。.
Custom Event API #
(用于发送所有自定义事件)
身份验证:
我们使用 Tenjin SDK Key 对发送到 Tenjin 服务器的每个请求进行身份验证,验证方式如下:
- 将其作为请求 URL 中的参数 api_key,或者
- 将其作为用户名(username),并将密码(password)留空,用于基础访问认证
POST or GET URL:
https://track.tenjin.com/v0/event
参数:
*:必须
| 参数 | 类型 | 说明 | 例子 |
api_key* | 字符串 | 每个应用对应的Tenjin SDK Key。请在应用页面中查看。如果你使用的是基本身份验证(basic authentication),则不需要此参数。 | ENECCCVB8UQVLPSQ58S8EZXTJHA7FHDW |
analytics_installation_id* | UUID | Tenjin生成的应用安装唯一标识符。可通过S2S callbacks或SDK(Android SDK、iOS SDK、Unity SDK)获取。 | 29eeb1610fe74997b6d53f02e9711f8c |
advertising_id* | 字符串 | 设备的原始广告ID。对于选择退出(opt-out)的用户,该值可能为空或为全零。 | f024e65f3dd94f16983726bcef192d68 |
developer_device_id (*iOS必需) | 字符串 | Vendor的标识符 | b6bc48fe0ce949e4b229ce6c55663fca |
bundle_id* | 字符串 | 应用包名 | com.tenjin.wordfinder |
platform* | 字符串 | ios, android, amazon, android_other | ios |
limit_ad_tracking | 字符串 | 1:是,0:否 | 1 |
os_version* | 字符串 | Android用户 String.valueOf(Build.VERSION.SDK_INT) iOS用户: [[UIDevice currentDevice] systemVersion] | 8.0 |
app_version (* required for Google Ads) | Float, Decimal | 应用版本 Android用户 String app_version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName + “.” + context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode) iOS用户: [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”] | 1.0.3 |
sdk_version* | 字符串 | server | server |
ip_address | 字符串 | 用户的IP地址。该信息用于查询国家。如果未提供此参数,我们将使用HTTP头中的IP地址。 | 71.165.85.114 |
ad_user_data | Boolean | Google用户同意信号参数:用于表示是否同意将用户级数据传输给第三方用于广告。1表示同意,0表示拒绝。 当没有用户同意数据时,应从请求中完全移除此参数(不要将其设置为空)。 | 1 |
ad_personalization | Boolean | Google用户同意信号参数:用于表示是否同意个性化广告。1表示同意,0表示拒绝。当没有用户同意数据时,应从请求中完全移除此参数(不要将其设置为空)。 | 1 |
event* | 字符串 | 事件名称,例如:“tutorial_complete”、“registration_complete”或“level_1_complete” | event_complete |
value | Nil, Integer | 与事件名称关联的数值。该数值可用于计算与该事件名称相关的指标(例如:计算某个特定事件获得的虚拟货币数量)。 | 10 |
os_version_release (*用于跟踪Google Ads所必需) | 字符串 | Android用户 String os_version_release = String.valueOf(Build.VERSION.RELEASE) iOS用户: [[UIDevice currentDevice] systemVersion] | 14 |
build_id (*用于跟踪Google Ads所必需) | 字符串 | 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];} | UP1B.231005.007 |
locale (*用于跟踪Google Ads所必需) | 字符串 | Android用户 String locale = Locale.getDefault().toString() iOS用户: [[NSLocale currentLocale] localeIdentifier] | es_AR |
device_model (*用于跟踪Google Ads所必需) | 字符串 | 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];} | SM-F731A |
customer_user_id | 字符串 | 为事件自定义的用户ID | jdabGcerT32_d |