تحديثات الألعاب عبر Messenger

يمكن للألعاب الفورية على فيسبوك ربط البرنامج التلقائي لمنصة Messenger. وعلى الرغم من أن هذه الميزة اختيارية، إلا أنها تمنح لعبتك قناة قوية لإعادة التفاعل. إليك طريقة إنشاء البرنامج التلقائي للعبتك وإعداده:

الخطوة 1: إنشاء صفحة

لإنشاء برنامج تلقائي للعبة، يجب إنشاء صفحة فيسبوك أولاً. وحتى تتمكّن الصفحة من العمل بشكل صحيح مع لعبتك الفورية، يجب أن تلبي بعض المعايير المحددة:

  • يجب تعيين فئة الصفحة إلى صفحة تطبيق (وهذه الفئة فقط)
  • يجب على اسم الصفحة أن يتضمن اسم التطبيق.
  • لا يمكن ربط الصفحة بتطبيق آخر.

لإنشاء صفحة تتضمن هذه المعايير، تفضل بزيارة لوحة معلومات التطبيق واتباع الخطوات التالية:

  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: استعادة جذب لاعبيك إلى اللعبة

وفيما يلي مثال على كيفية استخدام واجهة 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: وثائق زر "تشغيل اللعبة".

الخطوة 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": {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},
}

المزيد من السياق

  1. إذا لم يكن المستخدم مشتركًا في تحديثات الألعاب عبر Messenger، فإن استدعاء API هذه سيرجع رمز الخطأ 551 مع الرسالة هذا الشخص غير متاح الآن.;
  2. إذا لم تكن هناك حصة متبقية للمستخدم، فستكون الاستجابة {count: 0, time_window: 0};

المراجع

يرجى الرجوع إلى المستندات الواردة أدناه لمزيد من المعلومات حول كيفية إنشاء تحديثات الألعاب وتحسينها عبر Messenger.

الخطوات التالية

والآن بعد أن تعرفت على كيفية إنشاء لعبة فورية مع تحديث لعبة مرتبط بها عبر Messenger، حان وقت اختبارها والاستعداد لطرحها: اختبار اللعبة الفورية ونشرها ومشاركتها