Web SDK Chrome Extension 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; // Appkey ของแอปพลิเคชันที่นักพัฒนาลงทะเบียนบนแพลตฟอร์ม EngageLab จำเป็นต้องระบุ user_str: string; // ตัวระบุผู้ใช้ที่ไม่ซ้ำกัน จำเป็นต้องระบุ }
              
              interface InitType {
  appkey: string; // Appkey ของแอปพลิเคชันที่นักพัฒนาลงทะเบียนบนแพลตฟอร์ม EngageLab จำเป็นต้องระบุ
  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
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

หากการรวมส่วนขยายล้มเหลวเนื่องจากระยะเวลาทดลองใช้หมดอายุหรือแผนการชำระเงินของแอปพลิเคชัน กระบวนการเริ่มต้นจะลองใหม่อีกครั้งเมื่อเปิดหน้าใหม่หรือรีเฟรชหน้าที่มีอยู่หลังจาก 4 ชั่วโมง

รับ RegistrationID

คำอธิบายอินเทอร์เฟซ

ไม่จำเป็นต้องเรียกใช้ API ด้วยตนเองเพื่อรับ regid หลังจากที่ SDK เริ่มต้นสำเร็จ คุณสามารถรับ regid จากข้อมูลที่ส่งกลับโดยเหตุการณ์ MTPUSH_GET_MT_INIT_INFO

ตัวอย่างการเรียกใช้

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;
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

หยุดการแจ้งเตือน Push

คำอธิบายอินเทอร์เฟซ

เรียกใช้ API นี้เพื่อตัดการเชื่อมต่อแบบถาวรกับแบ็กเอนด์และหยุดรับข้อความ Push

ตัวอย่างการเรียกใช้

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ตรวจสอบสถานะบริการ Push

คำอธิบายอินเทอร์เฟซ

ดึงข้อมูลสถานะของบริการ Push

ตัวอย่างการเรียกใช้

// เรียกใช้หลังจาก SDK เริ่มต้นสำเร็จ window.MTpushInterfaceExtension.getPushAuthority(); // รับฟังข้อความเพื่อรับสถานะบริการ Push chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_GET_PUSH_AUTHORITY': console.log('สถานะบริการ Push: ', message.data); break; } });
              
              // เรียกใช้หลังจาก SDK เริ่มต้นสำเร็จ
window.MTpushInterfaceExtension.getPushAuthority();

// รับฟังข้อความเพื่อรับสถานะบริการ Push
chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_GET_PUSH_AUTHORITY':
      console.log('สถานะบริการ Push: ', message.data);
      break;
  }
});

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ผลลัพธ์ที่ส่งกลับ

{ "mtPush": { "code": 1, // 1: สำเร็จ, -1: กำลังเริ่มต้น, 0: ล้มเหลว "msg": "การเริ่มต้นช่องทาง MTpush สำเร็จ!" }, "webPush": { "code": 1, // 0: Webpush ไม่พร้อมใช้งาน (ไม่รองรับ), 1: พร้อมใช้งาน, 2: ไม่พร้อมใช้งาน "msg": "การแจ้งเตือนพร้อมใช้งาน" } }
              
              {
  "mtPush": {
    "code": 1, // 1: สำเร็จ, -1: กำลังเริ่มต้น, 0: ล้มเหลว
    "msg": "การเริ่มต้นช่องทาง MTpush สำเร็จ!"
  },
  "webPush": {
    "code": 1, // 0: Webpush ไม่พร้อมใช้งาน (ไม่รองรับ), 1: พร้อมใช้งาน, 2: ไม่พร้อมใช้งาน
    "msg": "การแจ้งเตือนพร้อมใช้งาน"
  }
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ตั้งค่าแท็กและนามแฝง

คำอธิบายอินเทอร์เฟซ

นักพัฒนาสามารถใช้อินเทอร์เฟซนี้เพื่อตั้งค่าและลบแท็กภายใต้นามแฝงที่ระบุ อินเทอร์เฟซนี้ใช้ตรรกะการเขียนทับ การตั้งค่าสตริงว่างสำหรับแท็กจะลบแท็กที่มีอยู่

ตัวอย่างการเรียกใช้

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 คือ ID ของข้อความที่กำหนดเอง
              
              window.MTpushInterfaceExtension.customClickReport('msg_id'); // msg_id คือ ID ของข้อความที่กำหนดเอง

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

การเรียกกลับการแสดงข้อความพุช

คำอธิบายอินเทอร์เฟซ

หลังจากการเริ่มต้น SDK เสร็จสมบูรณ์ ให้ฟังเหตุการณ์ MTPUSH_MSG_CALLBACK_DISPLAY เพื่อรับข้อมูลการเรียกกลับการแสดงข้อความพุช

ตัวอย่างการใช้งาน

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

คำอธิบายพารามิเตอร์

คำอธิบายของพารามิเตอร์การเรียกกลับ message.data:

{ title: string; content: string; msg_id: string; ntf_or_msg: number; engagelab_appkey: string; engagelab_passwd: string; engagelab_uid: string; engagelab_url: string; type: string; // 0: ข้อความช่องทาง Engagelab 1: ข้อความช่องทางระบบ }
              
              {
  title: string;
  content: string;
  msg_id: string;
  ntf_or_msg: number;
  engagelab_appkey: string;
  engagelab_passwd: string;
  engagelab_uid: string;
  engagelab_url: string;
  type: string; // 0: ข้อความช่องทาง Engagelab   1: ข้อความช่องทางระบบ
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

การเรียกกลับการคลิกข้อความพุช

คำอธิบายอินเทอร์เฟซ

หลังจากการเริ่มต้น SDK เสร็จสมบูรณ์ ให้ฟังเหตุการณ์ MTPUSH_MSG_CALLBACK_CLICK เพื่อรับข้อมูลการเรียกกลับการคลิกข้อความพุช

ตัวอย่างการใช้งาน

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

คำอธิบายพารามิเตอร์

{ title: string; content: string; msg_id: string; ntf_or_msg: number; engagelab_appkey: string; engagelab_passwd: string; engagelab_uid: string; engagelab_url: string; position: string; // ตำแหน่งการคลิก, 'msgBody' | Button ID type: string; // 0: ข้อความช่องทาง Engagelab 1: ข้อความช่องทางระบบ }
              
              {
  title: string;
  content: string;
  msg_id: string;
  ntf_or_msg: number;
  engagelab_appkey: string;
  engagelab_passwd: string;
  engagelab_uid: string;
  engagelab_url: string;
  position: string; // ตำแหน่งการคลิก, 'msgBody' | Button ID
  type: string; // 0: ข้อความช่องทาง Engagelab   1: ข้อความช่องทางระบบ
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

หมายเหตุ: ภายใต้ช่องทาง EngageLab พารามิเตอร์ title และ content ในการเรียกกลับการคลิกจะส่งคืนได้สูงสุด 30 ตัวอักษร

รหัสข้อผิดพลาด

รหัส ข้อความ หมายเหตุ
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 Solid Transparent White Qiyu
ติดต่อฝ่ายขาย