# 客户端埋点验证

由于易观方舟支持实时分析，我们首推在产品内通过建立专门用于测试的项目来进行验证。这样可以对数据从上报、入库到使用进行全环节验证。又不会对生产环境的上报的数据造成污染。

但很多时候负责埋点的工程师并没有方舟的使用权限，或希望借助方舟而用另一种更熟悉的方法进行埋点验证。

针对这种场景，我们也提供了相应的解决方案。

借助这种方案可以做到：

* 客户端有操作时，验证是否会正确触发上报；
* 查看上报事件的属性（名称、属性名称及类型）是否符合预期；
* 了解到客户端操作的行为序列；

## 网站埋点（JS）

### 调试模式开启时

```javascript
debugMode: 1 或 2
```

当调试模式开启时，SDK 会向浏览器的控制台中输出日志。日志中会包含一些告警、错误，也会包含上报事件的内容。

以 Chrome 为例，步骤如下：

* 启动 Chrome，并访问已经埋好点的网站
* 按 F12 或 Ctl/Cmd + Alt/Opt + I 打开 “开发者工具”
* 点击 “Console” 页签进入控制台
* 正常浏览页面，接可以看到控制台有大量的日志

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/02/201902271209482455.png)

接下来，为了方便查看事件报文的内容，我们可以在过滤器中设定关键字“analysys”筛选出报文。

```
SDK初始化相关日志
Send message to server: **实际上报地址**
上报数据相关日志
```

如日志发送成功，控制台会输出：

```
Send message success
```

### 调试模式未开启时

```javascript
debugMode: 0
```

生产环境通常会关闭调试模式，在调试模式未开启时SDK不会向浏览器的控制台发送任何日志，这对调试造成了一些不利。但通过浏览器自带的开发者工具也查看到上报的事件内容。下面以 Chrome 为例，介绍相应的测试方法。

#### Chrome

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/02/201902262137150450.png)

步骤如下：

* 启动 Chrome，并访问已经埋好点的网站
* 按 F12 或 Ctl/Cmd + Alt/Opt + I 打开 “开发者工具”
* 如上图，点击“Network”页签
* 正常浏览页面，就能在浏览器中看到上报的埋点日志

![ ](https://imguserradar.analysys.cn/fangzhou/img/2019/02/201902262143438120.png)

* 如上图，在左上方红框位置的过滤器中输入“up?”
* 然后点击每条记录，就能在右侧红框“Request Payload”中看到上报报文的内容了

## APP埋点（iOS/Android）

移动端 SDK 也会输出日志，如果你是开发者，你可以按照下面的说明开启调试模式，通过 SDK 的日志调试。同时我们也提供一种面向非开发者的，通过抓包工具来查看上报日志的方式。

### 如果你是开发者

步骤如下：

* 先在代码中设置调试状态开启

**Andorid**

```java
AnalysysAgent.setDebugMode(this, 2);
```

```
0：关闭 Debug 模式
1：打开 Debug 模式，但该模式下发送的数据仅用于调试，不计入平台数据统计
2：打开 Debug 模式，该模式下发送的数据可计入平台数据统计
```

**iOS**

```
AnalysysAgent setDebugMode:AnalysysDebugButTrack
```

```
AnalysysDebugOff：关闭 Debug 模式
AnalysysDebugOnly：打开 Debug 模式，但该模式下发送的数据仅用于调试，不计入平台数据统计
AnalysysDebugButTrack：打开 Debug 模式，该模式下发送的数据可计入平台数据统计
```

* 使用 Eclipse、AndroidStudio 或 Xcode 工具等，请在 Console 中搜索 tag 为“Analysys”

若初始化成功后，控制台会输出：

```
SDK初始化相关日志
Send message to server: **实际上报地址**
上报数据相关日志
```

如日志发送成功，控制台会输出：

```
Send message success
```

### 如果你不是开发者

非开发者往往 App 已经安装在手机上，若想调试需要将 App 的流量发送到流量分析工具中进行调试。市场上比较知名的工具如下：

```
mitmproxy
https://mitmproxy.org/#mitmweb

Charles
https://www.charlesproxy.com/download/ 

Fiddler
https://www.telerik.com/fiddler
```

步骤如下：

* 从上述流量监控工具中选择适合您的，安装并按提示将您 app 的流量转发到工具里
* 在工具中的过滤器中输入“up?”
* 正常使用 app，就能在工具中看到上报的埋点日志
* 点击每条记录，就能查看上报报文的内容了

如果上述方案仍然不能满足您的需要，可联系我们，我们非常愿意了解您的需要，并尽力提供适合您的解决方案。

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://arkdocs.analysys.cn/integration/data-verification/sdk-verification.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
