การอัพเดตเกมผ่าน Messenger

เกมทันใจบน Facebook สามารถแนบบอทแพลตฟอร์ม Messenger ได้ แม้คุณจะไม่จำเป็นต้องใช้คุณสมบัตินี้ก็ได้ แต่การแนบบอทนี้ก็ช่วยมอบช่องทางที่มีประสิทธิภาพในการสร้างการมีส่วนร่วมอีกครั้งให้กับเกมของคุณ นี่เป็นวิธีการสร้างและตั้งค่าบอทเกม:

ขั้นตอนที่ 1: สร้างเพจ

ก่อนอื่นคุณจะต้องสร้างเพจบน Facebook เพื่อสร้างบอทเกม หากต้องการให้เพจทำงานร่วมกับเกมทันใจได้อย่างถูกต้อง เพจดังกล่าวจะต้องเป็นไปตามหลักเกณฑ์เฉพาะบางประการดังต่อไปนี้:

  • หมวดหมู่ของเพจจะต้องเป็น "เพจเกี่ยวกับแอพ" (และเฉพาะหมวดหมู่ดังกล่าวนี้เท่านั้น)
  • ชื่อของเพจจะต้องมีชื่อของแอพประกอบอยู่ด้วย
  • เพจจะไม่สามารถเชื่อมโยงเข้ากับแอพอื่นได้

ไปที่แดชบอร์ดของแอพของคุณและทำตามขั้นตอนเหล่านี้ เพื่อสร้างเพจที่เป็นไปตามหลักเกณฑ์เหล่านี้

  1. ในเมนู "ผลิตภัณฑ์" ให้ขยายเมนูดร็อปดาวน์ "เกมทันใจ" แล้วเลือก "รายละเอียด"
  2. ค้นหาส่วน "เพจเกี่ยวกับแอพ" แล้วคลิก "สร้างเพจใหม่" ในหน้า "รายละเอียด"
  3. ไปที่ส่วน "เพจเกี่ยวกับแอพ" ของผลิตภัณฑ์เกมทันใจ ก่อนที่จะไปยังขั้นตอนถัดไป โปรดตรวจดูให้แน่ใจว่าหัวข้อ “เพจเกี่ยวกับแอพ” ของคุณมีหน้าตาเหมือนกับขั้นตอนทางด้านขวานี้:

หมายเหตุ: หากเกมทันใจของคุณไม่ได้เชื่อมโยงเข้ากับเพจอย่างถูกต้องตามที่อธิบายข้างต้น บอทของคุณจะไม่สามารถรับเหตุการณ์ messaging_game_plays ได้

ขั้นตอนที่ 2: เปิดใช้งานบอทของคุณ

หลังจากที่สร้างเพจแล้ว คุณจะต้องตอบกลับ Webhooks การส่งข้อความด้วย Webhooks คือการเรียก HTTP ที่เราส่งให้แบ็กเอนด์ของคุณ เมื่อมีการส่งเหตุการณ์การส่งข้อความไปยังเพจของคุณ จากนั้นตรรกะของเซิร์ฟเวอร์จะตัดสินวิธีที่เหมาะสมในการตอบกลับแต่ละเหตุการณ์ หากการตอบกลับนั้นเหมาะสม หากต้องการเชื่อมโยงปลายทางของเซิร์ฟเวอร์เข้ากับเหตุการณ์ของเพจ โปรดทำตามคำแนะนำใน “บทแนะนำแบบง่ายสำหรับการใช้งานแพลตฟอร์ม Messenger” เพื่อเปิดใช้งานบอทในเพจของคุณ ตารางด้านล่างนี้จะให้ข้อมูลเกี่ยวกับ Webhooks และสิทธิ์การอนุญาตที่คุณจำเป็นต้องใช้เพื่อให้บอทของคุณทำงานร่วมกับเกมทันใจ:

หัวข้อ ค่า

เหตุการณ์ของเพจ

messages และ messaging_game_plays

สิทธิ์การอนุญาต

pages_messaging

บอทเกมทันใจได้รับอนุญาตให้ใช้เฉพาะการส่งข้อความมาตรฐาน โดยไม่สามารถใช้ pages_messaging_subscriptions ได้ หมายเหตุ: ห้ามใช้แท็กข้อความGAME_EVENT เมื่อส่งข้อความบอท เนื่องจากระบบไม่รองรับแท็กข้อความดังกล่าวแล้ว

หากบอทของคุณมีฟังก์ชั่นการทำงานอื่นที่ต้องใช้การส่งข้อความเพื่อสมัครใช้งานหรือการจับคู่ลูกค้า คุณควรสร้างแอพแยกแล้วยื่นขอสิทธิ์การอนุญาตของแพลตฟอร์ม Messenger อีกครั้ง

ขั้นตอนที่ 3: การตอบกลับ Webhooks messaging_game_plays

เมื่อกำหนดค่าบอทอย่างถูกต้องแล้ว แอพพลิเคชั่นเซิร์ฟเวอร์ของคุณจะเริ่มได้รับ Webhooks messaging_game_plays ทุกครั้งที่ผู้เล่นปิดเกมทันใจ ด้านล่างนี้คือตัวอย่างของแอพพลิเคชั่นเซิร์ฟเวอร์ที่ตรวจจับและตอบสนองต่อ Webhooks อย่างใดอย่างหนึ่งเหล่านี้

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!'
    );
  }
}

คุณสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับ Webhook นี้ได้ที่เอกสารสำหรับแพลตฟอร์ม Messenger: เอกสารประกอบ Webhook "การเล่นเกม"

ขั้นตอนที่ 4: เชิญชวนผู้เล่นกลับเข้าเกม

ด้านล่างนี้คือตัวอย่างวิธีใช้ API กราฟเพื่อส่งปุ่ม game_play ให้ผู้เล่น

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>" } } ] } ] } } } }'

คุณสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับปุ่มนี้ได้ที่เอกสารสำหรับแพลตฟอร์ม Messenger: เอกสารประกอบปุ่ม "การเล่นเกม"

ขั้นตอนที่ 5: ทำตามแนวทางปฏิบัติและนโยบายของเรา

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

API โควต้าการอัพเดตเกม

คุณสามารถใช้ API game_bots_quota เพื่อยืนยันกรอบเวลาและจำนวนการอัพเดตเกมที่สามารถส่งถึงผู้ใช้ได้

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

การตอบกลับ

"game_bots_quota": {
    "count": {ตัวเลขระบุจำนวนการอัพเดตเกมที่เหลือซึ่งสามารถส่งถึงผู้ใช้รายนั้นๆ ได้},
    "time_window": {ตัวเลขระบุเวลาที่เหลือซึ่งเกมของคุณสามารถส่งการอัพเดตเกมถึงผู้ใช้รายนั้นๆ ได้},
}

บริบทเพิ่มเติม

  1. หากผู้ใช้ไม่ได้สมัครรับการอัพเดตเกมผ่าน Messenger เมื่อเรียกใช้ API นี้ ระบบจะส่งคืนรหัสข้อผิดพลาด 551 พร้อมข้อความว่า "This person isn't available right now" (บุคคลนี้ไม่พร้อมใช้งานในขณะนี้)
  2. หากไม่มีโควต้าเหลือสำหรับผู้ใช้ ระบบจะส่งคืนการตอบกลับเป็น {count: 0, time_window: 0}

ข้อมูลอ้างอิง

โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างและปรับการอัพเดตเกมของคุณผ่าน Messenger ให้เหมาะสมในเอกสารด้านล่างนี้

ขั้นตอนถัดไป

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