logo产品文档
搜索
登录

Web SDK Chrome插件 API

初始化SDK

接口说明

为了防止出现大量的无效用户,建议在初始化时使用的 user_str 唯一且保持不变,可根据浏览器指纹生成 user_str。

调用示例

if (window.MTpushInterfaceExtension) { window.MTpushInterfaceExtension.initSdk({ appkey: '', user_str: '', }); }
              
              if (window.MTpushInterfaceExtension) {
  window.MTpushInterfaceExtension.initSdk({
    appkey: '',
    user_str: '',
  });
}

            
此代码块在浮窗中显示

参数说明

interface InitType { appkey: string; // 开发者在EngageLab平台注册的应用appkey,必填项 user_str: string; // 用户唯一标识,必填项 }
              
              interface InitType {
  appkey: string; // 开发者在EngageLab平台注册的应用appkey,必填项
  user_str: string; // 用户唯一标识,必填项
}

            
此代码块在浮窗中显示

获取结果

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { // 初始化SDK成功 case 'MTPUSH_INIT_SDK_SUCCESS': console.log(message.data); break; // 初始化SDK失败 case 'MTPUSH_INIT_SDK_FAIL': console.log(message.data); break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    // 初始化SDK成功
    case 'MTPUSH_INIT_SDK_SUCCESS':
      console.log(message.data);
      break;

    // 初始化SDK失败
    case 'MTPUSH_INIT_SDK_FAIL':
      console.log(message.data);
      break;
  }
});

            
此代码块在浮窗中显示

message.data的结构如下:

interface MessageData { code: number; // 状态码,0 代表成功,其他失败,参考错误码 message: string; // 结果描述 content: string; // 注册失败 1003 时返回失败信息 }
              
              interface MessageData {
  code: number; // 状态码,0 代表成功,其他失败,参考错误码
  message: string; // 结果描述
  content: string; // 注册失败 1003 时返回失败信息
}

            
此代码块在浮窗中显示

如果是用免费体验到期或付费计划到期的应用集成插件,导致的初始化SDK失败,那么会在4个小时后新开页面、刷新页面时再次执行初始化的流程。

获取 RegistrationID

接口说明

不需要手动调用 API 获取,在SDK初始化完成后,可以在事件 MTPUSH_GET_MT_INIT_INFO 返回的信息中获取 regid。

调用示例

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_GET_MT_INIT_INFO': console.log(message.data.regid); break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_GET_MT_INIT_INFO':
      console.log(message.data.regid);
      break;
  }
});

            
此代码块在浮窗中显示

返回结果

interface MTInitInfo { website_push_id: string; code: number; master_secret: string; passwd: string; pull: number; regid: string; sess: string; tagalias: number; uid: number; vapid_pubkey: string; }
              
              interface MTInitInfo {
  website_push_id: string;
  code: number;
  master_secret: string;
  passwd: string;
  pull: number;
  regid: string;
  sess: string;
  tagalias: number;
  uid: number;
  vapid_pubkey: string;
}

            
此代码块在浮窗中显示

停止推送

接口说明

调用此 API 来断开与后台建立的推送长连接,停止接收推送消息。

调用示例

window.MTpushInterfaceExtension.stopPush();
              
              window.MTpushInterfaceExtension.stopPush();

            
此代码块在浮窗中显示

检查推送服务状态

接口说明

获取推送服务状态信息。

调用示例

// 在SDK初始化成功后调用 window.MTpushInterfaceExtension.getPushAuthority(); // 监听消息获取推送服务状态 chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_GET_PUSH_AUTHORITY': console.log('推送服务状态: ', message.data); break; } });
              
              // 在SDK初始化成功后调用
window.MTpushInterfaceExtension.getPushAuthority();

// 监听消息获取推送服务状态
chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_GET_PUSH_AUTHORITY':
      console.log('推送服务状态: ', message.data);
      break;
  }
});

            
此代码块在浮窗中显示

返回结果

{ mtPush:{ code: 1, // 1: 成功,-1: 初始化中,0: 失败 msg: 'MTpush channel initialization successful!' }, webPush:{ code: 1, // 0: webpush不可用(不支持),1: 可用,2: 不可用 msg: 'Notification available' } }
              
              {
  mtPush:{
    code: 1, // 1: 成功,-1: 初始化中,0: 失败
    msg: 'MTpush channel initialization successful!'
  },
  webPush:{
    code: 1, // 0: webpush不可用(不支持),1: 可用,2: 不可用
    msg: 'Notification available'
  }
}

            
此代码块在浮窗中显示

设置 TagsAlias

接口说明

开发者通过该接口可以设置及删除特定 alias 下的 tags,该接口是覆盖逻辑,通知设置为空串可以删除已有 tags。

调用示例

window.MTpushInterfaceExtension.setTagsAlias({ tags: ["test1", "test2"], alias: "aliass" });
              
              window.MTpushInterfaceExtension.setTagsAlias({ tags: ["test1", "test2"], alias: "aliass" });

            
此代码块在浮窗中显示

参数说明

参数名称 参数类型 参数说明
tags string[] 必填,数组最大长度为 1000,每个元素最多 40 个字符
alias string 必填,最多 40 个字符

返回结果

监听消息获取接口设置的结果:

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_SET_TAGS_ALIAS_SUCCESS': console.log('设置成功') break; case 'MTPUSH_SET_TAGS_ALIAS_FAIL': console.log('设置失败', message.data) // 失败信息:string[] break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_SET_TAGS_ALIAS_SUCCESS':
      console.log('设置成功')
      break;

    case 'MTPUSH_SET_TAGS_ALIAS_FAIL':
      console.log('设置失败', message.data) // 失败信息:string[]
      break;
  }
});

            
此代码块在浮窗中显示

自定义消息打点

接口说明

自定义消息如需上报做数据统计,请使用自定义上报接口。

调用示例

window.MTpushInterfaceExtension.customClickReport('msg_id'); // msg_id为自定义消息的 msg_id
              
              window.MTpushInterfaceExtension.customClickReport('msg_id'); // msg_id为自定义消息的 msg_id

            
此代码块在浮窗中显示

错误码

code message 备注
0 success 调用成功
1000 unknown error 未知错误
1001 initing , please try again later 正在初始化,稍后再试
1002 invalid config 初始化配置错误
1003 init failed 初始化失败,详情参考控制台打印
1004 init timeout 初始化超时
1005 network error 网络错误,无网络或者连接不上 websocket
icon
联系销售