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
ติดต่อฝ่ายขาย