Tiện ích trò chuyện
Tiện ích trò chuyện cho phép bot cung cấp các tính năng tương tác, xã hội mà người dùng có thể gọi ngay vào các cuộc trò chuyện.
NỘI DUNG
Tổng quan
Mô hình tương tác
Tiện ích trò chuyện xuất hiện trong ngăn trình biên soạn của Messenger sau khi người dùng đã tương tác với bot được liên kết.
Khi người dùng nhấn vào biểu tượng của tiện ích trò chuyện, hệ thống sẽ mở ra giao diện người dùng dựa trên chế độ xem web mà nhà phát triển chỉ định. Sau đó, người dùng có thể tạo hoặc chọn nội dung cần chia sẻ vào cuộc trò chuyện. Tin nhắn được chia sẻ vào cuộc trò chuyện có thể chứa hình ảnh, liên kết và các nội dung khác.
Khi người dùng trong nhóm tương tác với bất kỳ tin nhắn nào được chia sẻ theo cách này, nhà phát triển sẽ có quyền truy cập thông tin ngữ cảnh trong cuộc trò chuyện, có thể yêu cầu quyền và mọi thứ khác được cung cấp trong SDK JavaScript dành cho tiện ích Messenger.
Trường hợp sử dụng tiềm năng
- Diễn cảm: Tạo nhãn dán hoặc nội dung bị chế ngay trong Messenger. Chia sẻ bài hát, video hoặc nội dung khác.
- Phương tiện: Gửi tin về các chủ đề bạn theo dõi cho nhóm khi chúng diễn ra.
- Thương mại: Sắp xếp và lên kế hoạch nhóm
- Năng suất: Gửi cập nhật từ trình theo dõi công việc, cộng tác chỉnh sửa tài liệu.
- Giải trí: Tạo trò chơi hoặc thử thách nhóm.
Chúng tôi có TaskBot nguồn mở, một bot giới thiệu tất cả các tính năng được mô tả ở đây.
Dùng thử trong Messenger →Nơi lưu trữ Github →
Cấu hình điểm tham gia ngăn
Để cho phép bot của bạn hiển thị trong ngăn đối với những người đã thêm bot, bạn phải đặt URL trang chủ của bot đó.
Nếu tiện ích trò chuyện của bạn chưa sẵn sàng khởi chạy, hãy thận trọng khi đặt in_test thành true để tránh hiển thị cho những người không phải nhà phát triển cho đến khi đã sẵn sàng.
Chia sẻ
Nền tảng Messenger hỗ trợ chia sẻ tùy chỉnh từ chế độ xem web, cho phép nhà phát triển cung cấp tin nhắn tùy chỉnh và trang đích cho các tin nhắn được chia sẻ từ bot của họ.
Một số cải tiến đã được thêm vào các tính năng này để cho phép chúng hoạt động với tiện ích Trò chuyện. Dưới đây là những gì bạn nên biết:
Chia sẻ với cuộc trò chuyện hiện tại
Hàm beginShareFlow()có thông số mode hiện hỗ trợ chế độ current_thread. Điều này cho phép người dùng chia sẻ với cuộc trò chuyện mà họ đã gọi tiện ích Trò chuyện, thay vì phải chọn một cuộc trò chuyện khác. Hầu hết các nhà phát triển sẽ chọn chế độ current_thread cho chính tiện ích đó.
Có thể có những trường hợp bạn muốn kiểm tra xem chế độ này có được phiên bản Messenger của người dùng hỗ trợ không. Sử dụng phương thức getSupportedFeatures()và kiểm tra khóa "sharing_direct" để biết chắc chắn.
Bày tỏ cảm xúc với nội dung chia sẻ
Hồi đáp success cho beginShareFlow() sẽ được gọi bất kể người dùng xác nhận chia sẻ hay hủy, miễn là không gặp lỗi nào.
Messenger hiện đưa trường is_sent vào phản hồi cho hồi đáp success cho bạn biết tin nhắn đã thực sự được gửi chưa.
Sau khi người dùng đã chia sẻ, tốt nhất là bạn nên đóng cửa sổ nếu đã xong hoặc chuyển người dùng đến phần tiếp theo của luồng.
<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>Tham khảo tài liệu về beginShareFlow() để biết thêm thông tin cụ thể.
Lấy ID người dùng & ngữ cảnh cuộc trò chuyện
Gọi hàm getContext()để lấy:
- ID người dùng (PSID)
- ID cuộc trò chuyện
- Loại cuộc trò chuyện
Hàm này hoạt động với tất cả người dùng gặp chế độ xem web, bất kể họ có mở cuộc trò chuyện bằng bot của bạn hay không.
Lưu ý rằng lấy ID người dùng theo cách này không ám chỉ khả năng lấy trang cá nhân của người dùng. Vì lý do đó, bạn sẽ cần quyền vào trang cá nhân.
Tìm hiểu thêm →
Quản lý quyền
Khi người dùng bắt đầu cuộc trò chuyện bằng bot của bạn, bạn sẽ tự động có quyền nhắn tin cho người dùng đó cũng như lấy trang cá nhân của họ. Các quyền này sẽ bị thu hồi đối với những người dùng chặn bot hoặc xóa cuộc trò chuyện.
Đối với những người dùng gặp bot của bạn qua chế độ xem web và không bắt đầu cuộc trò chuyện bằng bot đó, bạn nên yêu cầu các quyền này. Vì lý do này, bạn có thể sử dụng các hàm yêu cầu quyền trong SDK JavaScript dành cho tiện ích Messenger.
Tìm hiểu thêm →Mẹo + thực tiễn tốt nhất
Nền tảng Messenger đã gợi ý các thực tiễn tốt nhất về cách tạo ra tiện ích Trò chuyện tuyệt vời, bao gồm:
- Phương pháp chung
- Cách sử dụng các chế độ chia sẻ khác nhau
- Cách kiểm soát chrome chế độ xem web để mang lại hiệu quả tối đa
- Cách đảm bảo khả năng tương thích ngược
Bộ công cụ thiết kế
Bạn đã sẵn sàng thiết kế tiện ích Trò chuyện của mình? Hãy xem tệp Phác thảo tiện dụng của chúng tôi, có chứa tất cả các thành phần bạn cần!
Tải bộ công cụ →Câu hỏi thường gặp & khắc phục sự cố
H: Tôi có phải có bot để phát triển tiện ích Trò chuyện không?
Đ: Có! Tiện ích Trò chuyện là tiện ích của bot.
H: Điều gì khiến tiện ích Trò chuyện xuất hiện trong ngăn trình biên soạn?
Đ: Tiện ích trò chuyện xuất hiện trong ngăn trình biên soạn đối với người dùng sau khi họ đã tương tác với bot được liên kết.
H: Tôi có phải có tiện ích Trò chuyện để cho phép người dùng chia sẻ từ bot của mình không?
Đ: Không! Nền tảng Messenger cung cấp vô số những cách khác để cho phép người dùng chia sẻ từ bot của bạn.
H: Tôi có phải có tiện ích Trò chuyện để sử dụng chế độ xem web và SDK Javascript tiện ích Messenger trong bot của mình không? Mối quan hệ là gì?
Đ: Không! Chúng tôi muốn nói vậy. Thực tế, chế độ xem web có thể gọi được theo nhiều cách ngoài tiện ích Trò chuyện và tất cả các cách đó đều cho phép sử dụng tiện tích Messenger.
H: Khi người nhận tiện ích Trò chuyện nhấn vào một tiện ích thì các tính năng nào khả dụng qua SDK JavaScript tiện ích Messenger?
Đ: Tất cả tính năng khả dụng cho người gửi đều khả dụng cho người dùng mở nội dung được chia sẻ. Bạn có thể lấy ID người dùng, ngữ cảnh cuộc trò chuyện, bắt đầu chia sẻ của chính mình và nhiều thứ khác nữa. Lưu ý rằng trong những tình huống này, bạn sẽ không có quyền truy cập vào trang cá nhân của người dùng hoặc nhắn tin cho những người dùng đó đến khi bạn yêu cầu quyền cần thiết.
H: Tiện ích Trò chuyện có hoạt động trên Messenger.com và Facebook.com không?
Đ: Tính năng này chỉ được hỗ trợ trên iOS và Android. Người dùng trên ứng dụng dựa trên web có thể nhấp vào liên kết được người dùng tiện ích Trò chuyện chia sẻ nhưng không thể sử dụng chức năng do SDK JavaScript cung cấp. Để biết thêm thông tin, hãy xem "Khả năng tương thích ngược" trong Hướng dẫn thực tiễn tốt nhất về tiện ích Trò chuyện.
H: Sự khác biệt giữa chia sẻ với cuộc trò chuyện hiện tại và chia sẻ với phiên phát là gì?
Đ: Tiện ích trò chuyện dựa trên các tính năng chia sẻ chế độ xem web đã khởi chạy trước đó bằng cách thêm luồng có tên "current_thread".
Nếu người dùng đã gọi bot của bạn trong một cuộc trò chuyện bằng trình biên soạn, hệ thống sẽ chỉ hiểu rằng họ muốn chia sẻ tại đó, chứ không chia sẻ với ai khác. Vì vậy, với luồng "current_thread", người dùng có thể xác nhận gửi phần nội dung cho cuộc trò chuyện hiện tại, chứ không phát cho nhiều cuộc trò chuyện.
H: Tôi đang dùng phiên bản mới nhất của Messenger và SDK hiện không hoạt động trong chế độ xem web. Có vấn đề gì ở đây?
Đ: Hãy kiểm tra những điểm sau:
Trang chưa đăng: Nếu trang có đính kèm bot của bạn chưa đăng, SDK sẽ không được tải cho người dùng không có bất kỳ vai trò nào (ví dụ: nhà phát triển, quản trị viên) trên trang. Hãy thêm người dùng vào trang hoặc đăng trang.
Thuộc tính
messenger_extensionchưa được đặt: Đảm bảo rằng ở bất kỳ nơi nào mà bạn mở chế độ xem web, bạn đã đặtmessenger_extensionsthànhtrue. Điều này bao gồm:- Trong các menu của bot.
- Trong các nút trên tin nhắn mà bot của bạn gửi
- Trong bất kỳ tin nhắn nào được chia sẻ qua
beginShareFlow()và các nút Chia sẻ.
Miền không có trên danh sách cho phép: Thêm miền lưu trữ trang vào danh sách miền cho phép của bot.
Xem thêm mẹo khắc phục sự cố chế độ xem web.
H: Tôi đã tạo một tiện ích Trò chuyện nhưng không thể hiển thị tiện ích này trong ngăn của trình biên soạn. Làm cách nào để khắc phục sự cố này?
Hãy kiểm tra những điểm sau:
Xác minh rằng bạn đã đặt
home_urlcho trang cụ thể mà bạn muốn xuất hiện, sử dụng mã truy cập Trang thích hợp cho trang đó. Chuyển bot từ một trang Facebook sang trang khác sẽ không chuyển URL trang chủ.Nếu bạn đã đặt thuộc tính
in_testthành đúng khi ở chế độ phát triển, hãy xác minh rằng người kiểm tra ngăn là nhà phát triển hoặc người dùng thử của bot đang nói đến hoặc người quản lý trang Facebook của bot đó. Nếu bạn đã giới thiệu bot công khai, hãy xác minh rằng bạn đã gửi và được phê duyệt bot đó cho quyềnpages_messaging.Xác minh rằng trang Facebook mà bot được đính kèm đã được đăng.
Xác minh rằng chính bot đang ở chế độ công khai.
Xác minh rằng bạn đã nói với bot trước đó.
Tiện ích trò chuyện hiển thị trong ngăn trình biên soạn được lưu vào bộ nhớ đệm. Bạn có thể phải chờ một lúc để nó xuất hiện.