如何集成

小程序 SDK 支持 微信小程序 平台,后续会逐步支持其他平台。具备以下功能特性:

  • 埋点 SDK 只自动采集用户访问事件和关闭事件,需要开发同学调用相应埋点 API 采集自定义事件;

  • 无埋点 SDK 具备埋点 SDK 的所有功能,同时具备自动采集基本用户行为事件,如页面访问,点击事件等。可通过开关控制

小程序SDK集成

下载SDK: https://assets.giocdn.com/sdk/cdp/3.0/gio-minp.js

放入小程序目录(例:/src/utils/目录下,下文中均以此目录为例)

对于微信小程序多样的开发方式,我们给出了主流开发方式的集成方法参考。如您使用了其他开发方式,请咨询我们。

原生开发

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

原生
原生+第三方插件
原生
var gdp = require("utils/gio-minp.js").default;
gdp('init', 'your GrowingIO projectId', 'your dataSourceID', 'your AppId', {
version: '小程序版本',
host: 'api.growingio.com',
...其他配置项
});
原生+第三方插件
var gdp = require("utils/gio-minp.js").default;
gdp('init', 'your GrowingIO projectId', 'your dataSourceID', 'your AppId', {
version: '小程序版本',
host: 'api.growingio.com',
usePlugin: true,
...其他配置项
});
const App = global.GioApp;

Taro

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

Taro 2.x
Taro 3.x
Taro 2.x
import Taro from '@tarojs/taro';
var gdp = require("utils/gio-minp/index.js").default;
gdp('init','your GrowingIO projectId', 'your dataSourceID', 'your AppId', {
version: '小程序版本',
host: 'api.growingio.com',
taro: Taro,
...其他配置项
});
Taro 3.x

1、添加npm包 babel-plugin-setname

npm install babel-plugin-setname --save-dev

2、修改babel配置,如 babel.config.js

module.exports = {
plugins: [
[
"babel-plugin-setname",
{
includes: ["src"],
callee: '__setname__',
package: '@gio/setname',
lower: false,
test: /^on[A-Z][a-zA-Z]+/
}
]
]
}

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

import Taro from '@tarojs/taro';
var gdp = require("utils/gio-minp/index.js").default;
gdp('init','your GrowingIO projectId', 'your dataSourceID', 'your AppId', {
version: '小程序版本',
host: 'api.growingio.com',
taro: Taro,
...其他配置项
});

uni-app

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

import Vue from 'vue';
import App from './App';
App.mpType = 'app';
var gdp = require("utils/gio-minp/index.js").default;
gdp('init', 'your GrowingIO projectId', 'your dataSourceID', 'your AppId', {
version: '小程序版本',
host: 'api.growingio.com',
vue: Vue,
...其他配置项
});

mpvue

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

mpvue
mpvue+第三方插件
mpvue
import Vue from 'vue';
import App from './App';
App.mpType = 'app';
var gdp = require("utils/gio-minp/index.js").default;
gdp('init', 'your GrowingIO projectId', 'your dataSourceID', 'your AppId', {
version: '小程序版本',
host: 'api.growingio.com',
vue: Vue,
...其他配置项
});
mpvue+第三方插件

1、添加npm包 imports-loader

npm install imports-loader --save-dev

2、创建一个新文件 /src/utils/vue.js 文件

import Vue from 'imports-loader?global=>undefined,Page=>GioPage,App=>GioApp,Component=>GioComponent!mpvue'
export default Vue

3、修改 /build/webpack.base.conf.js 配置,添加以下内容

module.exports = {
resolve: {
alias: {
'vue': resolve('src/utils/vue'),
},
},
plugins: [
new webpack.ProvidePlugin({
GioPage: [resolve('src/utils/gio-minp/index.js'), 'GioPage'],
GioApp: [resolve('src/utils/gio-minp/index.js'), 'GioApp'],
GioComponent: [resolve('src/utils/gio-minp/index.js'), 'GioComponent']
}),
]
};

4、添加初始化代码

import Vue from 'vue'; // 这里vue应该指向的是 /src/utils/vue.js
import App from './App';
App.mpType = 'app';
var gdp = require("utils/gio-minp/index.js").default;
gdp('init', 'your GrowingIO projectId', 'your dataSourceID', 'your AppId', {
version: '小程序版本',
host: 'api.growingio.com',
usePlugin: true,
vue: Vue,
...其他配置项
});

WePY

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

WePY 1.x
WePY 1.x+第三方插件
WePY 2.x
WePY 2.x+第三方插件
WePY 1.x
import Vue from 'vue';
var gdp = require("utils/gio-minp/index.js").default;
gdp('init','your GrowingIO projectId', 'your dataSourceID', 'your AppId', {
version: '小程序版本',
host: 'api.growingio.com',
vue: Vue,
...其他配置项
});
WePY 1.x+第三方插件
import Vue from 'vue';
var gdp = require("utils/gio-minp/index.js").default;
gdp('init','your GrowingIO projectId', 'your dataSourceID', 'your AppId', {
version: '小程序版本',
host: 'api.growingio.com',
usePlugin: true,
vue: Vue,
...其他配置项
});
WePY 2.x
import Wepy from '@wepy/core';
var gdp = require("utils/gio-minp/index.js").default;
gdp('init','your GrowingIO projectId', 'your dataSourceID', 'your AppId', {
version: '小程序版本',
host: 'api.growingio.com',
wepy: Wepy,
...其他配置项
});
WePY 2.x+第三方插件
import Wepy from '@wepy/core';
var gdp = require("utils/gio-minp/index.js").default;
gdp('init','your GrowingIO projectId', 'your dataSourceID', 'your AppId', {
version: '小程序版本',
host: 'api.growingio.com',
usePlugin: true,
wepy: Wepy,
...其他配置项
});