Bản cập nhật game qua Messenger

Trò chơi tức thì trên Facebook có thể đính kèm Bot Nền tảng Messenger. Mặc dù là một tùy chọn, nhưng tính năng này mang lại cho trò chơi của bạn một kênh tương tác lại mạnh mẽ. Sau đây là cách tạo và thiết lập Bot Trò chơi:

Bước 1: Tạo Trang

Để tạo bot Trò chơi, trước tiên, bạn cần tạo trang Facebook. Để hoạt động bình thường với Trò chơi tức thì, trang cần đáp ứng một số tiêu chí cụ thể như sau:

  • Hạng mục của trang phải là Trang ứng dụng (và chỉ được là hạng mục đó)
  • Tên của trang phải chứa tên của ứng dụng.
  • Trang không được liên kết với ứng dụng khác.

Để tạo một trang với các tiêu chí này, hãy truy cập Bảng điều khiển ứng dụng và làm theo các bước sau:

  1. Trong menu Sản phẩm, hãy mở rộng menu thả xuống Trò chơi tức thì rồi chọn Chi tiết
  2. Trên trang Chi tiết, hãy tìm phần có tiêu đề Trang ứng dụng rồi nhấp vào Tạo Trang mới
  3. Đi tới phần Trang ứng dụng của sản phẩm Trò chơi tức thì. Trước khi chuyển sang bước tiếp theo, hãy đảm bảo rằng phần Trang ứng dụng của bạn trông giống như bước bên phải:

Lưu ý: Nếu Trò chơi tức thì của bạn không liên kết đúng cách với trang như giải thích ở trên thì bot sẽ không nhận được sự kiện messaging_game_plays.

Bước 2: Kích hoạt bot

Sau khi tạo trang, bạn sẽ phải bảo đảm phản hồi webhook nhắn tin của trang. Webhooks là các lệnh gọi HTTP mà chúng tôi gửi tới chương trình phụ trợ của bạn khi sự kiện nhắn tin được gửi đến trang. Sau đó, logic của máy chủ sẽ quyết định cách phản hồi phù hợp cho mỗi sự kiện, nếu thích hợp phản hồi. Để liên kết các điểm cuối của máy chủ với sự kiện trên trang, hãy làm theo hướng dẫn trên Hướng dẫn bắt đầu nhanh với nền tảng Messenger để kích hoạt bot cho trang của bạn. Bảng dưới đây chứa thông tin về webhook và các quyền bạn cần để bot hoạt động với Trò chơi tức thì:

Phần Giá trị

Sự kiện trên Trang

messagesmessaging_game_plays

Quyền

pages_messaging

Chúng tôi chỉ cho phép bot trong Trò chơi tức thì sử dụng tính năng nhắn tin tiêu chuẩn chứ không phải pages_messaging_subscriptions. Lưu ý: không sử dụng thẻ tin nhắnGAME_EVENT khi gửi tin nhắn qua bot vì thẻ này không còn được hỗ trợ nữa.

Nếu bot của bạn có chức năng khác yêu cầu tính năng nhắn tin đăng ký hoặc so khớp khách hàng, thì bạn nên tạo một ứng dụng riêng và đăng ký lại các quyền đối với nền tảng Messenger.

Bước 3: Phản hồi webhook messaging_game_plays

Sau khi cấu hình bot đúng cách, ứng dụng máy chủ của bạn sẽ bắt đầu nhận webhooks messaging_game_plays mỗi khi người chơi đóng Trò chơi tức thì. Dưới đây là ví dụ về một ứng dụng máy chủ phát hiện và phản hồi một trong những webhook này.

if (event.game_play) {
  var senderId = event.sender.id; // Messenger sender id
  var playerId = event.game_play.player_id; // Instant Games player id
  var contextId = event.game_play.context_id; 
  var payload = event.game_play.payload;
  var playerWon = payload['playerWon'];
  if (playerWon) {
    sendMessage(
      senderId, 
      contextId, 
      'Congratulations on your victory!', 
      'Play Again'
    );

  } else {
    sendMessage(
      senderId, 
      contextId, 
      'Better luck next time!', 
      'Rematch!'
    );
  }
}

Bạn có thể tham khảo tài liệu về Nền tảng Messenger để biết thêm thông tin về webhook này: Tài liệu về webhook Chơi trò chơi.

Bước 4: Thu hút người chơi quay lại trò chơi

Dưới đây là ví dụ về cách sử dụng API Đồ thị để gửi nút game_play cho người chơi.

curl "https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>" -X POST -H "Content-Type: application/json" -d '{ "messaging_type": "UPDATE", "recipient": { "id": "<RECIPIENT_ID>" }, "message": { "attachment": { "type": "template", "payload": { "template_type": "generic", "elements": [ { "title": "It has been a while since your last game. Time to get back", "buttons": [ { "type": "game_play", "title": "Play Tic-Tac-Toe.", "payload": "{}", "game_metadata": { "context_id": "<CONTEXT_ID>" } } ] } ] } } } }'

Bạn có thể tham khảo tài liệu về Nền tảng Messenger để biết thêm thông tin về nút này: Tài liệu về nút Chơi trò chơi.

Bước 5: Tuân thủ các nguyên tắc và chính sách của chúng tôi

Trước khi đi vào sản xuất, bot trò chơi của bạn phải trải qua quy trình gửi đến Nền tảng Messenger. Hãy nhớ xem Danh sách kiểm tra đối với bot trước khi gửi trò chơi đi xét duyệt.

API Hạn mức bản cập nhật game

Để xác nhận khoảng thời gian và số lượng Bản cập nhật game có thể gửi cho một người dùng, bạn có thể sử dụng API game_bots_quota.

GET graph.facebook.com/me?fields=game_bots_quota.recipient_id(<PSID>)&access_token=<page_access_token>

Phản hồi

"game_bots_quota": {
    "count": {a number indicating the remaining number of Game Updates that can be sent to a given user},
    "time_window": {a number indicating the remaining time that your game can send Game Updates to a given user},
}

Ngữ cảnh bổ sung

  1. Nếu người dùng không đăng ký nhận Bản cập nhật game qua Messenger, việc gọi API này sẽ trả về mã lỗi 551, kèm theo thông báo Người này hiện không có mặt;
  2. Nếu không còn hạn mức nào cho người dùng, phản hồi sẽ là {count: 0, time_window: 0};

Tài liệu tham khảo

Vui lòng tham khảo các tài liệu bên dưới để biết thêm thông tin về cách xây dựng và tối ưu hóa Bản cập nhật game qua Messenger.

Bước tiếp theo

Giờ thì bạn đã biết cách xây dựng Trò chơi tức thì có Bản cập nhật game liên quan qua Messenger, đã đến lúc thử nghiệm trò chơi đó và chuẩn bị ra mắt rồi: Thử nghiệm, phát hành và chia sẻ Trò chơi tức thì