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 服务域名。

截屏2022-11-29 11.08.16.png

获取应用信息

需要在 WebPush 控制台上创建应用,创建成功后自动生成 AppKey 用以标识该应用,详情参考 应用设置文档

MA 数据源配置

在 MA 项目-数据来源-添加数据来源-Web,选择「同时使用 WebPush」,下拉选择在 WebPush 创建好的应用,并保存 alt text

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 服务域名,集成后的页面需在该域名下进行测试与调试。

alt text

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

icon
联系销售