上传事件

上传有关事件的信息。

使用示例:如果用户没有登录应用执行操作,您可以将离线事件发送到Analytics module。 例如,游戏中的能量恢复完整或在智能电视上观看电影。

事件属性可以通过参数或请求体传递。 当您在请求体中传递数据时,应将.csv添加到请求的URL中。 要了解更多信息,请查看示例请求。

要将事件绑定到用户,您需要在API请求中使用以下字段之一:

  • profile_id
  • appmetrica_设备_ID

注意

Post API 有数据加载限制。 要了解更多信息,请查看限制。

请求格式

POST https://api.boost.yandex.com/日志/v1/导入/事件
  ? post_api_key=<string>
  & application_id=<int>
  & profile_id=<string>
  & appmetrica_device_id=<int>
  & event_name=<string>
  & event_timestamp=<int>
  & [event_json=<json>]
  & [session_type=<string>]
  & [ios_ifa=<string>]
  & [ios_ifv=<string>]
  & [google_aid=<string>]
  & [windows_aid=<string>]
  & [os_name=<string>]
  & [os_version=<string>]
  & [device_manufacturer=<string>]
  & [device_model=<string>]
  & [device_type=<string>]
  & [device_locale=<string>]
  & [app_version_name=<string>]
  & [app_package_name=<string>]
  & [connection_type=<string>]
  & [operator_name=<string>]
  & [mcc=<int>]
  & [mnc=<int>]
  & [device_ipv6=<string>]

post API 密钥*

用于数据上传的令牌。 您可以在应用的 设置 部分获取它。

应用ID*

应用在 Analytics module 中的唯一数字标识符。

profile_id*

用户个人资料 ID。 Post API 仅允许您上传先前通过 SDK 发送的标识符的数据。

注意

不要传递 appmetrica_device_id 参数的值。 服务器只接受这些参数中的一个。

appmetrica_设备_ID*

Analytics module 设置的设备唯一标识符的哈希。 Post API 仅允许您上传先前通过 SDK 发送的标识符的数据。

注意

不要传递 profile_id 参数的值。 服务器只接受这些参数中的一个。

事件名称*

事件名称(按传递给 SDK 的方式)。

event_timestamp*

事件的时间,格式为 Unix time。

使用 Post API,您只能在事件日期(event_timestamp)与上传日期之间的差异不超过 14 天时上传事件。 API 期望以秒为单位的值。

event_json

序列化为 JSON 的事件属性。事件参数可以嵌套,例如:{"param1":"param2","param1":{"param2":"param3"}}.

session_type

会话类型。 可能的值:

  • 前景 — 在 事件 报告中 Analytics module 增加了 用户 指标。
  • 背景 — 在 事件 报告中 Analytics module 增加了 设备 指标。 这样的事件不会被包含在按用户分组的报告中,也不会出现在用户档案卡中。

Default value is 背景.

ios_ifa

设备的 IFA,格式为从设备接收的格式。

ios_ifv

应用的 IFV,格式为从设备接收的格式。

google_aid

设备的 Google AID,格式为从设备接收的格式。

windows_aid

设备的 Windows AID,格式为从设备接收的格式。

os_name

用户设备上的操作系统:ios | android | windows。

os_version

用户设备上的操作系统版本。

设备制造商

Analytics 服务检测到的设备制造商(例如,Apple 或 Samsung)。

设备型号

Analytics 服务检测到的设备型号(例如,Galaxy S6)。

device_type

Analytics 服务检测到的设备类型。 可能的值:phone | tablet | unknown。

设备地区

设备上的语言。

app_version_name

开发者指定的应用版本格式。

应用包名

Android 的包名,或 iOS 的 Bundle ID(例如,ru.yandex.metro)。

连接类型

连接类型。 可能的值:wifi | cell | unknown。

operator_name

移动运营商名称。

mcc

移动国家代码。

mnc

移动网络代码。

device_ipv6

事件时的 IP 地址,格式为 IPv6。 例如,2a02:6b8::40c:6676:baff:fea6:53d8, ::ffff:5.255.232.147。

Response codes

Code 描述
200 数据已成功上传。
403 请求缺少授权头,或指定了无效的令牌。
400 请求中缺少一个或多个必需参数。

示例请求

POST /logs/v1/import/events.csv?post_api_key=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012 HTTP/1.1
Host: api.boost.yandex.com
Content-Length: 540i
Connection: close

device_model,device_ipv6,device_type,google_aid,app_package_name,operator_name,mnc,application_id,event_json,profile_id,event_name,event_timestamp
iPhone X,2a02:6b8::40c:6676:baff:fea6:53d8,phone,01234567-890a-bcde-f012-3456789abcde,com.yandex.sample.metrica,MegaFon,2,1111,"{""key"":""value_1""}",1234567890123456789,event_name_1,1234567890
iPhone X,2a02:6b8::40c:6676:baff:fea6:53d9,phone,fedcba98-7654-3210-fedc-ba9876543210,com.yandex.sample.metrica,MegaFon,2,1111,"{""key"":""value_2""}",9876543210987654321,event_name_2,1234567891
POST /logs/v1/import/events?post_api_key=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012&device_model=iPhone%20X&device_ipv6=2a02%3A6b8%3A%3A40c%3A6676%3Abaff%3Afea6%3A53d8&device_type=phone&google_aid=01234567-890a-bcde-f012-3456789abcde&app_package_name=com.yandex.sample.metrica&operator_name=MegaFon&mnc=2&application_id=1111&event_json=%7B%22key%22%3A%22value%22%7D&profile_id=1234567890123456789&event_name=event_name&event_timestamp=1234567890 HTTP/1.1
Host: api.boost.yandex.com
Content-Length: 0
Connection: close

其他 Post API 方法

如果您没有找到所需答案,可以通过反馈表单提交您的问题。 请尽可能详细地描述问题。 如果可能,请附上截图。

联系支持 建议改进文档