เกมทันใจบน Facebook สามารถแนบบอทแพลตฟอร์ม Messenger ได้ แม้คุณจะไม่จำเป็นต้องใช้คุณสมบัตินี้ก็ได้ แต่การแนบบอทนี้ก็ช่วยมอบช่องทางที่มีประสิทธิภาพในการสร้างการมีส่วนร่วมอีกครั้งให้กับเกมของคุณ นี่เป็นวิธีการสร้างและตั้งค่าบอทเกม:
ก่อนอื่นคุณจะต้องสร้างเพจบน Facebook เพื่อสร้างบอทเกม หากต้องการให้เพจทำงานร่วมกับเกมทันใจได้อย่างถูกต้อง เพจดังกล่าวจะต้องเป็นไปตามหลักเกณฑ์เฉพาะบางประการดังต่อไปนี้:
ไปที่แดชบอร์ดของแอพของคุณและทำตามขั้นตอนเหล่านี้ เพื่อสร้างเพจที่เป็นไปตามหลักเกณฑ์เหล่านี้
หมายเหตุ: หากเกมทันใจของคุณไม่ได้เชื่อมโยงเข้ากับเพจอย่างถูกต้องตามที่อธิบายข้างต้น บอทของคุณจะไม่สามารถรับเหตุการณ์ messaging_game_plays
ได้
หลังจากที่สร้างเพจแล้ว คุณจะต้องตอบกลับ Webhooks การส่งข้อความด้วย Webhooks คือการเรียก HTTP ที่เราส่งให้แบ็กเอนด์ของคุณ เมื่อมีการส่งเหตุการณ์การส่งข้อความไปยังเพจของคุณ จากนั้นตรรกะของเซิร์ฟเวอร์จะตัดสินวิธีที่เหมาะสมในการตอบกลับแต่ละเหตุการณ์ หากการตอบกลับนั้นเหมาะสม หากต้องการเชื่อมโยงปลายทางของเซิร์ฟเวอร์เข้ากับเหตุการณ์ของเพจ โปรดทำตามคำแนะนำใน “บทแนะนำแบบง่ายสำหรับการใช้งานแพลตฟอร์ม Messenger” เพื่อเปิดใช้งานบอทในเพจของคุณ ตารางด้านล่างนี้จะให้ข้อมูลเกี่ยวกับ Webhooks และสิทธิ์การอนุญาตที่คุณจำเป็นต้องใช้เพื่อให้บอทของคุณทำงานร่วมกับเกมทันใจ:
หัวข้อ | ค่า |
---|---|
เหตุการณ์ของเพจ |
|
สิทธิ์การอนุญาต |
|
บอทเกมทันใจได้รับอนุญาตให้ใช้เฉพาะการส่งข้อความมาตรฐาน โดยไม่สามารถใช้ pages_messaging_subscriptions
ได้ หมายเหตุ: ห้ามใช้แท็กข้อความGAME_EVENT
เมื่อส่งข้อความบอท เนื่องจากระบบไม่รองรับแท็กข้อความดังกล่าวแล้ว
หากบอทของคุณมีฟังก์ชั่นการทำงานอื่นที่ต้องใช้การส่งข้อความเพื่อสมัครใช้งานหรือการจับคู่ลูกค้า คุณควรสร้างแอพแยกแล้วยื่นขอสิทธิ์การอนุญาตของแพลตฟอร์ม Messenger อีกครั้ง
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 "การเล่นเกม"
ด้านล่างนี้คือตัวอย่างวิธีใช้ 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: เอกสารประกอบปุ่ม "การเล่นเกม"
ก่อนที่จะเปิดใช้กับการทำงานจริง บอทเกมของคุณควรผ่านกระบวนการส่งแพลตฟอร์ม Messenger มาแล้ว ตรวจสอบให้แน่ใจว่าได้ดูรายการตรวจสอบบอทของเราก่อนส่งเพื่อขอรับการตรวจสอบ
คุณสามารถใช้ 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": {ตัวเลขระบุเวลาที่เหลือซึ่งเกมของคุณสามารถส่งการอัพเดตเกมถึงผู้ใช้รายนั้นๆ ได้},
}
{count: 0, time_window: 0}
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างและปรับการอัพเดตเกมของคุณผ่าน Messenger ให้เหมาะสมในเอกสารด้านล่างนี้
เมื่อคุณทราบวิธีสร้างเกมทันใจรวมถึงการอัพเดตเกมที่เกี่ยวข้องผ่าน Messenger แล้ว ก็ถึงเวลาทดสอบและเตรียมพร้อมสำหรับการเปิดตัว โปรดดูการทดสอบ เผยแพร่ และแชร์เกมทันใจของคุณ