يمكن للألعاب الفورية على فيسبوك ربط البرنامج التلقائي لمنصة Messenger. وعلى الرغم من أن هذه الميزة اختيارية، إلا أنها تمنح لعبتك قناة قوية لإعادة التفاعل. إليك طريقة إنشاء البرنامج التلقائي للعبتك وإعداده:
لإنشاء برنامج تلقائي للعبة، يجب إنشاء صفحة فيسبوك أولاً. وحتى تتمكّن الصفحة من العمل بشكل صحيح مع لعبتك الفورية، يجب أن تلبي بعض المعايير المحددة:
لإنشاء صفحة تتضمن هذه المعايير، تفضل بزيارة لوحة معلومات التطبيق واتباع الخطوات التالية:
ملاحظة: إذا لم يتم ربط لعبتك الفورية بشكل صحيح بأية صفحة كما هو موضح أعلاه، فلن يتمكّن برنامجك التلقائي من تلقي أحداث 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 "تشغيل اللعبة".
وفيما يلي مثال على كيفية استخدام واجهة Graph 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": {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},
}
{count: 0, time_window: 0}
;يرجى الرجوع إلى المستندات الواردة أدناه لمزيد من المعلومات حول كيفية إنشاء تحديثات الألعاب وتحسينها عبر Messenger.
والآن بعد أن تعرفت على كيفية إنشاء لعبة فورية مع تحديث لعبة مرتبط بها عبر Messenger، حان وقت اختبارها والاستعداد لطرحها: اختبار اللعبة الفورية ونشرها ومشاركتها