Languages 
  • English
  • 中文
  • 日本語

服务器到服务器的事件跟踪

服务器到服务器 (S2S) 事件 API 使 Adjust 可以通过 HTTP 请求跟踪您的事件。

我们接受以下类型的 S2S 事件请求:

  • 含 URL 参数的 GET
  • 含 URL 参数的 POST(无主体 no body)
  • 含使用 Content-Type application/x-www-form-urlencoded 为主体 (body)参数的 POST

在本文中,您将了解如何设置 S2S 事件跟踪并对其进行故障排除。

操作前须知

以下是您在开始前需要了解的内容:

要求

  • 用于跟踪事件并将调用发送至 Adjust 的服务器

实用信息

  • 系统会利用 SDK 自动记录安装、再归因和会话,无法将其发送至 Adjust S2S。若要阻止接收大量重复数据,请避免使用 S2S 发送类似活动 (例如 "打开应用"),因为 Adjust 不会去除重复的 S2S 事件。

设置 S2S 认证

设置 S2S 认证,可保护 S2S 事件的安全,抵御欺诈请求的侵害。设置认证后,每个传入的请求都必须带有您在 Adjust 控制面板中生成的识别码。未附加有效识别码的请求会被我们的服务器拒绝。

若要设置 S2S 认证,请按照以下步骤操作。

在控制面板中

  1. 查找应用并点击应用选项插入符号 (^)
  2. 选择 所有设置> S2S 安全
  3. 选择 创建识别码
  4. 输入识别码名称
  5. 选择 创建
  6. 选择 复制 (剪贴板图标),然后将识别码发送给您的开发者,以便将识别码添加到 S2S 事件请求中。

将认证识别码加入您的 S2S 请求后,请进行测试,确认集成已正确完成。此时,S2S 认证尚未激活,带有无效识别码的请求依旧会被服务器接受。请联系您的专属技术客户经理,或联系 support@adjust.com,在激活 S2S 认证之前验证设置是否正确。

附加识别码的 POST 请求示例:

curl -v -X POST -H "Authorization: Bearer v8s5opi0zs45607l8h8c48wak2vxb5oe" "https://s2s.adjust.com/event?s2s=1&app_token=abc123kuvada7&event_token=xyzklm&gps_adid=11110111-2345-6789-1122-000000005678"

预计响应:

> POST /event?s2s=1&app_token=abc123kuvada7&event_token=xyzklm&gps_adid=11110111-2345-6789-1122-000000005678 HTTP/1.1
> Host: s2s.adjust.com
> User-Agent: curl/7.54.0
> Accept: */*
> Authorization: Bearer v8s5opi0zs45607l8h8c48wak2vxb5oe

请求会发回下列响应。

响应代码响应信息理由
200OK请求已被接受
202Missing authentication token请求中缺失认证识别码
202Wrong authentication token识别码无法被识别。请在控制面板中检查识别码是否已正确设置并激活。

激活 S2S 认证

请务必先测试您的识别码集成情况,并联系您的技术客户经理,或写邮件至 support@adjust.com 进行验证,然后再激活 S2S 认证。

若要激活 S2S 认证,请按照此处的步骤操作。

  1. 查找应用并点击应用选项插入符号 (^)
  2. 选择 所有设置> S2S 安全
  3. 选择 激活 S2S 认证
  4. 将此项切换为
  5. 确认以继续

太棒了!现在所有传入的 S2S 请求都必须附带激活的认证识别码。

管理您的识别码

要添加多个认证识别码,请按照上文设置步骤进行操作。

请注意:请务必在集成后测试您的识别码。激活 S2S 认证后,如果请求附带的新识别码未被正确集成,请求就会被拒绝。

要删除识别码,请选择 删除 (垃圾桶图标)。进行该操作后,识别码会立即从您的控制面板视图和认证要求中移除。要恢复已删除的识别码,请选择 恢复 (箭头图标)。

如果您不慎删除了唯一的有效认证识别码,Adjust 会自动关闭 S2S 认证,确保您不会拒绝所有的 S2S 流量。

将事件发送至 Adjust

如需发送事件到 Adjust,请始终传递以下参数到https://s2s.adjust.com/event

参数描述示例
idfa; gps_adid; etc.   不同平台的广告 ID (请参阅完整列表)

idfa=D2CADB5F-410F-4963-AC0C-2A78534BDF1E

gps_adid=660e1d86-6796-463a-be86-897993136018

event_token控制面板上的 Adjust 事件识别码event_token=f0ob4r
app_token控制面板上的 Adjust 应用识别码app_token=4w565xzmb54d
s2ss2s 参数设置为 1s2s=1

提交事件时的其他建议参数

为了保证准确的事件归因,我们建议将以下参数包含在您的事件中。

ID 类型参数 + 示例用途
Adjust 设备 IDadid识别 iOS 上无 idfa 信息的 LAT 用户
IP 地址ip_address回传中链接至第三方 (例如 Google) 并包括位置相关信息 (例如 city、postal_code) 的事件。ip_address 参数只接受 IPv4,暂不支持 IPv6。
created_at_unix
(推荐)



created_at
created_at_unix=1484085154



created_at=2017-01-02T15:04:05.000+0000

告诉我们事件发生的确切时间,这有助于 Adjust 准确报告您的事件。

created_at 时间戳的设置条件

可以使用 created_at_unix 参数或 created_at 参数指定 "created at" (创建时间) 时间戳。

  • 秒 - created_at_unix=1484085154
    毫秒 - created_at_unix=1484085154000
  • 若您使用 created_at 参数,请始终对该值进行编码。例如,2017-01-02T15:04:05.000+0000 将变为 2017-01-02T15%3A04%3A05.000%2B0000
  • 如果您的服务器端事件调用不包含 "created at" 时间戳,或者格式不正确 (如没有时区),Adjust 会将 created_at 时间设置为我们的 ReceivedAt 时间戳。
  • 对于同一设备和事件识别码、包含 'created at' 时间戳的所有 S2S 事件都需要按 'created at' 时间戳先后顺序提交。例如,对于使用相同事件识别码的同一台设备,您必须先发送第 3 天的事件,然后再发送第 7 天的事件。否则,Adjust 就会拒绝第 3 天的事件。
    • 请确保在 58 天内提交事件,因为 58 天之前的活动将被拒绝。
  • 对于同一设备和不同收入事件识别码,包含收入和 'created at' 时间戳的所有 S2S 事件都需要按 'created at' 时间戳先后顺序提交。例如,对于同一台设备,您必须先发送带有收入事件识别码 X 的第 3 天收入事件,然后再发送带有收入事件识别码 Y 的第 7 天事件。否则,我们就会拒绝第 3 天的收入事件。

可接受的设备 ID

S2S 事件接受下列设备标识符:

首选标识符
原始 IDFA (仅限 iOS)idfa
原始 Google 广告 IDgps_adid
原始 Amazon Fire 广告 IDfire_adid
公共广告 ID (OAID,仅限华为)oaid
备用标识符
原始 IDFA                                                        idfa
原始 IDFVidfv
Android IDandroid_id

**请注意:**在可用的情况下,Adjust 设备 ID (adid) 是首选的备用标识符。要使 S2S 请求正常运行,您必须发送 adid

共享自定义数据

使用回传和合作伙伴参数通过 S2S 将自定义事件数据传送给 Adjust。回传参数通过原始数据导出返回,而合作伙伴参数则与您的渠道合作伙伴共享。

如需接收服务器到服务器的事件的回传参数,请使用 callback_params 参数将其作为 JSON 对象 (适当转义) 进行传递。对于合作伙伴参数,请使用 partner_params 参数。

未编码参数示例:partner_params={"f0o":"bar","bar":"baz"}

附带已编码合作伙伴参数的 S2S 请求示例:

https://s2s.adjust.com/event?s2s=1&event_token=f0ob4r&app_token=4w565xzmb54d&idfa=8A3CB124-5A79-4334-8802-F75FEC099C58&partner_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D”

JSON 对象只能包含字符串,并且不能进行嵌套。如果该参数的格式不正确,您将收到 Adjust 发送的“错误”报告。

跟踪 S2S 事件

如需_接收_ S2S 跟踪事件的回传参数,请使用 callback_params 参数,将其作为 JSON 对象进行传递。下方的示例未经编码,拥有两个自定义参数:

{"f0o":"bar","bar":"baz"}

下方 JSON 对象示例中附加了 callback_params,并进行了适当的编码:

https://s2s.adjust.com/event?s2s=1&event_token=f0ob4r&app_token=4w565xzmb54d&idfa=8A3CB124-5A79-4334-8802-F75FEC099C58&callback_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D

如需_发送_服务器到服务器跟踪事件的合作伙伴参数,请使用 partner_params 参数,将其作为 JSON 对象进行传递。下方的示例未经编码,拥有两个自定义参数:

partner_params={"f0o":"bar","bar":"baz"}

下方示例中,S2S 请求里附加了 partner_params,并进行了适当的编码:

https://s2s.adjust.com/event?s2s=1&event_token=f0ob4r&app_token=4w565xzmb54d&idfa=8A3CB124-5A79-4334-8802-F75FEC099C58&partner_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D

JSON 对象只能包含字符串,并且不能进行嵌套。如果该参数的格式不正确,您将收到 Adjust 发送的“错误”信息。

跟踪收入事件

如需跟踪服务器到服务器的收入事件,请将以下收入参数添加到事件提交:

重试描述
revenue

以完整货币单位表示的收入事件值
(149.99 = $149.99)。此参数可接受
的最小值是 0.001。

currency收入事件货币代码
environment数据传送至的环境
(environment=sandbox
environment=production)。
如果未包含此参数,
则事件会被推送至
生产环境。

设置完成

含 URL 参数的 S2S GET 请求/含 URL 参数且无正文的 POST 请求示例:

https://s2s.adjust.com/event?s2s=1&event_token=f0ob4r&app_token=4w565xzmb54d&idfa=D2CADB5F-410F-4963-AC0C-2A78534BDF1E&created_at=2017-01-02T15%3A04%3A05Z%2B0200&callback_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D&partner_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D

正文中含参数的 S2S POST 请求示例:

请求 URL:
https://s2s.adjust.com/event
Body:

s2s=1&event_token=f0ob4r&app_token=4w565xzmb54d&idfa=D2CADB5F-410F-4963-AC0C-2A78534BDF1E&created_at=2017-01-02T15%3A04%3A05Z%2B0200&callback_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D&partner_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D

事件请求响应

所有成功跟踪的事件将返回 OK 响应。

失败的事件将返回 HTTP 错误信息和 JSON 信息,例如:{"error": "Event request failed ( {error message})"}

错误信息将定义请求问题。请参阅以下错误信息定义,然后检查您的设置,或发送电子邮件至 support@adjust.com 寻求帮助。

错误代码错误消息理由
400Bad event state原因可能有很多。例如,'created at' 时间早于 'installed_at' 时间。

请检查响应,了解更多详情。

400Invalid app token应用识别码设置错误
400Ignoring event, earlier unique event tracked在控制面板上已设定成唯一事件,重复触发事件不再作记录。
400Invalid callback parameters无法提取回传参数。
400Invalid event token事件识别码不存在、设置错误或与应用识别码不匹配。
400Invalid revenue金额设置错误或值太高 (上限 = 100,000,000,000)
401Failed to authorize request授权识别码缺失或不匹配
403App is inactive应用已在控制面板中设为非活跃状态
403Tracking disabled未启用对该平台的跟踪
403Event token blacklistedEvent token blacklisted
404未找到应用识别码未找到应用识别码
404Device not found未找到设备安装数据
413Request size too large您的请求超过了我们的 1 MB 上限
451Device is opted out设备已退出跟踪
500Internal error, contact support@adjust.com更新设备数据时发生内部错误