帮助文档
  • What's new
  • 增长平台全景图
  • 文档使用指南
  • 产品简介
    • 产品概述
    • 数据模型
      • 用户模型
        • 访问用户
        • 登录用户
        • 用户属性
      • 事件模型
        • 什么是事件
        • 无埋点事件
          • 概述
          • 访问事件及变量
          • 页面事件及变量
          • 元素事件及变量
        • 埋点事件
      • 统计模型
        • 指标-事件的度量
        • 维度-事件的属性
        • 预定义指标
        • 预定义维度
    • 数据定义
      • 用户变量
        • 登录用户变量
        • 访问用户变量
      • 页面级变量
      • 埋点事件及变量
        • 埋点事件和事件级变量
        • 转化变量
    • 数据安全
  • 开发者文档
    • SDK 集成
      • SDK 简介
      • 合规指南
        • Android SDK合规说明
        • iOS SDK合规说明
        • HarmonyOS SDK合规说明
        • Web JS SDK 合规说明
        • 小程序 SDK 合规说明
      • SDK 使用流程
      • Web JS SDK
        • Web JS SDK 更新日志
        • 概述
        • 集成最新SDK
        • SDK 版本1.x升级2.x指导
        • Web JS SDK API
          • API 2.x
        • Web半自动采集浏览事件
        • 常见问题
          • 为什么网站要允许iframe加载?
          • 为什么网站不能复写 window 对象?
          • 页面内部嵌入的 iframe 元素如何加载 SDK?
          • 同时集成了web sdk 和 hybrid sdk 会怎么处理?
          • 同时集成了web sdk 1.x 和web sdk 2.x会怎么处理?
          • 元素没有元素浏览量怎么处理?
          • display:none 的元素,其子元素中的a/button只采集一次浏览量,想每次曝光都采集怎么处理?
          • 设置了 growing-ignore 之后,其子元素也不采集怎么处理?
      • 原生 Android SDK
        • Android SDK更新日志
        • 无埋点 SDK 集成
        • 埋点 SDK 集成
        • Android SDK API
          • Gradle配置API
          • 初始化配置项API
          • 运行时API
          • 自定义数据上传API
        • Android半自动采集浏览事件
        • 1.x Android SDK 升级指导
        • 常见问题
          • 无埋点数据采集问题
          • 无埋点SDK中埋点API使用问题
          • SDK性能问题
          • 圈选问题
          • Gradle 常见问题
          • App内嵌H5页面常见问题
      • 原生 iOS SDK
        • iOS SDK 更新日志
        • 无埋点 SDK集成
        • 埋点 SDK集成
        • iOS SDK API
          • 初始化配置项API
          • 埋点SDK支持的其他接口
          • 动态添加属性说明
          • 自定义数据上传API
        • iOS半自动采集浏览事件
        • iOS SDK升级指导
        • 常见问题
        • 用户运营iOS SDK地址
      • 移动端第三方框架 SDK
        • React Native无埋点SDK
        • React Native埋点SDK
        • Flutter埋点SDK
        • Cordova埋点SDK
        • Weex埋点SDK
        • API Cloud埋点SDK
        • AppCan埋点SDK
        • uniapp 埋点SDK
        • Unity 埋点 SDK
        • 鸿蒙原生埋点 SDK
      • 小程序 SDK
        • 3.7及以下
          • 更新日志
          • 集成
            • 微信小程序
            • 支付宝小程序
            • 百度小程序
            • QQ小程序
            • 字节跳动小程序
            • 快应用
          • 数据采集API
          • 无埋点采集逻辑和高级配置
        • 3.8
          • 更新日志
          • 集成
            • 微信小程序
            • 阿里(支付宝)小程序
            • 百度小程序
            • 字节(抖音头条)小程序
            • QQ小程序
            • 快应用
          • 初始化配置
          • 数据采集API
          • 无埋点采集逻辑和高级配置
          • 旧版本与3.8对比
          • 旧版本升级到3.8
      • Hybrid JS SDK
      • 小程序和微信公众号H5 内嵌页 SDK
        • 更新日志
      • 微信小游戏 SDK
        • 更新日志
      • 服务端埋点SDK
        • Java埋点SDK
        • PHP埋点SDK
        • 常见问题
      • 仅集成埋点SDK的Hybrid JS SDK
    • SDK调试
      • 概述
      • Web Debugger
      • Mobile Debugger
      • 小程序&内嵌页Debugger
      • 验证埋点事件
        • 概述
        • 对 cstm(事件以及关联的事件级变量)上报进行验证
        • 对 pvar(页面级变量)进行验证
        • 对 evar(转化变量)进行验证
        • 对 ppl(用户变量)上报验证
    • API参考
      • 公共请求参数
      • 原始数据导出API V2
        • 概述
        • 事件表字段说明
          • 事件表关联
          • 无埋点事件字段
          • 埋点事件与变量字段
          • 广告相关字段
        • 接口定义
          • 获取不同类型原始数据下载链接
          • 获取全部事件类型原始数据的下载链接
        • 升级说明
        • 导出数据处理建议
      • 原始数据导出API V1
        • 概述
        • 字段说明
          • 事件类型
          • 无埋点事件字段
          • 埋点事件与变量字段
          • 广告相关字段
        • 接口定义
          • 获取原始数据下载链接
          • 来源管理数据导出 -- [接口下线 2020.11.02]
        • 导出数据处理建议
      • 统计数据导出API V3
        • V3接口概述
        • 接口定义
          • 获取事件分析数据
          • 获取漏斗分析数据
          • 获取留存分析数据
          • 获取分布分析数据
          • 获取用户分群的下载链接
          • 获取用户标签的下载链接
      • 统计数据导出API
        • 概述
        • 接口定义
          • 获取看板列表
          • 获取看板中的图表信息
          • 获取事件分析数据
          • 获取漏斗分析数据
          • 获取留存分析数据
          • 获取分群列表
          • 获取特定分群的用户列表
          • 获取圈选元素定义
      • 用户分群更新API
      • 广告监测链接创建API
        • 概述
        • 接口定义
          • 查询应用ID
          • 新建推广活动
          • 查询推广活动ID
          • 新建推广渠道
          • 查询推广渠道ID
          • 新建监测链接(吸引用户直接打开App)
          • 查询监测链接(吸引用户直接打开App)
          • 新建监测链接(增加APP下载量-同时推广iOS和Android)
          • 查询监测链接(增加APP下载量-同时推广iOS和Android)
          • 新建监测链接(增加App下载量-推广iOS或Android单个平台)
          • 查询监测链接(增加App下载量-推广iOS或Android单个平台)
          • 新建监测链接(推广网页)
          • 查询监测链接(推广网页)
          • 新建监测链接(微信小程序)
          • 查询监测链接(微信小程序)
      • 埋点数据上传API
      • 登录用户变量上传API
        • 登录用户变量上传
        • 维度分类上传
        • 既有登录用户ID上传
        • (旧)接口定义
          • 用户变量上传
          • 维度分类上传
      • 项目管理API
        • 概述
        • 从项目内移除成员
        • 获取埋点事件列表
        • 创建埋点事件
        • 更新埋点事件
        • 删除埋点事件
        • 获取事件级变量
        • 创建事件级变量
        • 获取页面级变量
        • 创建页面级变量
        • 获取登录用户变量
        • 创建登录用户变量
        • 获取访问用户变量
        • 获取埋点数量限额
      • 数据管理API(GDPR)
        • 数据保护
        • 删除原始数据
  • 产品使用文档
    • 产品分析
      • 数据监测
        • 概览
        • 实时
        • 分析看板
        • KPI看板
        • 小程序看数助手
      • 分析工具
        • 事件分析
          • 什么是事件分析
          • 创建事件分析
          • 视图介绍
        • 漏斗分析
          • 什么是漏斗分析
          • 创建漏斗分析
          • 漏斗分析结果解读
          • 案例解读
        • 留存分析
          • 什么是留存分析
          • 创建留存分析
          • 留存分析结果解读
          • 视图介绍
          • 应用场景
          • 常见问题
        • 分布分析
          • 什么是分布分析
          • 使用场景
          • 创建分布分析
        • 热图分析
          • 什么是热图分析
          • Web端热图
          • App热图
        • 事件流分析
      • 业务场景
        • 分享分析
        • 留存魔法师
    • 智能运营
    • 获客分析
      • 首页
        • 应用级数据
        • 数据指标说明
      • 分析
        • 渠道价值分析
        • 渠道归因分析
        • 落地页分析
        • 活动页分析
      • 获客追踪
        • 监测链接
          • 推广App
          • 推广网页
          • 推广小程序(微信)
            • 推广链接的投放和设置指南
            • 小程序码管理
        • 深度链接
        • 结合产品数据深度分析
      • 产品配置
        • 广告活动管理
        • 推广渠道管理
        • 深度链接配置
        • 广告数据权限控制
        • 日志数据导出
        • 维度配置(链接扩展维度)
        • 归因配置
      • 渠道配置指南
        • 苹果广告投放
        • 华为应用商oCPD
        • HUAWEI Ads
        • 腾讯社交广告(Marking API)
        • 今日头条(巨量纵横)
        • 百度原生信息流
        • 百度搜索_ocpc
        • 微信广告平台
        • 微博超级粉丝通
        • 爱奇艺
        • InMobi
        • 快手平台
        • 凤羽广告平台
        • bilibili(B站)
        • VIVO营销平台
      • 相关知识
        • UTM参数使用指南
        • 移动端转化归因
        • 默认的渠道来源跟踪
        • DeepLink启用新域名
      • 常见问题
    • 用户库
      • 用户分群
        • 用户分群
          • 什么是用户分群
          • 创建用户分群
            • 规则分群
          • 更新用户分群
          • 查看分群详情页
          • 常见问题
        • 用户细查
          • 什么是用户细查
          • 细查用户
          • 应用场景
          • 常见问题
      • 用户标签 - Beta
        • 创建标签
        • 标签模型使用
          • 基础指标值
          • 最大值 / 最小值
          • 最初 / 最终
          • 分层标签
      • 用戶分析
        • 活跃用户分析
          • 什么是活跃用户分析
          • 分析活跃用户
      • 业务场景
        • 微信应用用户分析
    • 数据中心
      • 数据管理
        • 无埋点事件
          • 概述
          • Web端数据定义
            • Web圈选
            • Chrome插件圈选
            • Chrome插件安装步骤
          • App端数据定义
          • App端数据定义(App圈选)
          • 小程序数据定义
          • 微信内嵌页数据定义
        • 埋点事件
        • 事件级变量
        • 页面级变量
        • 用户变量
          • 登录用户变量
          • 访问用戶变量
        • 转化变量
        • 业务标签管理
        • 批量操作
        • 自定义指标管理
          • 计算指标
          • 合并事件
        • 预定义维度
        • 预定义指标
      • 数据规划
        • 电商行业数据规划
      • 数据校验
        • 移动端数据校验
        • 小程序数据校验
        • Mobile Debugger
        • Web Debugger
      • 数据集成
        • 微信公众号集成
    • 项目管理
      • 如何进入项目管理?
      • 项目概览
      • 应用管理
      • 成员管理
      • 角色管理
        • 典型角色应用场景
        • 系统角色功能权限列表
      • 小组管理
      • 数据权限
      • 项目配置
        • IP及域名数据过滤
        • 爬虫预防
        • UTM映射管理
        • API Token管理
        • 获取项目UID
    • 组织管理
      • 组织概览
      • 组织项目
      • 组织成员
      • 费用中心(计费方案)
    • 个人中心
      • 个人信息
      • 安全设置
    • 学习平台
    • 工单管理
      • 提交工单
      • 查看进度
      • 邀请技术支持
    • 术语解释
  • 常见问题与解决
    • 基本问题
    • SDK集成
    • 圈选问题
    • 指标和维度
    • 数据安全
    • 产品使用
    • 数据统计差异
    • 如何删除不要的项目?
    • 为何收不到GIO的邮件?
    • 无效指标清理说明
    • 产品维护计划通告
由 GitBook 提供支持
在本页
  • 准备条件
  • 1. 添加跟踪代码
  • 2. SDK初始化参数配置
  • 数据采集开关
  • 事件存储开关
  • 采集GPS数据
  • 跟踪分享数据
  • 强制登录模式
  • 3. 添加请求服务器域名
  • 4. 微信用户信息配置
  • 绑定微信用户 openId 、unionId
  • 微信用户属性设置
  • 5. 无埋点采集逻辑和高级配置
  • 6. 自定义数据上传API
  • 7. 创建应用
  • 8. 验证SDK是否正常采集数据

这有帮助吗?

  1. 开发者文档
  2. SDK 集成
  3. 小程序 SDK
  4. 3.7及以下
  5. 集成

微信小程序

上一页集成下一页支付宝小程序

最后更新于2年前

这有帮助吗?

准备条件

获取项目ID,获取方法请参考"项目管理 > 项目概览 > "。

1. 添加跟踪代码

选择对应开发框架添加代码

如果您使用有GrowingIO 小程序运营SDK, 且集成本文档中的SDK版本 >=3.7.4,请在初始化SDK时,增加配置项 enableEventStore: true

  1. 下载微信小程序SDK,并解压。下载地址:

  2. 将解压后的gio-minp目录放在小程序目录下(比如:/src/utils目录)。

  3. 添加代码:

方式1:

在根目录app.js文件的顶部添加跟踪代码:

var gio = require("utils/gio-minp/index.js").default;
gio('init', '您的 GrowingIO 项目ID', '您的小程序AppID', { version: '小程序版本' });

方式2:

新建一个 gioConfig.js 文件,并且配置 gioConfig.js 文件中的必要配置参数:

export default {
    projectId: '您的 GrowingIO 项目ID',
    appId: '您的小程序AppID',
    version: '小程序版本'
    // ...
}

在根目录 app.js文件的顶部添加跟踪代码:

var gio = require("utils/gio-minp/index.js").default;
var gioConfig = require("您的 gioConfig.js 文件地址").default;
gio('setConfig', gioConfig);
  1. 将解压后的gio-minp目录放在小程序目录下(比如:/src/utils目录)。

  2. 添加代码:

一、安装 SDK

安装方式 1:

在根目录app.js文件的顶部添加跟踪代码

var gio = require("utils/gio-minp/index.js").default;
gio('init', '你的 GrowingIO 项目ID', '你的小程序AppID', { version: '小程序版本', usePlugin: true });
const App = global.GioApp;

安装方式 2:

新建一个 gioConfig.js 文件,并且配置 gioConfig.js 文件中的必要配置参数:

export default {
    projectId: '你的 GrowingIO 项目ID',
    appId: '你的小程序AppID',
    version: '小程序版本',
    usePlugin: true 
    // ...
}

在根目录 app.js 文件的顶部添加跟踪代码:

var gio = require("utils/gio-minp/index.js").default;
var gioConfig = require("你的 gioConfig.js 文件地址").default;
gio('setConfig', gioConfig);
// app.js 文件,在文件顶部 (其他代码之前)添加如下代码:
const App = global.GioApp

二、修改页面及自定义组件定义

在每个page页面(新增页面也需要添加)的 .js 文件顶部添加如下代码:

// 在每个 Page 页面的 .js 文件顶部(其他代码之前)添加如下代码。
// 请注意是每个 Page 都要引入
const Page = global.GioPage;

如果使用了自定义组件(Component )在每个 Component 的 .js 文件顶部添加如下代码:

// 在每个 Component 的 .js 文件顶部(其他代码之前)添加如下代码。
// 请注意是每个自定义 Component  都要引入
const Component = global.GioComponent;

如果使用了自定义组件(Behavior)在每个 Behavior 的 .js 文件顶部添加如下代码:

// 在每个 Behavior 的 .js 文件顶部(其他代码之前)添加如下代码。
// 请注意是每个自定义 Behavior 都要引入
const Behavior = global.GioBehavior;
  1. 将解压后的gio-minp目录放在小程序目录下(比如:/src/utils目录)。

  2. 添加代码:

方式1:在根目录app.jsx文件的顶部添加跟踪代码:

import Taro from '@tarojs/taro';
var gio = require("utils/gio-minp/index.js").default;
gio('init','你的 GrowingIO 项目ID', '你的小程序AppID', { version: '小程序版本', taro: Taro });

方式2:

新建一个 gioConfig.js 文件,并且配置 gioConfig.js 文件中的 必要 配置参数:

export default {
    projectId: '你的 GrowingIO 项目ID',
    appId: '你的小程序AppID',
    version: '小程序版本',
    taro: Taro,
    // ...
}

在根目录 app.jsx文件的顶部添加跟踪代码

var gio = require("utils/gio-minp/index.js").default;
var gioConfig = require("你的 gioConfig.js 文件地址").default;
gio('setConfig', gioConfig);
  1. 将解压后的gio-minp目录放在小程序目录下(比如:/src/utils目录)。

  2. 添加代码:

WePY 1.x

方式1:

在根目录app.wpy文件的顶部添加跟踪代码

import Vue from 'vue';
var gio = require("utils/gio-minp/index.js").default;
gio('init','你的 GrowingIO 项目ID', '你的小程序AppID', { version: '小程序版本', vue: Vue });

方式2:

新建一个 gioConfig.js 文件,并且配置 gioConfig.js 文件中的 必要 配置参数

import Vue from 'vue';
export default {
    projectId: '你的 GrowingIO 项目ID',
    appId: '你的小程序AppID',
    version: '小程序版本',
    vue: Vue,
    // ...
}

在根目录 app.wpy文件的顶部添加跟踪代码

var gio = require("utils/gio-minp/index.js").default;
var gioConfig = require("你的 gioConfig.js 文件地址").default;
gio('setConfig', gioConfig);

WePY 2.x

方式1:

在根目录app.wpy文件的顶部添加跟踪代码

import Wepy from '@wepy/core';
var gio = require("utils/gio-minp/index.js").default;
gio('init','你的 GrowingIO 项目ID', '你的小程序AppID', { version: '小程序版本', wepy: Wepy });

方式2:

新建一个 gioConfig.js 文件,并且配置 gioConfig.js 文件中的 必要 配置参数

import Wepy from '@wepy/core';
export default {
    projectId: '你的 GrowingIO 项目ID',
    appId: '你的小程序AppID',
    version: '小程序版本',
    wepy: Wepy,
    // ...
}

在根目录 app.wpy文件的顶部添加跟踪代码

var gio = require("utils/gio-minp/index.js").default;
var gioConfig = require("你的 gioConfig.js 文件地址").default;
gio('setConfig', gioConfig);
  1. 将解压后的gio-minp目录放在小程序目录下(比如:/src/utils目录)。

  2. 添加代码:

WePY 1.x

方式1:

在根目录app.wpy文件的顶部添加跟踪代码

import Vue from 'vue';
var gio = require("utils/gio-minp/index.js").default;
gio('init','你的 GrowingIO 项目ID', '你的小程序AppID', { version: '小程序版本', vue: Vue });

方式2:

新建一个 gioConfig.js 文件,并且配置 gioConfig.js 文件中的 必要 配置参数

import Vue from 'vue';
export default {
    projectId: '你的 GrowingIO 项目ID',
    appId: '你的小程序AppID',
    version: '小程序版本',
    usePlugin: true,
    vue: Vue,
    // ...
}

在根目录 app.wpy文件的顶部添加跟踪代码

var gio = require("utils/gio-minp/index.js").default;
var gioConfig = require("你的 gioConfig.js 文件地址").default;
gio('setConfig', gioConfig);

WePY 2.x

方式1:

在根目录 app.wpy 文件的顶部添加跟踪代码

import Wepy from '@wepy/core';
var gio = require("utils/gio-minp/index.js").default;
gio('init','你的 GrowingIO 项目ID', '你的小程序AppID', { version: '小程序版本', usePlugin: true, wepy: Wepy });

方式2:

新建一个 gioConfig.js 文件,并且配置 gioConfig.js 文件中的 必要 配置参数

import Wepy from '@wepy/core';
export default {
    projectId: '你的 GrowingIO 项目ID',
    appId: '你的小程序AppID',
    version: '小程序版本',
    usePlugin: true,
    wepy: Wepy,
    // ...
}

在根目录 app.wpy文件的顶部添加跟踪代码

var gio = require("utils/gio-minp/index.js").default;
var gioConfig = require("你的 gioConfig.js 文件地址").default;
gio('setConfig', gioConfig);
  1. 将解压后的gio-minp目录放在小程序目录下(比如:/src/utils目录)。

  2. 添加代码:

方式1:在根目录main.js文件的顶部添加跟踪代码

import Vue from 'vue';
import App from './App';
App.mpType = 'app';
var gio = require("utils/gio-minp/index.js").default;
gio('init', '你的 GrowingIO 项目ID', '你的小程序AppID', { version: '小程序版本',vue: Vue });

方式2:

新建一个 gioConfig.js 文件,并且配置 gioConfig.js 文件中的 必要 配置参数

import Vue from 'vue';
export default {
    projectId: '你的 GrowingIO 项目ID',
    appId: '你的小程序AppID',
    version: '小程序版本',
    vue: Vue,
    // ...
}

在根目录main.js文件的顶部添加跟踪代码

var gio = require("utils/gio-minp/index.js").default;
var gioConfig = require("你的 gioConfig.js 文件地址").default;
gio('setConfig', gioConfig);
import App from './App';
App.mpType = 'app';
  1. 解压后的index.js和gioConfig.js目录放在小程序目录下(比如:/src/utils目录)。

  2. 添加代码:

  3. 第一步:更新index.js到最新版。

  4. 第二步:添加npm包。

npm install  imports-loader --save-dev
  • 第三步:创建一个新文件/src/utils/vue.js文件。内容如下:

import Vue from 'imports-loader?global=>undefined,Page=>GioPage,App=>GioApp,Component=>GioComponent!mpvue'
export default Vue
  • 第四步:修改/build/webpack.base.conf.js配置。

var path = require('path')
var fs = require('fs')
var utils = require('./utils')
var config = require('../config')
var vueLoaderConfig = require('./vue-loader.conf')
var webpack = require('webpack')
var MpvuePlugin = require('webpack-mpvue-asset-plugin')
var glob = require('glob')
function resolve (dir) {
  return path.join(__dirname, '..', dir)
}
function getEntry (rootSrc, pattern) {
  var files = glob.sync(path.resolve(rootSrc, pattern))
  return files.reduce((res, file) => {
    var info = path.parse(file)
    var key = info.dir.slice(rootSrc.length + 1) + '/' + info.name
    res[key] = path.resolve(file)
    return res
  }, {})
}
const appEntry = { app: resolve('./src/main.js') }
const pagesEntry = getEntry(resolve('./src'), 'pages/**/main.js')
const entry = Object.assign({}, appEntry, pagesEntry)
module.exports = {
  // 如果要自定义生成的 dist 目录里面的文件路径,
  // 可以将 entry 写成 {'toPath': 'fromPath'} 的形式,
  // toPath 为相对于 dist 的路径, 例:index/demo,则生成的文件地址为 dist/index/demo.js
  entry,
  target: require('mpvue-webpack-target'),
  output: {
    path: config.build.assetsRoot,
    filename: '[name].js',
    publicPath: process.env.NODE_ENV === 'production'
      ? config.build.assetsPublicPath
      : config.dev.assetsPublicPath
  },
  resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue': resolve('src/utils/vue'),
      '@': resolve('src'),
      'flyio': 'flyio/dist/npm/wx',
      'wx': resolve('src/utils/wx')
    },
    symlinks: false
  },
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'mpvue-loader',
        options: vueLoaderConfig
      },
      {
        test: /\.js$/,
        include: [resolve('src'), resolve('test')],
        use: [
          'babel-loader',
          {
            loader: 'mpvue-loader',
            options: {
              checkMPEntry: true
            }
          },
        ]
      },
      {
        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('img/[name].[ext]')
        }
      },
      {
        test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('media/[name]].[ext]')
        }
      },
      {
        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('fonts/[name].[ext]')
        }
      }
    ]
  },
  plugins: [
    new MpvuePlugin(),
    new webpack.ProvidePlugin({
      GioPage: [resolve('src/utils/gio-minp.js'), 'GioPage'],
      GioApp: [resolve('src/utils/gio-minp.js'), 'GioApp'],
      GioComponent: [resolve('src/utils/gio-minp.js'), 'GioComponent']
    }),
  ]
}
  • 第五步:修改gioConfig.js文件中的配置参数。

import Vue from 'vue';
export default {
projectId: '你的小程序项目ID',//growingio的项目ID
version: '1.0.0',//小程序版本号,每次发版前请修改
debug: true, //是否开启调试模式,可以看到采集的数据。默认 false
forceLogin: false, //是否强制要求用户登陆微信获取 openid。默认 false
followShare: false, //是否详细跟踪分享数据,开启后可使用分享分析功能。默认false
usePlugin: true, //是否使用了第三方插件。默认false
getLocation: { //是否自动获取用户的地理位置信息, 并设置获取方式 
autoGet: false, //默认不自动获取
type: 'wgs84' //支持wgs84 | gcj02, 默认wgs84
},
vue:Vue, //是否使用了mpvue/uni-app框架, 取值: false | Vue
taro: false, //是否使用了taro框架, 取值: false | Taro
cml: false //是否使用了chameleon框架, 取值: false | Cml
}
  • 第六步:在根目录main.js文件的顶部添加跟踪代码

//请将gio放在Vue之后引入
import Vue from 'vue'
import App from './App'
import gio from './utils/index'
App.mpType = 'app'
  1. 将解压后的gio-minp目录放在小程序目录下(比如:/src/utils目录)。

  2. 添加代码:

方式1:

在根目录 app.cml 文件的顶部添加跟踪代码

import Cml from 'chameleon-runtime';
var gio = require("utils/gio-minp/index.js").default;
gio('init', '你的 GrowingIO 项目ID', '你的小程序AppID', { version: '小程序版本', cml: Cml });

方式2:

新建一个 gioConfig.js 文件,并且配置 gioConfig.js 文件中的 必要 配置参数

import Cml from 'chameleon-runtime';
export default {
    projectId: '你的 GrowingIO 项目ID',
    appId: '你的小程序AppID',
    version: '小程序版本',
    cml: Cml,
    // ...
}

在根目录 app.cml文件的顶部添加跟踪代码

var gio = require("utils/gio-minp/index.js").default;
var gioConfig = require("你的 gioConfig.js 文件地址").default;
gio('setConfig', gioConfig);

2. SDK初始化参数配置

SDK中提供了以下几个参数可以用来进行配置。

参数

类型/值

说明

version

string

您的小程序的版本号

getLocation.autoGet

true | false

是否自动获取用户的地理位置信息,默认 false (3.7.5+版本不支持)

getLocation.type

wgs84 | gcj02

wgs8:标准坐标系;gcj02:火星坐标系(3.7.5+版本不支持)

followShare

true | false

详细跟踪分享数据,开启后可使用分享分析功能,默认true

forceLogin

true | false

是否开启强制登录模式,默认 false

debug

true | false

是否开启调试模式,可以在 console 打印采集的数据,默认 false。发布到生产环境时需关闭!!!

usePlugin

true | false

您的小程序中是否使用了第三方插件,默认 false

comAsPage

true | false

是否将 component 当做页面处理,默认 false。SDK 3.6.1 版本添加

autotrack

true | false

是否开启无埋点采集 包括:click, change, submit

dataCollect

true | false

是否开启数据采集,设为false不进行任何数据采集

enableEventStore

true | false

是否开启事件本地存储,默认false;设为true,则会开启本地存储,使用运营SDK需设置(SDK版本>=3.7.4)

每次发布小程序新版本的时候,需要更新一下版本号 version 配置, 与线上发布小程序保持一致; 可以在 GrowingIO 平台使用 “App 版本”维度,分析不同版本的数据。

数据采集开关

配置dataCollect

默认情况下,SDK开启数据采集。如果您需要初始化时暂时关闭数据采集,可在初始化配置中设置 dataCollect: false 关闭采集。 初始化关闭数据采集后,至您打开数据采集之前都不会采集数据和上报。

gio('init', ' GrowingIO 项目ID', '您的小程序AppID', {
  version: '1.0.0',
  dataCollect: false  
});

调用接口 setDataCollect

默认开启数据采集。当设置为 false 时,SDK将不会采集和上报事件。当设置为 true 时,SDK将开启采集和上报事件。

gio('setDataCollect', true);

事件存储开关

配置enableEventStore

默认情况下,SDK关闭事件存储功能。此功能在小程序storage中存储SDK已上报的事件数据,用于运营SDK消费,隔天清空。 如果您不使用运营SDK可忽略此配置;如果您使用运营SDK,必须开启此配置项,设置为 true。

采集GPS数据

配置 getLocation

GrowingIO SDK 默认不采集地理位置信息。

getLocation: {          //是否自动获取用户的地理位置信息, 并设置获取方式
   autoGet: true,       //默认不自动获取
   type: 'gcj02'           //支持wgs84 | gcj02为火星坐标系, 默认wgs84
},

如果您初始化配置项中没有打开此功能,当用户访问至某一功能需要位置信息时,可以手动调用获取地理位置接口,自动补发访问事件,采集位置信息,提升用户地域分布的分析准确性。

// 获取用户的地理信息
gio('getLocation')

跟踪分享数据

配置followShare

转发分享小程序是小程序获客的重要场景,默认情况下,SDK开启跟踪分享数据功能,详细的进行转发分享的统计,来帮助您更好的分析。

如您不需要此功能,可以在初始化配置中设置followShare: false 来关闭跟踪分享。

在 gioConfig.js 文件或初始化配置项中将 followShare 配置如下:

followShare: false,     //是否详细跟踪分享数据,关闭后不使用分享分析功能。默认true

在需要分析社会关系的页面内,页面的分享方法需添加contentType、contentId字段,SDK采集时会优先获取分享回调方法中的path, title, contentType, contentId,若没有配置则会获取页面信息。示例如下:

onShareAppMessage: function() {
    // ...
    return {
        title: '自定义转发标题',
        path: 'xxxxxx',
        contentType: '内容类型',
        contentId: '内容ID'
    }
}

强制登录模式

配置forceLogin

默认情况下,SDK 会自动生成访问用户ID来标识访问用户,存储在微信 Storage 里面。这个用户标识符潜在可能会被clearStorage 清除掉,所以有可能不同的自动生成访问用户ID对应同一个微信里的 OpenID。

如您需要使用 openId 或 unionId 标识访问用户,可以在初始化配置中设置 forceLogin: true 来打开强制登录模式。

设置forceLogin为true后,SDK会继续采集但暂停上报数据,待调用 wx.login后获取 openId 或 unionId,调用 identify 方法后开始数据上报。调用 identify 会替换事件数据的 u(访问用户ID) 字段的值 为设定值(一般是小程序openId 或 unionId),包括调用identify之前触发的事件

需在 gioConfig.js 文件或初始化配置项将 forceLogin 配置如下:

forceLogin: true, //是否强制要求调用 wx.login 获取 opend 或 unionId。默认 false

适用于打开小程序就调用 wx.login 获取 openId 或 unionId 的小程序。

小程序SDK初始化时配置了 forceLogin 为 true,如果打开小程序后没有调用 wx.login 获取 openId 或 unionId,没有调用 identify 方法,会导致SDK不能上报数据,访问数据将大幅减少。如果调用了,但时机不在小程序打开时,而在小程序使用中较晚的时机,在调用之前若小程序关闭则会造成此次访问过程中采集的数据丢失。 如果小程序首页中使用的是内嵌H5页面,需要使用内嵌H5用户数据打通功能。该场景下,需要在小程序冷启动时,使用开屏页(在小程序首页 page 前增加一个 page 开屏页)。

如果您不能确定是否要设置这个参数,请先咨询我们技术支持。

3. 添加请求服务器域名

要正常采集微信小程序的数据并发送给 GrowingIO,需要在微信小程序里事先设置一个通讯域名,允许跟 GrowingIO API 服务器进行网络通信。具体步骤如下:

  1. 登陆微信小程序后台,进入开发。

  2. 打开开发设置,到服务器域名配置部分。

  3. 在 request 合法域名中添加:https://wxapi.growingio.com

4. 微信用户信息配置

绑定微信用户 openId 、unionId

上报微信信息,支持按照 openId、unionId 进行用户分群,以及使用微信推送等高级功能。

当您的小程序调用 wx.login 获取到 openId、unionId 后,可以通过 identify 接口绑定微信用户 openId 、unionId,后续在 GrowingIO 平台用户分群功能使用。

接口定义

gio('identify', openId, unionId)

参数说明

参数

类型

是否必须

说明

openId

string

是

获取到的 openId

unionId

string

否

获取到的 unionId

示例代码

wx.login({
  success (res) {
    if (res.code) {
      //发起网络请求
      wx.request({
        url: 'https://example.com/onLogin',
        data: {
          code: res.code
        },
        success: res => {
          var openid = res.data.openid;
          var unionid = res.data.unionid;
          // ...
          gio('identify', res.data.openid, res.data.unionid)
        }
      })
    } else {
      console.log('登录失败!' + res.errMsg)
    }
  }
})

如果 SDK 初始化配置项中 没有配置 forceLogin 为 true,而调用了该接口, u(访问用户ID) 字段的值会是自动生成的访问用户ID。如果配置了,调用此接口后,u(访问用户ID) 字段的值会是 参数 openId 的值。

调用 identify 接口会发送 vstr(访问用户变量)事件,但是 openId,unionId 不能作为访问用户变量来使用,会在GrowingIO 平台用户分群功能使用。

微信用户属性设置

作为用户行为数据分析工具,用户信息的完善会给后续的分析带来很大的帮助。在小程序中,微信用户属性是非常重要的设置,只有完善了微信用户属性信息,系统自带的微信访问用户变量(如下表)才可以在分析工具中使用,交互数据定义、数据校验功能才会方便通过用户微信相关的信息(微信姓名和头像)定位用户。

系统自带的微信访问用户变量

微信用户所在城市

微信用户所在省

微信用户所在国家

微信用户的性别

当您的小程序上获取到微信用户信息后,可以通过 setVisitor 接口上报微信用户信息,后续在 GrowingIO 平台中使用上述变量分析微信用户属性数据。

接口定义

gio('setVisitor', userInfo)

参数说明

名称

类型

是否必须

说明

userInfo

Object

是

微信用户信息

示例代码

wx.getUserInfo({ 
  success: res => 
    // ...
    gio('setVisitor', res.userInfo);
})

微信用户信息包含微信昵称、微信头像、性别、微信所填国家、微信所填省份、微信所填城市。

性别、微信所填国家、微信所填省份、微信所填城市会作为访问用户变量,这些访问用户变量标识符平台会自动生成,无需添加配置。

用户画像中的部分数据,只有在设置微信用户信息后,才可以统计。

5. 无埋点采集逻辑和高级配置

6. 自定义数据上传API

小程序自定义数据上报的埋点代码,建议放在onShow的生命周期函数之后。

7. 创建应用

请在添加了跟踪代码的微信小程序重新启动几次,发送数据给 GrowingIO。

8. 验证SDK是否正常采集数据

GrowingIO为您提供多种验证SDK是否正常采集数据的方式:

方式二:在SDK中设置了Debug模式后,在微信开发者工具中查看数据采集日志。

下载微信小程序SDK,并解压。下载地址:

下载微信小程序SDK,并解压。下载地址:

下载微信小程序SDK,并解压。下载地址:

下载微信小程序SDK,并解压。下载地址:

下载微信小程序SDK,并解压。下载地址:

下载微信小程序SDK,并解压。下载地址:

下载微信小程序SDK,并解压。下载地址:

如果您的小程序需要进行合规检查,请参考

3.7.5+版本不支持,请使用 接口

如您需要在小程序打开时获取用户地理位置信息,需在初始化配置项中设置 autoGet: true 来打开此功能。同时您可能需要配置项目的permission字段::

如果您初始化开启getLocation配置,用户打开小程序即需要授权;手动调用getLocation方法时,需要用户授权。都需要配置项目中的permission字段:

强制登录模式适用于打开小程序就调用 wx.login () 获取 openId 或 unionId 的小程序。 开启此模式并调用 identity 上报 openid 或 unionId,会将上报的 Id 作为访问用户ID,平台统计数据中访问用户量会与微信后台的比较接近。

获取到 openId 或 unionId 后调用 接口。

在进行无埋点数据采集时,您需要了解和使用

自定义数据上传API,请参考。

在GrowingIO平台的创建微信小程序应用。创建应用请参考查看。

了解GrowingIO平台数据采集类型请参考。

方式一:

方式三:

https://assets.giocdn.com/sdk/gio-minp.zip
https://assets.giocdn.com/sdk/gio-minp.zip
https://assets.giocdn.com/sdk/gio-minp.esm.zip
https://assets.giocdn.com/sdk/gio-minp.esm.zip
https://assets.giocdn.com/sdk/gio-minp.esm.zip
https://assets.giocdn.com/sdk/gio-minp.esm.zip
https://assets.giocdn.com/sdk/gio-minp.zip
小程序合规说明
参考文档
参考文档
参考文档
无埋点采集逻辑及行为数据采集的高级配置
自定义数据上传API
数据模型
小程序&内嵌页Debugger
数据校验
identify
https://assets.giocdn.com/sdk/gio-minp.zip
创建应用
查看项目基本信息
request 合法域名
setLocation