# 小程序集成指南

## 小程序集成指南

### 一、获取SDK

欢迎使用腾讯灯塔！您只需要简单的3步，即可获取AppKey，并实现SDK的下载：

1.登陆灯塔首页[http://beacon.tencent.com/](http://data.wsd.com/) （非腾讯公司用户请登录[http://beacon.qq.com），注册小程序应用。](https://beacon.qq.com/)

![](https://3919132045-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWtmeKPvAmMS7eQ00-R%2F-LWtttuJzpVpGP5N9sr-%2F-LWttxBVXHqhPJlTKQA2%2Fsagjhjkagimport.png?generation=1548233469319191\&alt=media)

2.点击创建应用，即可获取分配的AppKey，并完成SDK的下载。

![](https://3919132045-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWtmeKPvAmMS7eQ00-R%2F-LWtttuJzpVpGP5N9sr-%2F-LWttxBXmFTEgpXFy7pn%2Fsakjgsdhgimport.png?generation=1548233469402985\&alt=media)

## 二、使用基本统计上报功能

1. 添加信任域名

在小程序后台配置添加信任域名：

路径：设置——>开发设置——>服务器域名

信任域名：otheve.beacon.qq.com

![](https://3919132045-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWtmeKPvAmMS7eQ00-R%2F-LWtttuJzpVpGP5N9sr-%2F-LWttxBZDbtozngI65wf%2Fkahgskdimport.png?generation=1548233469398695\&alt=media)2. 导入SDK

```
将解压的beacon文件夹拷贝到utils文件夹下。
```

3.基础统计功能初始化

* 在应用的入口app.js引入SDK，添加代码：

```
var beacon = require\('./utils/beacon\_weapp_conf.js'\);
```

* 使用开发工具打开beacon文件夹下的beacon\_weapp\_conf.js文件，填入appKey、version等信息，beacon\_weapp\_conf.js文件配置如下：

```
{
    appKey: "",//小程序appKey，从灯塔官网获取

    version: "1.0.0",//小程序版本号

    channelId: "",//小程序渠道号，可不填

    getLocation: true,//获取当前的地理位置、速度，默认开启

    getUserInfo: true,//获取用户信息，默认开启

    onPullDownRefresh: true,//下拉刷新事件统计，默认开启

    onReachBottom: true,//页面下拉触底统计，默认开启

    isDebug: false//SDK实时联调，默认关闭，发布正式环境时务必关闭
}
```

* 使用实时联调功能：

修改beacon\_weapp\_conf.js文件的isDebug值为true

## 三、使用自定义事件上报功能

可以通过该事件接口，来记录和上报用户关键事件，从而对事件发生次数，耗时，流量消耗等进行统计分析。

自定义事件接口：

/\*\*

\* 上报自定义事件

\* @param eventName事件名

\* @param params 扩展字段参数，格式如下{'k1':'v1', 'k2':'v2'}

\*/

beacon.onEvent(eventName, params);

使用说明：在需要进行用户操作事件记录的地方调用kerrydong

| 参数        | 含义                                       |
| --------- | ---------------------------------------- |
| eventName | 表示本次事件的名称，用来区分不同的事件，例如:                  |
| params    | 需要额外引入的扩展字段，数组格式如下{'k1':'v1', 'k2':'v2'} |

调用示例：

```
var params = {'k1':'v1', 'k2':'v2'};

beacon.onEvent("weapp_event_test", params);
```

## 四、其他接口说明

* 设置openid接口：

```
beacon.setOpenid('openid')
```

openid上报到灯塔后可以提高应用统计准确度

* 设置unionid接口：

```
beacon.setUnionid('unionid')
```

unionid上报到灯塔后可以提高应用统计准确度

* 设置渠道号接口：

```
beacon.setChannelId('业务自定义渠道号')
```

如果调用此接口，会覆盖初始化的设置的渠道号，优先级为：渠道号接口—>初始化渠道号—>二维码渠道号

* 设置获取地理位置、速度接口：

```
beacon.setGetLocation(true)
```

可在初始化的时候设置关闭获取地理位置、速度，在业务中按需求打开

* 设置获取用户信息接口：

```
beacon.setGetUserInfo(true)
```

可在初始化的时候设置关闭获取用户信息，在业务中按需求打开


---

# 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://beacon-help.gitbook.io/beacon-help/sdk-wen-dang/sdkji-cheng-zhi-nan/xiao-cheng-xu-ji-cheng-zhi-nan.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.
