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

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

我们接受以下类型的 S2S 事件请求:
  • 含 URL 参数的 GET
  • 含 URL 参数的 POST(无正文)
  • 含作为 Content-Type 的正文参数的 POST application/x-www-form-urlencoded

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

操作前须知

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

要求

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

实用信息

  • 系统会利用 SDK 自动记录安装、再归因和会话,无法将其发送至 Adjust S2S。若要阻止接收大量重复数据,请避免使用 S2S 发送类似活动 (例如 "打开应用"),因为 Adjust 不会去除重复的 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
s2s s2s 参数设置为 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 参数,因为它只支持数值,不支持浮点值或非数字字符,包括小数点 (.) 。所有带非数字字符的时间戳将被拒绝。这可以减少格式或编码问题的出现。 created_at_unix 参数仅接受两种时间格式:

     - 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 天的事件。 
    • 请确保在 28 天内提交事件,因为 28 天之前的活动将被拒绝。
  • 对于同一设备和不同收入事件识别码,包含收入和 '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
安卓 IDandroid_id

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

共享自定义数据

使用回传和合作伙伴参数通过 S2S 将自定义事件数据传送给 Adjust。回传参数通过原始数据导出传回,而合作伙伴参数则与您的渠道合作伙伴共享。要为 S2S 事件设置回传和合作伙伴参数,请遵照下列步骤操作: 

跟踪 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
主体:
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
404App token not foundApp token not found
404Device not found未找到设备安装数据
413Request size too large您的请求超过了我们的 1 MB 上限
451Device is opted outDevice is opted out 
500Internal error, contact support@adjust.com内部错误,请联系 support@adjust.com 了解详细信息

有关此主题