# 面向开发人员:配置发送和事件参数 文章:自定义事件 标记描述了需要记录什么操作以及在什么时刻记录。开发人员将发送添加到应用或服务器,并根据商定的规则传输参数。 ### 如何通过 SDK 发送 开发人员在所选操作发生的代码位置添加 SDK 方法调用。请使用平台说明: - [Android](https://appmetrica.yandex.ru/docs/zh/sdk/android/analytics/android-operations#report-event) - [iOS](https://appmetrica.yandex.ru/docs/zh/sdk/ios/analytics/ios-operations#report-event) - [Flutter](https://appmetrica.yandex.ru/docs/zh/sdk/flutter/analytics/flutter-operations#report-event) - [React Native](https://appmetrica.yandex.ru/docs/zh/sdk/react-native/analytics/react-native-operations#report-event) - [Unity](https://appmetrica.yandex.ru/docs/zh/sdk/unity/analytics/unity-operations#report-event) ### 如何从服务器发送 如果操作信息在服务器上可用,请使用[通过 Post API 上传事件](https://appmetrica.yandex.ru/docs/zh/mobile-api/post/post-import-events)。数据通过 HTTP 请求传输,并与之前通过 SDK 传输的配置文件或设备标识符关联。 在设置之前,请检查[上传限制](https://appmetrica.yandex.ru/docs/zh/mobile-api/post/restrictions)。Post API 数据每四小时同步一次——检查时请考虑这一点。 ### 事件嵌套级别 要发送具有嵌套参数的事件,请传递 `key:value` 对。在界面中,`key` 和 `value` 被视为嵌套级别。 ![key-value](https://yastatic.net/s3/doc-binary/src/dev/appmetrica/zh/images/common/levels.png) AppMetrica 允许您在事件中传递可以具有多个级别的嵌套参数。 以 JSON 格式传递参数时,值中的每个新对象都表示一个新的嵌套级别,例如: ```json { "param1":"1", "param2":"abc", "param3": { "paramLevel2": "2", "param2Level2": { "paramLevel3": "3", "param2Level3":{ "level": "4" } } } } ``` AppMetrica Web 界面最多显示事件的五个嵌套级别。如果事件包含六个或更多级别,报告中会显示前五个。 您可以使用[报告 API](https://appmetrica.yandex.ru/docs/zh/mobile-api/stat/intro) 获取最多十个事件嵌套级别。 ### 数值和字符串值的解释 在 AppMetrica 界面中,值 `{"count" : 3}` 和 `{"count" : "3"}` 的解释相同。但是,使用报告 API 或 [Logs API](https://appmetrica.yandex.ru/docs/zh/mobile-api/logs/about) 导出数据时,参数会以发送到服务器的形式导出。 如果同一事件多次传递且数值参数值不同,则 Web 界面中不会汇总参数值。每个值都会单独记录和计算。 您可以使用报告 API 导出其他字段:所有数值的总和和平均值。 ### 部分匹配的嵌套事件 您可以始终使用同一事件传递不同的参数值。 如果服务器收到具有重复参数的事件,其值会累积,报告中会显示每个传递变体的数量。 如果服务器收到具有重复参数但嵌套深度不同的事件,其值会根据重复参数累积。 例如,第一个事件有两个嵌套级别: ``` { "param1": "param2" } ``` 第二个有三个嵌套级别: ``` { "param1": { "param2": "value" } } ``` 在 Web 界面中,这些事件会以树状列表显示: ![树状列表](https://yastatic.net/s3/doc-binary/src/dev/appmetrica/zh/images/common/example.png) 计数按以下算法进行: 1. 记录事件及其两个子级别。每个参数加 1。 2. 事件名称及其三个子级别加 1。