ส่วนขยายแชท
ส่วนขยายแชทช่วยให้ Bot สามารถเสนอฟีเจอร์โซเชียลแบบอินเทอร์แอคทีฟที่ผู้ใช้สามารถเรียกใช้ได้โดยตรงในการสนทนา
สารบัญ
ภาพรวม
รูปแบบการโต้ตอบ
ส่วนขยายแชทจะปรากฏในลิ้นชักเครื่องมือเขียนข้อความใน Messenger เมื่อผู้ใช้โต้ตอบกับ Bot ที่เกี่ยวข้อง
เมื่อผู้ใช้แตะที่ไอคอนของส่วนขยายแชท จะเป็นการเปิด UI ในมุมมองเว็บที่ผู้พัฒนากำหนด จากนั้นผู้ใช้สามารถสร้างหรือเลือกเนื้อหาที่จะแชร์เข้าเธรดได้ ข้อความที่แชร์เข้าเธรดอาจประกอบด้วยรูปภาพ ลิงก์ และอื่นๆ
เมื่อผู้ใช้ในกลุ่มโต้ตอบกับข้อความใดๆ ที่แชร์ด้วยวิธีนี้ ผู้พัฒนาจะมีสิทธิ์การเข้าถึงข้อมูลบริบทในเธรดนั้น รวมถึงสามารถขอสิทธิ์การอนุญาต และสิทธิ์อื่นๆ ที่มีให้ใน JavaScript SDK ของส่วนขยาย Messenger
กรณีการใช้งานที่อาจเกิดขึ้น
- ส่วนขยาย: สร้างสติกเกอร์หรือมีจากในตัว Messenger แชร์เพลง วิดีโอ หรือเนื้อหาอื่นๆ
- สื่อ: ส่งเรื่องราวในหัวข้อที่คุณติดตามไปยังกลุ่มเมื่อเกิดเรื่องราวขึ้น
- การค้า: การจัดและการวางแผนกลุ่ม
- ผลผลิต: ส่งการอัพเดตจากตัวติดตามงาน แก้ไขเอกสารร่วมกัน
- ความบันเทิง: สร้างเกมหรือการท้าแข่งเป็นกลุ่ม
เรามี TaskBot ซึ่งเป็น Bot โอเพ่นซอร์สที่แสดงฟีเจอร์ทั้งหมดที่อธิบายในที่นี้
ลองใน Messenger →Github Repo →
การปรับตั้งจุดเริ่มต้นลิ้นชัก
คุณต้องตั้ง URL หลักของ Bot เพื่อทำให้ให้ Bot ของคุณปรากฏในลิ้นชักของผู้ใช้ที่เพิ่มเข้าไป
หากส่วนขยายแชทของคุณยังไม่พร้อมให้เรียกใช้ โปรดระวังในการตั้งin_testเป็นtrueเพื่อป้องกันการปรากฎให้บุคคลที่ไม่ใช่ผู้พัฒนาเห็นจนกว่าจะพร้อม
การแชร์
แพลตฟอร์ม Messenger รองรับการแชร์ที่กำหนดเองจากมุมมองเว็บ ที่จะช่วยให้ผู้พัฒนาสามารถจัดเตรียมข้อความและปลายทางสำหรับข้อความที่แชร์จาก Bot ของตนได้
มีการพัฒนาฟีเจอร์เหล่านี้หลายรายการเพื่อช่วยให้ฟีเจอร์ทำงานกับส่วนขยายแชทได้ นี่เป็นสิ่งที่คุณควรทราบ:
การแชร์ไปยังเธรดปัจจุบัน
ฟังก์ชั่นbeginShareFlow()มีพารามิเตอร์modeซึ่งในปัจจุบันรองรับโหมดcurrent_threadแล้ว ฟีเจอร์นี้จะช่วยให้ผู้ใช้แชร์เธรดที่เรียกใช้จากส่วนขยายแชท แทนที่จะเลือกเธรดอื่น ผู้พัฒนาส่วนมากเลือกโหมดcurrent_threadสำหรับภายในส่วนขยายเอง
อาจมีสถานการณ์ที่คุณต้องการตรวจสอบว่า Messenger เวอร์ชั่นของผู้ใช้รองรับโหมดนี้หรือไม่ ใช้วิธีgetSupportedFeatures() และตรวจสอบ"sharing_direct"หลักเพื่อให้แน่ใจ
การโต้ตอบการแชร์
จะมีการเรียกกลับsuccessสำหรับbeginShareFlow()โดยไม่คำนึงว่าผู้ใช้จะยืนยันการแชร์หรือการยกเลิก ตราบใดที่ไม่พบข้อผิดพลาด
ตอนนี้ Messenger จะส่งผ่านช่องis_sentเป็นการตอบการเรียกกลับsuccessซึ่งจะบอกคุณว่ามีการส่งข้อความแล้ว
หลังจากที่ผู้ใช้ได้แชร์แล้ว การปิดหน้าต่างเมื่อเสร็จสิ้นก็เป็นความคิดที่ดี หรือจะส่งผู้ใช้ไปยังโฟลว์ส่วนถัดไปก็ได้
<script>
var messageToShare = { ... };
MessengerExtensions.beginShareFlow(function success(response) {
if(response.is_sent === true){
// User shared. We're done here!
MessengerExtensions.requestCloseBrowser();
}
else{
// User canceled their share!
}
},
function error(errorCode, errorMessage) {
// An error occurred trying to share!
},
messageToShare,
"current_thread");
</script>โปรดดูข้อมูลจำเพาะเพิ่มเติมที่เอกสารสำหรับbeginShareFlow()
การรับ ID ผู้ใช้และบริบทของเธรด
เรียกใช้ฟังก์ชั่น getContext() เพื่อขอรับ:
- ID ของผู้ใช้ (PSID)
- ID ของเธรด
- ประเภทของเธรด
ฟังก์ชั่นจะทำงานให้ผู้ใช้ทุกคนที่มีมุมมองเว็บ โดยไม่คำนึงว่าจะมีเธรดที่เปิดกับ Bot ของคุณหรือไม่
หมายเหตุว่าการรับ ID ผู้ใช้ด้วยวิธีนี้ไม่ได้หมายความว่าจะสามารถรับโปรไฟล์ของผู้ใช้ได้ สำหรับการรับโปรไฟล์ของผู้ใช้ คุณจะต้องมีสิทธิ์การอนุญาตสำหรับโปรไฟล์
เรียนรู้เพิ่มเติม →
การจัดการสิทธิ์การอนุญาต
เมื่อผู้ใช้เริ่มต้นเธรดที่มี Bot ของคุณ คุณจะได้รับสิทธิ์การอนุญาตในการส่งข้อความ ตลอดจนได้รับโปรไฟล์ของผู้ใช้รายนั้นโดยอัตโนมัติ สิทธิ์อนุญาตนี้จะถูกเพิกถอนสำหรับผู้ใช้ที่บล็อก Bot หรือลบเธรด
สำหรับผู้ใช้ที่พบกับ Bot ของคุณผ่านมุมมองเว็บและไม่ได้เริ่มเธรดที่มี Bot นั้น คุณอาจขอสิทธิ์การอนุญาตเหล่านั้น สำหรับการขอสิทธิ์การอนุญาต คุณอาจใช้ฟังก์ชั่นสิทธิ์การอนุญาตใน JavaScript SDK ของส่วนขยาย Messenger
เรียนรู้เพิ่มเติม →เคล็ดลับ + หลักปฏิบัติที่ดีที่สุด
แพลตฟอร์ม Messenger การเสนอหลักปฏิบัติที่ดีที่สุดสำหรับวิธีสร้างส่วนขยายแชทที่ยอดเยี่ยม ซึ่งประกอบด้วย:
- วิธีการเข้าถึงทั่วไป
- วิธีใช้โหมดการแชร์ต่างๆ
- วิธีควบคุม Chrome มุมมองเว็บเพื่อเอ็ฟเฟ็กต์สูงสุด
- วิธีรับรองความเข้ากันได้กับเวอร์ชั่นก่อนหน้า
ชุดออกแบบ
พร้อมสำหรับการออกแบบส่วนขยายแชทของคุณหรือยัง ลองดูไฟล์ Sketch ที่มีประโยชน์ของเรา ซึ่งประกอบด้วยส่วนประกอบทั้งหมดที่คุณต้องการ
ขอรับชุด →คำถามที่พบบ่อยและการแก้ปัญหา
คำถาม: ฉันต้องมี Bot เพื่อพัฒนาส่วนขยายแชทหรือไม่
ตอบ: ใช่! ส่วนขยายแชทคือส่วนขยายของ Bot
คำถาม: อะไรที่ทำให้ส่วนขยายแชทปรากฏในลิ้นชักเครื่องมือเขียนข้อความ
ตอบ: ส่วนขยายแชทจะปรากฏในลิ้นชักเครื่องมือเขียนข้อความของผู้ใช้ หลังจากที่ผู้ใช้โต้ตอบกับ Bot ที่เกี่ยวข้อง
คำถาม: ฉันต้องมีส่วนขยายแชทเพื่อให้ผู้ใช้แชร์จาก Bot ของฉันหรือไม่
ตอบ: ไม่! แพลตฟอร์ม Messenger มีวิธีการอื่นๆ หลายวิธีเพื่อให้ผู้ใช้แชร์จาก Bot ของคุณ
คำถาม: ฉันจำเป็นต้องมีส่วนขยายแชทเพื่อใช้มุมมองเว็บ และ Javascript SDK ของส่วนขยาย Messenger ใน Bot ของฉันหรือไม่ การเชื่อมต่อคืออะไร
ตอบ: ไม่! เราเพิ่งกดถูกใจคำนั้น ในความเป็นจริงแล้ว สามารถเรียกใช้งานมุมมองเว็บได้ในหลายวิธีนอกเหนือจากส่วนขยายแชท และมุมมองเว็บทั้งหมดจะอนุญาตการใช้ส่วนขยาย Messenger
คำถาม: เมื่อผู้รับส่วนขยายแชทแตะที่ลิงก์ คุณสมบัติใดที่จะพร้อมใช้งานผ่าน JavaScript SDK ของส่วนขยาย Messenger
ตอบ: คุณสมบัติทั้งหมดที่พร้อมใช้งานสำหรับผู้ส่งจะพร้อมใช้งานสำหรับผู้ใช้ที่เปิดเนื้อหาที่แชร์ คุณสามารถรับ ID ผู้ใช้ บริบทของเธรด เริ่มการแชร์ของคุณเอง และอื่นๆ อีกมากมาย โปรดทราบว่าในสถานการณ์เหล่านี้ คุณจะไม่มีสิทธิ์เข้าถึงโปรไฟล์ผู้ใช้หรือส่งข้อความถึงผู้ใช้เหล่านั้นจนกว่าคุณจะขอสิทธิ์การอนุญาตที่จำเป็น
คำถาม: ส่วนขยายแชททำงานบน Messenger.com และ Facebook.com หรือไม่
ตอบ: คุณสมบัตินี้ได้รับการสนับสนุนใน iOS และ Android เท่านั้น ผู้ใช้ในไคลเอ็นต์บนเว็บอาจสามารถคลิกลิงก์ที่แชร์โดยผู้ใช้ส่วนขยายแชทได้ แต่จะไม่สามารถใช้ฟังก์ชั่นการทำงานที่ได้รับจาก JavaScript SDK ได้ สำหรับข้อมูลเพิ่มเติม โปรดดูที่ "การรองรับการทำงานร่วมกับเวอร์ชั่นก่อนหน้า" ในคู่มือหลักปฏิบัติที่ดีที่สุดสำหรับส่วนขยายแชท
คำถาม: อะไรคือความต่างระหว่างการแชร์ไปยังเธรดปัจจุบันและการแชร์ด้วยการแพร่ภาพ
ตอบ: ส่วนขยายแชทจะสร้างขั้นในฟีเจอร์การแชร์มุมมองเว็บที่เรียกใช้ก่อนหน้าด้วยการเพิ่มโฟลว์ที่เรียก"current_thread"
หากผู้ใช้เรียกใช้ Bot ของคุณภายในเธรดโดยใช้เครื่องมือเขียนข้อความ เป็นไปได้ที่ผู้ใช้จะต้องการแชร์ที่นั้น แทนที่จะแชร์ให้คนอื่น ดังนั้นด้วยโฟลว์ "current_thread" ผู้ใช้สามารถยืนยันการส่งเนื้อหาบางส่วนไปยังเธรดปัจจุบัน แทนที่จะกระจายไปยังอื่นๆ หลายเธรด
คำถาม: ฉันใช้ Messenger เวอร์ชั่นล่าสุดและ SDK ไม่ทำงานในมุมมองเว็บ เกิดปัญหาอะไรขึ้น
ตอบ: ตรวจสอบรายการต่อไปนี้:
เพจที่ไม่ได้เผยแพร่: หากยังไม่ได้เผยแพร่เพจที่แนบ Bot ของคุณ ระบบจะไม่โหลด SDK สำหรับผู้ใช้ที่ไม่มีบทบาทใดๆ (เช่น ผู้พัฒนา ผู้ดูแล) ในเพจของคุณ เพิ่มผู้ใช้ไปยังเพจหรือเผยแพร่เพจนั้น
messenger_extensionไม่ได้ตั้งคุณสมบัติ: ตรวจสอบให้แน่ใจว่ามีการเปิดมุมมองเว็บจากที่ใดที่คุณตั้งค่าmessenger_extensionsเป็นtrueซึ่งประกอบด้วย:- เมนูของ Bot
- ในปุ่มในข้อวามที่ Bot ของคุณส่ง
- ในข้อความใดๆ ที่แชร์ผ่าน
beginShareFlow()และปุ่มแชร์
โดเมนไม่อยู่ในไวท์ลิสต์: เพิ่มโดเมนที่เพจใช้บริการโฮสต์ในไวท์ลิสต์สำหรับโดเมนของ Bot
ดูเพิ่มเติมที่เคล็ดลับการแก้ปัญหามุมมองเว็บ
คำถาม: ฉันสร้างส่วนขยายแชท แต่ไม่สามารถใช้งานเพื่อแสดงในลิ้นชักเครื่องมือเขียนข้อความได้ ฉันจะแก้ไขได้อย่างไร
ตรวจสอบรายการต่อไปนี้:
ตรวจสอบยืนยันว่าคุณได้ตั้งค่า
home_urlสำหรับเพจเฉพาะที่คุณต้องการให้แสดงขึ้นโดยใช้โทเค็นการเข้าถึงเพจที่เหมาะสมสำหรับเพจนั้น การโอน Bot จากเพจ Facebook เพจหนึ่งไปยังอีกเพจหนึ่งไม่ได้เป็นการโอน URL หน้าแรกไปด้วยหากคุณได้ตั้งค่าแอตทริบิวต์
in_testเป็น “จริง” ขณะที่อยู่ในโหมดการพัฒนา ให้ตรวจสอบยืนยันว่าผู้ที่กำลังตรวจสอบลิ้นชักคือผู้พัฒนาหรือผู้ทดสอบ Bot ที่กล่าวถึง หรือเป็นผู้จัดการของเพจ Facebook หากคุณได้เปิดตัว Bot ต่อสาธารณะแล้ว ให้ตรวจสอบยืนยันว่าคุณได้ส่ง Bot และได้รับการอนุมัติสำหรับpages_messagingสิทธิ์การอนุญาตแล้วตรวจสอบยืนยันว่าเพจ Facebook ที่แนบ Bot ได้รับการเผยแพร่แล้ว
ตรวจสอบยืนยันว่าตัว Bot เองอยู่ในโหมดสาธารณะ
ตรวจสอบยืนยันว่าคุณได้สื่อสารกับ Bot ก่อนหน้านี้แล้ว
ส่วนขยายแชทที่แสดงในลิ้นชักเครื่องมือเขียนข้อความถูกแคชไว้ คุณอาจต้องรอสักครู่เพื่อให้ปรากฏขึ้น