Web SDK 集成指南
本文是 MA Web SDK 标准的集成指南文档。
产品说明
MA Web SDK 提供数据采集上报功能,用于 EUID 生成、用户属性设置、事件上报等场景
集成选择
MA Web SDK 支持 2 种接入方式,同时使用 WebPush 或者仅单独使用 MA Web SDK
- 同时使用 WebPush:集成 EngageLab WebPush 模块时设置开启 MA 功能,将自动加载 MA SDK
- 仅单独使用 MA Web SDK:单独将 MA SDK 地址集成到网站中使用,无 WebPush 功能
同时使用 WebPush
集成前准备
- 需要同时集成 WebPush 模块
- 准备一个能访问的 https web 服务域名,集成后的页面需在该域名下进行测试与调试。web 离线推送不支持本地调试、不支持 http。
- 访问 Engagelab WebPush,在【集成设定】-【 网站域名】页面,填写 https web 服务域名。

获取应用信息
需要在 WebPush 控制台上创建应用,创建成功后自动生成 AppKey 用以标识该应用,详情参考 应用设置文档。
MA 数据源配置
在 MA 项目-数据来源-添加数据来源-Web,选择「同时使用 WebPush」,下拉选择在 WebPush 创建好的应用,并保存

SDK 接入
进入 控制台,下载 SDK,在每个页面接入 js:
<script type="text/javascript" src="./WebSDK.3.3.4.js"></script>
<script type="text/javascript" src="./WebSDK.3.3.4.js"></script>
此代码块在浮窗中显示
tips
引入该 js 后,传入 maOpen 为 true 属性开启 MA 配置,就可以使用 MA 的相关 API 和功能
SDK 初始化
// 初始化(开启MA)
MTpushInterface.init({
appkey: "", // 必填,详见上文获取应用信息
user_str: "adminDemo", // 必填,用户识别符,用来标识用户
swUrl: "url", //默认 "/sw.min." + sdkEnv.version + ".js"。该配置项为server worker文件地址,域名必须为当前域名,且路径决定server worker作用域。
debugMode: true,// 设置是否开启 debug 模式。true 则会打印更多的日志信息。设置 false 则只会输出 w、e 级别的日志。
channel: "default-channel",// 渠道名称,默认值为:default-channel
appName: "string",// 用于设置网站名称,用于上报
maOpen: true, //打开开关,开启使用 MA 功能
userIdentity: { user_id: "1234567890", anonymous_id: "anonymous123" },//在初始化MA的同时设置用户标识,从 3.3.4 版本开始支持,适用于仅面向登录会员提供MA服务的企业
maCompletion: (code, msg) => {//MA初始化回调
if (code === 0) {
console.log("✅MA SDK 初始化成功!");
} else {
console.error("❌MA SDK 初始化失败:", msg);
}
}
});
// 初始化(开启MA)
MTpushInterface.init({
appkey: "", // 必填,详见上文获取应用信息
user_str: "adminDemo", // 必填,用户识别符,用来标识用户
swUrl: "url", //默认 "/sw.min." + sdkEnv.version + ".js"。该配置项为server worker文件地址,域名必须为当前域名,且路径决定server worker作用域。
debugMode: true,// 设置是否开启 debug 模式。true 则会打印更多的日志信息。设置 false 则只会输出 w、e 级别的日志。
channel: "default-channel",// 渠道名称,默认值为:default-channel
appName: "string",// 用于设置网站名称,用于上报
maOpen: true, //打开开关,开启使用 MA 功能
userIdentity: { user_id: "1234567890", anonymous_id: "anonymous123" },//在初始化MA的同时设置用户标识,从 3.3.4 版本开始支持,适用于仅面向登录会员提供MA服务的企业
maCompletion: (code, msg) => {//MA初始化回调
if (code === 0) {
console.log("✅MA SDK 初始化成功!");
} else {
console.error("❌MA SDK 初始化失败:", msg);
}
}
});
此代码块在浮窗中显示
单独使用 MA Web SDK
MA 数据源配置
在 MA 项目-数据来源-添加数据来源-Web,在「是否同时使用 WebPush」中选择「不使用」,输入数据源的名称和网站域名,保存后即可得到 Web 数据源的 Appkey 信息
- 请准备一个能访问的 https web 服务域名,集成后的页面需在该域名下进行测试与调试。

SDK 接入
每个页面接入下面 js:
<script type="text/javascript" src="https://websdk-res.engagelab.com/lib/ma-web.min.js"></script>
<script type="text/javascript" src="https://websdk-res.engagelab.com/lib/ma-web.min.js"></script>
此代码块在浮窗中显示
引入该 JS 后,就可以使用 Window 上的全局对象 MAInterface。
特别提示:请直接使用此链接,不要将此文件下载到您项目中,否则,在我们更新数据结构或 API 接口后有可能会导致统计失效。
SDK 初始化
- 调用初始化时会在页面接入极光 iframe,所以需要在每个页面 DOM 加载完毕后,或者在收到页面事件 onload 后调用初始化:
window.MAInterface.init({
appKey: "7ccf93e0950b5e22f4ca2124", // 必填,详见上文获取应用信息
debugMode: true,
channel: "default-channel22",// 渠道名称,默认值为:default-channel
appName: "EngageLab-MA test-appName", //网址名称,用于设置设备属性和事件上报中的app_name
userIdentity: { user_id: "1234567890", anonymous_id: "anonymous123" }, //在初始化MA的同时设置用户标识
completion: (code, msg) => {
if (code === 0) {
console.log("✅ SDK 初始化成功!");
} else {
console.error("❌ SDK 初始化失败:", msg);
}
}
})
window.MAInterface.init({
appKey: "7ccf93e0950b5e22f4ca2124", // 必填,详见上文获取应用信息
debugMode: true,
channel: "default-channel22",// 渠道名称,默认值为:default-channel
appName: "EngageLab-MA test-appName", //网址名称,用于设置设备属性和事件上报中的app_name
userIdentity: { user_id: "1234567890", anonymous_id: "anonymous123" }, //在初始化MA的同时设置用户标识
completion: (code, msg) => {
if (code === 0) {
console.log("✅ SDK 初始化成功!");
} else {
console.error("❌ SDK 初始化失败:", msg);
}
}
})
此代码块在浮窗中显示
更多 API 接口
其他 API 的使用方法请参考接口文档:Web SDK API。










