The Web Games on Facebook and Facebook Gameroom platforms are no longer available for new submissions. This documentation is intended solely for developers with existing games. To learn more, read our blog post.
คำเชิญเล่นเกมเป็นกลไกที่ช่วยให้ผู้เล่นสามารถเชิญเพื่อนๆ มาเล่นเกมด้วยกันได้ ผู้เล่นจะส่งคำเชิญให้กับเพื่อนตั้งแต่ 1 คนขึ้นไป และคำเชิญจะมีการกระตุ้นให้ดำเนินการสำหรับเกมนั้นๆ รวมอยู่ด้วยเสมอ โดยผู้รับอาจเป็นผู้เล่นเดิมหรือผู้เล่นใหม่ก็ได้
คุณสามารถใช้คำเชิญเล่นเกมเพื่อดึงดูดผู้เล่นใหม่ๆ หรือทำให้ผู้เล่นเดิมกลับมามีส่วนร่วมอีกครั้งได้ ทั้งนี้ คุณสามารถส่งคำเชิญได้ใน 2 กรณีต่อไปนี้
ระบบจะส่งคำเชิญขณะที่ผู้ส่งยังอยู่ในเกม และจะแสดงคำเชิญต่อผู้รับในหลายๆ ตำแหน่งบน Facebook คำเชิญจะเป็นแบบส่วนตัวอยู่เสมอ และมีเพียงผู้รับเท่านั้นที่จะเห็นคำเชิญได้ แม้คุณจะสามารถส่งคำเชิญ 1 รายการให้กับผู้รับหลายรายได้ในคราวเดียว แต่ผู้รับคำเชิญจะเห็นเฉพาะรายละเอียดของผู้ส่ง โดยไม่เห็นผู้รับรายอื่นๆ ที่ได้คำเชิญเดียวกันนี้
คำเชิญเล่นเกมพร้อมให้ใช้งานสำหรับเกมบน Facebook และเกมมือถือบน iOS และ Android ในกรณีของเว็บไซต์ Facebook บนเดสก์ท็อป คำเชิญจะปรากฏเป็นป๊อปอัพที่มีเสียงเตือนทางด้านซ้ายล่างของหน้าจอ รวมถึงในสัญลักษณ์การแจ้งเตือน หากไม่ได้กรองเอาไว้ ส่วนในกรณีที่เป็นแพลตฟอร์มบนมือถือ คำเชิญจะแสดงอยู่ภายในรายการการแจ้งเตือนในแอพ Facebook หากไม่ได้กรองเอาไว้ คุณสามารถเข้าดูข้อมูลคำเชิญได้ผ่าน API คำเชิญเล่นเกม และสามารถสร้าง UI แบบกำหนดเองเพื่อช่วยให้เกมมือถือมอบประสบการณ์ได้ครบครันยิ่งขึ้น การนำคำเชิญมาใช้ของคุณจึงควรรองรับหลากหลายแพลตฟอร์ม และควรทำให้ผู้ใช้ได้รับประสบการณ์ที่สอดคล้องกันไม่ว่าจะใช้แพลตฟอร์มใด แต่คำเชิญที่ผู้เล่นส่งจะปรากฏในแพลตฟอร์มต่างๆ ที่เกมของคุณรองรับ
ระบบจะสร้างกล่องคำเชิญเล่นเกมขึ้นผ่าน JavaScript, iOS SDK, Android SDK และ Unity SDK ตัวอย่างเหล่านี้จะถือว่าผู้ส่งได้ยืนยันตัวตนกับแอพแล้ว หากไม่ได้ระบุผู้รับไว้ คุณสามารถกรองรายชื่อเพื่อนให้ไม่เกินขีดจำกัดที่ 50 คนได้ และคุณสามารถแบ่งส่วนตามผู้เล่นที่ลงทะเบียนแล้วหรือเพื่อนที่ยังไม่ได้ลงทะเบียนได้ การทำเช่นนี้จะเป็นประโยชน์ในการสร้างขั้นตอนแยกต่างหากสำหรับการกลับมามีส่วนร่วมอีกครั้งหรือการเชิญ
การส่งคำเชิญโดยใช้ตัวเลือกเพื่อนครั้งละหลายคนที่กล่องคำเชิญเล่นเกมจัดเตรียมไว้ให้
FB.ui({method: 'apprequests', message: 'YOUR_MESSAGE_HERE' }, function(response){ console.log(response); });
เมื่อปิดกล่องดังกล่าว อ็อบเจ็กต์ response
จะมีผลลัพธ์ของการส่งอยู่ ซึ่งรวมถึง ID ของ request
และอาร์เรย์ผู้รับ to
ตัวอย่างเช่น
{ "request":"1428237347457728", "to":["10150002163885335"] }
โดยค่าเริ่มต้นแล้ว ระบบจะแสดงตัวเลือกเพื่อนครั้งละหลายคนให้กับผู้ส่ง ซึ่งช่วยให้สามารถเลือกผู้รับได้สูงสุด 50 คน
เนื่องจากความยาว URL มีขีดจำกัดอยู่ จำนวนผู้รับสูงสุดจึงอยู่ที่ 25 คนใน Internet Explorer 7 หรือ 8 เมื่อใช้กล่องที่ไม่ใช่ iframe
การส่งคำเชิญให้กับผู้รับที่เฉพาะเจาะจง
FB.ui({method: 'apprequests', message: 'YOUR_MESSAGE_HERE', to: 'USER_ID' }, function(response){ console.log(response); });
หากระบุช่อง to
ผู้ส่งจะไม่สามารถเลือกผู้รับเพิ่มเติมได้
การส่งคำเชิญให้ผู้รับที่เฉพาะเจาะจงหลายคน
FB.ui({method: 'apprequests', message: 'YOUR_MESSAGE_HERE', to: 'USER_ID, USER_ID, USER_ID' }, function(response){ console.log(response); });
คุณสามารถระบุผู้รับหลายคนได้ผ่านรายการ ID ผู้ใช้โดยคั่นด้วยเครื่องหมายจุลภาค
จำนวนผู้รับสูงสุดที่คุณสามารถระบุได้ผ่านช่อง to
นั้นมีข้อจำกัดอยู่ กล่าวคือ ระบุเพื่อนได้น้อยกว่า 50 คน และน้อยกว่า 26 คนเมื่อใช้ Internet Explorer 8 ลงไป
การส่งคำเชิญไปยังรายชื่อเพื่อนที่เฉพาะเจาะจง
FB.ui({method: 'apprequests', message: 'Friend Smash Request!', filters: [{name:'GROUP_1_NAME', user_ids:['USER_ID','USER_ID','USER_ID']},{name:'GROUP_2_NAME', user_ids: ['USER_ID','USER_ID','USER_ID']}] }, function(response){ console.log(response); }});
การส่งอ็อบเจ็กต์ผ่านคำเชิญโดยการระบุ action_type
และ object_id
อย่างชัดเจนดังนี้
FB.ui({method: 'apprequests', message: 'Take this bomb to blast your way to victory!', to: {user-ids}, action_type:'send', object_id: 'YOUR_OBJECT_ID' // e.g. '191181717736427' }, function(response){ console.log(response); });
ในกรณีที่เป็นคำเชิญตามรอบการเล่น อย่าระบุ object_id
FB.ui({method: 'apprequests', message: 'Just smashed you 78 times! It\'s your turn.', to: {user-ids}, action_type:'turn' }, function(response){ console.log(response); });
อีกวิธีหนึ่งคือ คุณสามารถแบ่งผู้รับออกเป็นรายชื่อ ซึ่งทำให้ผู้เล่นสามารถเลือกจากเพื่อนที่จัดกลุ่มตามตรรกะโดยอิงตามสถานะในเกมได้
โปรดดูข้อมูลเพิ่มเติมที่เอกสารอ้างอิง FB.ui
สำหรับ Facebook SDK สำหรับ JavaScript
การเปิดใช้กล่องคำเชิญโดยใช้ตัวเลือกเพื่อนที่ iOS SDK จัดเตรียมไว้ให้ดังนี้
FBSDKGameRequestContent *gameRequestContent = [[FBSDKGameRequestContent alloc] init]; // Look at FBSDKGameRequestContent for futher optional properties gameRequestContent.message = @"YOUR_MESSAGE_HERE"; gameRequestContent.title = @"OPTIONAL TITLE"; // Assuming self implements <FBSDKGameRequestDialogDelegate> [FBSDKGameRequestDialog showWithContent:gameRequestContent delegate:self];
การส่งคำเชิญโดยระบุ action_type
และ object_id
อย่างชัดเจนไปยังผู้รับที่เฉพาะเจาะจงโดยใช้ iOS SDK ดังนี้
FBSDKGameRequestContent *gameRequestContent = [[FBSDKGameRequestContent alloc] init]; gameRequestContent.message = @"Take this bomb to blast your way to victory!"; gameRequestContent.to = @[@"RECIPIENT_USER_ID"]; gameRequestContent.objectID = @"YOUR_OBJECT_ID"; gameRequestContent.actionType = @"ACTION_TYPE"; // Assuming self implements <FBSDKGameRequestDialogDelegate> [FBSDKGameRequestDialog showWithContent:gameRequestContent delegate:self];
การส่งคำเชิญโดยใช้ตัวเลือกเพื่อนในกล่องคำเชิญผ่าน Android SDK
GameRequestDialog requestDialog; CallbackManager callbackManager; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FacebookSdk.sdkInitialize(this.getApplicationContext()); callbackManager = CallbackManager.Factory.create(); requestDialog = new GameRequestDialog(this); requestDialog.registerCallback(callbackManager, new FacebookCallback<GameRequestDialog.Result>() { public void onSuccess(GameRequestDialog.Result result) { String id = result.getId(); } public void onCancel() {} public void onError(FacebookException error) {} } ); } private void onClickRequestButton() { GameRequestContent content = new GameRequestContent.Builder() .setMessage("Come play this level with me") .build(); requestDialog.show(content); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); }
การส่งคำเชิญโดยระบุการดำเนินการและอ็อบเจ็กต์อย่างชัดเจนโดยใช้ Android SDK
private void onClickRequestButton() { GameRequestContent content = new GameRequestContent.Builder() .setMessage("Come play this level with me") .setTo("USER_ID") .setActionType(ActionType.SEND) .setObjectId("YOUR_OBJECT_ID") .build(); requestDialog.show(content); }
วิธีสร้างคำเชิญใน Unity SDK มีดังต่อไปนี้ ให้ตรวจสอบดูรายละเอียดเพิ่มเติมในเอกสารประกอบเกี่ยวกับ FB.AppRequest
FB.AppRequest( message: "I Just got " + GameStateManager.Score.ToString() + " points! Can you beat it?", to: recipients, data: "{\"challenge_score\":" + GameStateManager.Score.ToString() + "}" title: "Friend Smash Challenge!", callback:appRequestCallback );
คุณสามารถสร้างกล่องคำเชิญเล่นเกมได้ด้วยพารามิเตอร์เพิ่มเติมจำนวนมากที่กำหนดลักษณะการทำงานของกล่องนั้นๆ โดยพารามิเตอร์เหล่านี้จะมีคำอธิบายอยู่ที่ด้านล่าง
ชื่อพารามิเตอร์ | คำอธิบาย | จำเป็นต้องระบุหรือไม่ |
---|---|---|
app_id | ตัวระบุที่ไม่ซ้ำกันสำหรับแอพของคุณ | ใช่ |
redirect_uri | URL ที่จะเปลี่ยนเส้นทางไปหลังจากผู้ส่งคลิกปุ่มบนกล่อง โดยใช้ในการนำผู้ส่งกลับเข้าเกมหลังจากส่งคำเชิญ ทั้งนี้ด้วยเหตุผลด้านความปลอดภัย | ใช่ เมื่อใช้การเปลี่ยนเส้นทาง URL |
to |
| ไม่ |
message | ข้อความแบบตัวอักษรธรรมดาที่จะส่งรวมอยู่ในคำเชิญ ข้อความนี้จะปรากฏอยู่ในมุมมองศูนย์รวมแอพของคำเชิญ แต่จะไม่ปรากฏบนสัญลักษณ์การแจ้งเตือน | ใช่ |
action_type | ใช้เมื่อกำหนดบริบทเพิ่มเติมเกี่ยวกับลักษณะของคำเชิญ ค่าที่เป็นไปได้คือ | ใช่ หากมีการตั้งค่า |
object_id | ID อ็อบเจ็กต์ Open Graph ของอ็อบเจ็กต์ที่ส่ง | ใช่ หากมีการตั้งค่า |
filters | รายการนี้จะควบคุมชุดเพื่อนที่บุคคลหนึ่งจะเห็นหากตัวเลือกเพื่อนครั้งละหลายคนแสดงขึ้น หากเว้นว่างไว้ ตัวเลือกเพื่อนครั้งละหลายคนก็จะแสดงเพื่อนบน Facebook ทุกคนของผู้ใช้รายนั้น เมื่อระบุ | ไม่ |
exclude_ids | อาร์เรย์ ID ผู้ใช้ที่จะไม่รวมอยู่ในกล่อง หากมีคนไม่รวมอยู่ในกล่อง บุคคลนั้นก็จะไม่ปรากฏอยู่ในตัวเลือกเพื่อนครั้งละหลายคน หมายเหตุ: SDK มือถือไม่รองรับพารามิเตอร์นี้ และระบบจะไม่สนใจพารามิเตอร์นี้ | ไม่ |
max_recipients | จำนวนเต็มที่ระบุจำนวนเพื่อนสูงสุดที่ผู้ส่งสามารถเลือกได้ในตัวเลือกเพื่อน โดยพารามิเตอร์นี้ไม่มีการรองรับบนอุปกรณ์มือถือ | ไม่ |
data | ข้อมูลที่มีรูปแบบอิสระเพิ่มเติมที่คุณอาจส่งเพื่อดำเนินการติดตาม ระบบจะจัดเก็บไว้เป็นส่วนหนึ่งของอ็อบเจ็กต์คำเชิญที่สร้างขึ้น โดยใช้อักขระได้ไม่เกิน 255 ตัว | ไม่ |
title | ชื่อกล่อง โดยใช้อักขระได้ไม่เกิน 50 ตัว | ไม่ |
เมื่อมีการส่งคำเชิญผ่านกล่องคำเชิญเล่นเกม ระบบจะส่งการตอบกลับไปยังการเรียกกลับที่มีข้อมูลต่อไปนี้
ชื่อพารามิเตอร์ | คำอธิบาย |
---|---|
request | ID อ็อบเจ็กต์คำเชิญ หากต้องการเรียกดู ID คำเชิญแบบเต็ม ให้เชื่อมรายการนี้เข้ากับ ID ผู้ใช้จากช่อง |
to | อาร์เรย์ ID ผู้ใช้ที่เป็นผู้รับสำหรับคำเชิญที่สร้างขึ้น |
เมื่อผู้รับยอมรับคำเชิญบนเว็บไซต์ Facebook บนเดสก์ท็อป ระบบจะส่งบุคคลดังกล่าวไปยัง URL ของเกมที่ส่งคำเชิญ โดย URL นี้จะมีพารามิเตอร์ request_ids
แบบ GET
เพิ่มเติม ซึ่งเป็นรายการ ID คำเชิญที่ผู้ใช้ยอมรับโดยคั่นด้วยเครื่องหมายจุลภาค
http://apps.facebook.com/[app_name]/?request_ids=[REQUEST_IDs]
ระบบจะไม่ลบคำเชิญโดยอัตโนมัติเมื่อผู้รับยอมรับคำเชิญ โดยเกมของคุณจะต้องรับผิดชอบในส่วนนี้ แนวทางทั่วไปก็คือ เมื่อมีการเปิดเกมของคุณ ให้อ่านรายการคำเชิญที่ค้างอยู่สำหรับผู้ใช้รายนั้นจาก API กราฟ และลบแต่ละรายการหลังจากประมวลผลแล้ว
เมื่อผู้รับยอมรับคำเชิญบนแพลตฟอร์มมือถือ คำเชิญนี้จะลิงก์ตรงไปยังแอพ โดยจะมีพารามิเตอร์เพิ่มเติมแสดงขึ้นในขณะโหลดแอพ ซึ่งก็คือ ID คำเชิญ ความรับผิดชอบในการยอมรับและล้างคำเชิญแบบเดียวกันนี้ก็จะมีผลกับมือถือเช่นกัน หลักปฏิบัติที่ดี คือ ให้ตรวจสอบและล้างคำเชิญที่รอดำเนินการขณะเปิดเกม
คำเชิญแต่ละรายการที่ส่งจะมี ID อ็อบเจ็กต์คำเชิญที่ไม่ซ้ำกัน โดย ID นี้จะแสดงถึงอ็อบเจ็กต์คำเชิญ คุณสามารถเชื่อม ID อ็อบเจ็กต์คำเชิญนี้กับ ID ผู้ใช้ที่เป็นผู้รับได้ เพื่อสร้างอินสแตนซ์คำเชิญที่เฉพาะเจาะจงขึ้นมา ซึ่งจะแสดงถึงการสร้างอินสแตนซ์คำเชิญ 1 รายการที่จะส่งให้กับผู้รับที่เฉพาะเจาะจง
ตัวอย่างเช่น เมื่อส่งคำเชิญ การตอบกลับจากกล่องคำเชิญเล่นเกมจะมีลักษณะดังนี้
{ request: 'REQUEST_OBJECT_ID' to:[array of USER_IDs] }
หากคุณค้นหา ID อ็อบเจ็กต์คำเชิญผ่าน API กราฟ การตอบกลับที่คุณได้รับจะแตกต่างออกไปเล็กน้อย ทั้งนี้ขึ้นอยู่กับบริบทในการดูของการค้นหา แต่การตอบกลับจะแสดงถึงอ็อบเจ็กต์คำเชิญทั้งหมดอยู่เสมอ
ตัวอย่างเช่น หากสืบค้นไปยัง http://graph.facebook.com/{REQUEST_OBJECT_ID}?access_token=USER_ACCESS_TOKEN
โดยใช้โทเค็นการเข้าถึงผู้ใช้ของผู้รับ คุณจะเห็นการตอบกลับดังต่อไปนี้
{ "id": "REQUEST_OBJECT_ID", "application": { "name": "APP_DISPLAY_NAME", "namespace": "APP_NAMESPACE", "id": "APP_ID" }, "to": { "name": "RECIPIENT_FULL_NAME", "id": "RECIPIENT_USER_ID" }, "from": { "name": "SENDER_FULL_NAME", "id": "SENDER_USER_ID" }, "message": "ATTACHED_MESSAGE", "created_time": "2014-01-17T16:39:00+0000" }
โปรดทราบว่าระบบจะส่งคืนทั้งช่อง to
และ from
แต่หากมีการเรียกใช้ตำแหน่งข้อมูลเดียวกันนี้โดยใช้โทเค็นการเข้าถึงของผู้ส่งหรือโทเค็นการเข้าถึงแอพ Facebook ก็จะส่งคืนโค้ดดังต่อไปนี้
{ "id": "REQUEST_OBJECT_ID", "application": { "name": "APP_DISPLAY_NAME", "namespace": "APP_NAMESPACE", "id": "APP_ID" }, "from": { "name": "SENDER_FULL_NAME", "id": "SENDER_USER_ID" }, "message": "ATTACHED_MESSAGE", "created_time": "2014-01-17T16:39:00+0000" }
หากต้องการเรียกดูคำเชิญแบบเต็มที่มีผู้รับรวมอยู่ด้วยโดยใช้โทเค็นการเข้าถึงแอพ คุณจะต้องนำ ID ผู้ใช้ที่เป็นผู้รับไปต่อท้ายอักขระขีดล่าง "_" ตัวอย่างเช่น การเรียกใช้ไปยัง https://graph.facebook.com/{REQUEST_OBJECT_ID}_{USER_ID}?access_token={APP_ACCESS_TOKEN}
จะส่งคืนโค้ดดังต่อไป
{ "id": "REQUEST_OBJECT_ID", "application": { "name": "APP_DISPLAY_NAME", "namespace": "APP_NAMESPACE", "id": "APP_ID" }, "to": { "name": "RECIPIENT_FULL_NAME", "id": "RECIPIENT_USER_ID" }, "from": { "name": "SENDER_FULL_NAME", "id": "SENDER_USER_ID" }, "message": "ATTACHED_MESSAGE", "created_time": "2014-01-17T16:39:00+0000" }
หากต้องการอ่านคำเชิญทั้งหมดสำหรับผู้รับ คุณสามารถสืบค้นกราฟได้ดังที่แสดงด้านล่างโดยใช้ USER ACCESS TOKEN
ของผู้รับ ซึ่งจะส่งคืนรายการ ID คำเชิญสำหรับผู้ใช้รายนั้นๆ ในแอพ
GET https://graph.facebook.com/me/apprequests?access_token=[USER ACCESS TOKEN]
ระบบจะไม่ลบคำเชิญเล่นเกมโดยอัตโนมัติหลังจากที่ผู้รับยอมรับคำเชิญไปแล้ว โดยผู้พัฒนาจะมีหน้าที่รับผิดชอบในการลบคำเชิญหลังจากมีการยอมรับไปแล้ว คุณจะต้องลบคำเชิญในนามของผู้เล่นทันทีที่มีการยอมรับแล้ว
คุณสามารถลบคำเชิญได้ผ่านวิธีการต่างๆ ดังนี้
ออกคำขอ HTTP DELETE ไปยัง request_id
ที่ผ่านการเชื่อมแล้วดังนี้
DELETE https://graph.facebook.com/[{REQUEST_OBJECT_ID}_{USER_ID}]? access_token=[USER or APP ACCESS TOKEN]
function deleteRequest(requestId) { FB.api(requestId, 'delete', function(response) { console.log(response); }); }
คุณสามารถให้รางวัลแก่ผู้ส่งคำเชิญเล่นเกมได้โดยอิงตามการดำเนินการบางอย่างที่ผู้รับกระทำหลังได้รับคำเชิญ ตัวอย่างเช่น คุณไม่สามารถให้รางวัลแก่ผู้เล่นเพียงเพราะส่งคำเชิญได้ แต่หากผู้รับติดตั้งเกมและเล่นเกมจนถึงเลเวลหนึ่งๆ หลังจากยอมรับคำเชิญ คุณก็จะสามารถให้รางวัลแก่ผู้ส่งรายนั้นได้
หากต้องการให้รางวัลแก่ผู้ส่ง คุณจำเป็นต้องทราบผู้ที่คุณจะให้รางวัล ซึ่งทำได้ 2 วิธีดังนี้
request_id
ที่ระบบส่งคืนมาในการตอบกลับจากกล่องคำเชิญเล่นเกม และนำมาจับคู่เมื่อได้รับเพื่อให้รางวัลแก่ผู้ส่งid
ในช่อง from
ของคำเชิญ หากผู้เล่นคนหนึ่งมีเพื่อนส่งคำเชิญให้หลายคน คุณก็สามารถเลือกได้ว่าจะมอบรางวัลให้กับผู้ส่งคนแรกหรือผู้ส่งทุกคนAPI เพื่อนที่เชิญได้ไม่สามารถใช้กับคำเชิญเล่นเกมได้แล้ว โดยในตอนนี้จะส่งคืนข้อมูลเปล่าและเราจะเลิกใช้ในอนาคตอันใกล้
Facebook รองรับการแปล requests
เป็นภาษาท้องถิ่น เพื่อช่วยให้คุณมอบประสบการณ์การใช้งานอันยอดเยี่ยมแก่กลุ่มเป้าหมายทั่วโลก ก่อนจะแปลคำเชิญ คุณจำเป็นต้องรู้จักคำเชิญประเภทต่างๆ และวิธีการแสดงผลก่อน คำเชิญอาจแสดงผลเป็น "Anita ได้ส่งคำเชิญให้คุณ" แบบมาตรฐาน หรือหากมีการจับคู่การดำเนินการ/อ็อบเจ็กต์แบบเจาะจง ก็จะเป็น "Anita ขอให้คุณส่งตัวเพิ่มให้" หรือ "Anita ส่งระเบิดให้คุณ" นอกจากนี้ยังมีคำเชิญเมื่อถึงรอบอีกด้วย ซึ่งจะแจ้งให้ผู้ใช้ทราบว่าเกมที่แข่งกับเพื่อนนั้นได้มาถึงรอบของตนแล้ว ผู้เล่นที่ได้ยืนยันตัวตนกับเกมแล้วจะเห็นตัวอย่างทั้งหมดเหล่านี้ แต่หากผู้รับยังไม่ได้ติดตั้งเกม ก็จะเห็นเป็นคำเชิญแทน ตัวอย่างเช่น "Anita ได้เชิญให้คุณเล่นเฟรนสแมช" เรามาดูวิธีการแปลแต่ละรายการเหล่านี้กัน
Facebook จะแปลข้อความในคำเชิญให้โดยอัตโนมัติ และผู้พัฒนาจะไม่สามารถควบคุมข้อความได้ โดยจะแปลเป็นภาษาของผู้รับ
ให้สังเกตจากตัวอย่างข้างต้นว่า ระบบจะแปลข้อความ "invited you to play" เป็นภาษาอื่น (ในกรณีนี้คือภาษาไทย) โดยอัตโนมัติ ชื่อแอพและคำอธิบายจะได้รับการแปลในส่วน "แปลเป็นภาษาท้องถิ่น" ของการตั้งค่าแอพเป็น "ชื่อที่แสดง" และ "คำอธิบาย" ในกล่องสีเหลืองด้านล่าง
คำเชิญสามารถแสดงขึ้นในศูนย์รวมแอพได้ด้วย "ข้อความ" ของคำเชิญจะแสดงขึ้นในศูนย์รวมแอพ โดยผู้พัฒนาจะสามารถแปลข้อความดังกล่าวได้ ในตัวอย่างด้านล่าง ข้อความว่า "Can I have a life to help me through the next level?" เป็นภาษาอังกฤษ ส่วน "ช่วยส่งตัวเพิ่มให้หน่อย ต้องใช้ไปเลเวลหน้า" เป็นภาษาไทย ในปัจจุบัน ข้อความหลักของคำเชิญว่า "Anita ได้ส่งคำเชิญให้คุณ" ยังไม่แสดงในศูนย์รวมแอพ
เนื่องจากระบบจะส่งผ่านข้อความเป็นพารามิเตอร์เมื่อมีการเปิดกล่องคำเชิญขึ้นมา คุณจึงสามารถแปลข้อความนี้ด้วยตนเองได้ก่อนจะเปิดกล่องคำเชิญ และส่งเป็นข้อความไปในสตริงที่ผ่านการแปลแล้ว หากต้องการเปลี่ยนคำแปลแบบไดนามิก คุณก็ควรดำเนินการก่อนจะเปิดกล่อง ทั้งนี้ คุณเป็นผู้ที่ต้องตัดสินใจว่าต้องการให้แสดงเป็นภาษาใด เนื่องจากจะเป็นข้อความเดียวกันกับที่ผู้ส่งเห็นในตัวอย่างคำเชิญและข้อความที่ผู้รับเห็นเมื่อได้รับคำเชิญ
ผู้พัฒนาหลายรายจะตรวจจับรูปแบบภาษาของผู้ส่ง แล้วใช้รูปแบบภาษานั้นเพื่อกำหนดภาษาที่จะใช้เป็นข้อความ ทั้งนี้ ในกรณีส่วนใหญ่ ผู้พัฒนาจะถือว่าผู้ส่งและผู้รับใช้ภาษาเดียวกัน ในตัวอย่างข้างต้น คุณสามารถดูรูปแบบภาษาของผู้ส่ง และหากเป็นภาษาไทย คุณก็สามารถส่งข้อความในสตริงเป็นภาษาไทยได้เลย ดังนี้
FB.ui({method: 'apprequests', message: 'ช่วยส่งตัวเพิ่มให้หน่อย ต้องใช้ไปเลเวลหน้า' }, requestCallback);
อย่างที่ได้กล่าวไปแล้วในส่วนพารามิเตอร์กล่องข้างต้น คุณสามารถเสริมข้อมูลเพิ่มเติมได้อีกไม่เกิน 255 อักขระ เพื่อส่งไปพร้อมกับคำเชิญ คุณสามารถใช้คุณสมบัตินี้เพื่อส่งข้อมูลเพิ่มเติมเกี่ยวกับคำเชิญ หรือจะเสริมตัวระบุที่คุณสามารถนำมาใช้ในภายหลังเพื่อค้นหาข้อมูลที่เกี่ยวข้องซึ่งจัดเก็บไว้ในเซิร์ฟเวอร์ของคุณก็ได้
ตัวอย่างเช่น ใน Friend Smash ซึ่งเป็นตัวอย่างโปรเจ็กต์เกมของ Facebook ผู้เล่นจะผลัดกันแข่ง "ทุบ" เพื่อนให้ได้มากที่สุดเท่าที่จะทำได้ เมื่อมีผู้เล่นคนหนึ่งส่งชาเลนจ์ให้กับอีกคนหนึ่งผ่านคำเชิญ ระบบจะใช้พารามิเตอร์ data เพื่อจัดเก็บคะแนนล่าสุดของผู้เล่นที่เป็นคนชาเลนจ์ จากนั้น เกมจะดึงค่านี้ให้กับผู้เล่นที่ได้รับชาเลนจ์ และนำมาใช้เป็นคะแนนเป้าหมายสำหรับเกมถัดไป
เมื่อสร้างตัวเลือกเพื่อนครั้งละหลายคนแบบกำหนดเอง หรือเลือกคนที่จะส่งคำเชิญให้ด้วยวิธีอื่นใด ให้พิจารณาระบุตัวกรองเพื่อช่วยผู้เล่นในการเลือกผู้รับที่ตนต้องการ
ตัวกรองทั่วไปที่ใช้เมื่อนำคำเชิญมาใช้โดยใช้กล่องคำเชิญเล่นเกมก็คือตัวกรอง app_non_users
ตัวกรองนี้จะป้องกันไม่ให้กล่องคำเชิญเล่นเกมแสดงผู้คนที่เคยเล่นเกมของคุณไปแล้ว ตัวกรองอื่นๆ ที่คุณอาจพิจารณาใช้ก็คือ ผู้เล่นที่โต้ตอบด้วยเมื่อเร็วๆ นี้ หรือผู้เล่นของเกมที่คล้ายๆ กันซึ่งคุณควบคุมอยู่ โปรดดูรายการตัวกรองทั้งหมดที่สามารถใช้งานได้ที่กล่องคำเชิญเล่นเกม - เอกสารอ้างอิงเกี่ยวกับพารามิเตอร์
สร้างกลไกที่ส่งเสริมการมีส่วนร่วมให้กับผู้เล่นเมื่อผู้เล่นเข้าเยี่ยมชมเพื่อนๆ ในเกมหรือโต้ตอบกับเพื่อนๆ โดยตรง ตัวอย่างเช่น หากเกมรองรับระบบเพื่อนบ้าน ก็ให้มอบพลังงานโบนัสเมื่อผู้เล่นเข้าไปเยี่ยมชมสภาพแวดล้อมของเพื่อนบ้าน หากฐานของผู้เล่นถูกโจมตี ก็ให้เพื่อนๆ เข้ามาช่วยซ่อมได้ โดยทั่วไปแล้ว ผู้เล่นคิดว่าการช่วยให้เพื่อนได้คืบหน้าขึ้นเป็นเรื่องที่ดี และการเปิดโอกาสให้ทำเช่นนี้ก็จะส่งผลให้เกิดประสบการณ์ทางโซเชียลที่ดีขึ้นและมีผู้คนเข้ามาเล่นมากกว่าเดิม
มอบสิ่งที่เป็นประโยชน์ให้แก่ผู้เล่น ซึ่งผู้เล่นสามารถใช้ยกระดับการเล่นเกมหรือประสบการณ์ทางโซเชียลของตนได้
ประเมินผู้เล่นของคุณและแบ่งออกเป็นกลุ่มๆ ที่เหมาะกับเกมของคุณ (เช่น ผู้เล่นใหม่ ผู้เล่นที่กำลังคราฟต์ของ ผู้เล่นที่มีเพื่อนเยอะ ผู้เล่นที่มีส่วนร่วม ฯลฯ) ให้นึกหาสิ่งที่จะเป็นประโยชน์สำหรับผู้เล่นในระดับนั้นๆ และมอบสิ่งของที่เหมาะกับผู้เล่นแต่ละกลุ่มโดยเฉพาะ