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.
تتم استضافة الألعاب على فيسبوك كبوابة، ومحتوى اللعبة الفعلي تتم استضافته من خادم الويب. وعن طريق تكوين عنوان URL لألعاب الويب، يمكنك توفير اللعبة على Facebook.com حيث ستظهر ضمن iframe. كما يمكنك تحقيق أقصى استفادة من مركز التطبيقات وتوصيات الألعاب على فيسبوك لتسهيل إمكانية اكتشاف المحتوى الذي توفره، واستخدام ميزات التواصل الاجتماعي لمنصة فيسبوك لجعل لعبتك اجتماعية بشكل أكبر.
في إعدادات التطبيق، يتوفر حقل لعنوان URL لألعاب الويب على فيسبوك. يقوم هذا الحقل بتكوين iframe والذي يتم تحميله عندما يبدأ اللاعب تحميل اللعبة. وهذا يمنحك التحكم الكامل في اللعبة وتكون لديك حرية تحديث الإصدارات والمحتوى في دورة طرح التطبيق من جانبك. راجع إعدادات التطبيق هنا.
عندما يقوم لاعب ما على Facebook.com بتحميل اللعبة، سيعمل فيسبوك على إرسال طلب HTTP POST
إلى عنوان URL ألعاب الويب على فيسبوك المتوفرة ضمن "إعدادات التطبيق". يجب أن تكون الاستجابة لهذا الطلب في صورة استجابة HTML كاملة تتضمن برنامج اللعبة. يمكنك استخدام مجموعة Facebook SDK للغة JavaScript لمصادقة المستخدمين والتفاعل مع الإطار والوصول إلى مربعات الحوار داخل اللعبة، لذا، احرص على تضمين ذلك في رمز HTML اللعبة. راجع هنا لمزيد من المعلومات حول تسجيل الدخول للألعاب على فيسبوك.
سيحتوي طلب HTTP POST الذي تم إرساله إلى عنوان URL ألعاب الويب على فيسبوك على معلمات إضافية، بما في ذلك معلمة signed_request
التي تحتوي على هوية اللاعب في فيسبوك إذا تم منح الأذونات الأساسية للتطبيق. إذا كان اللاعب جديدًا، فستكون قيمة المعلمة signed_request
مفيدة للتحقق من أنه تم الحصول على هذا الطلب بالفعل من جانب فيسبوك. يمكنك قراءة المزيد حول الطلبات الموقعة في دليل تسجيل الدخول للألعاب على فيسبوك.
يلزم توفير HTTPS عند تصفح Facebook.com وهذا المطلب ينطبق أيضًا على محتوى اللعبة. لذلك يتعين توفير شهادة SSL صالحة عند عرض محتوى اللعبة. عند تكوين خادم الويب لاستضافة اللعبة، ستحتاج إلى التأكد من تواجده على نطاق صالح تملكه ومن وجود شهادة SSL صالحة لهذا النطاق.
من الممكن إرسال المعلمات المخصصة من جانبك إلى استعلام تشغيل اللعبة. ويُعد هذا مفيدًا لتتبع أداء قصص OG Stories أو مواقع الإحالة أو لتتبع أداء الرابط الذي تتم مشاركته.
توجد طريقتان لتحقيق ذلك:
سيكون عنوان URL للعبتك على فيسبوك دائمًا https://apps.facebook.com/{namespace}/ . عند توفير روابط ترويجية، من صفحة التطبيق أو أماكن أخرى على الإنترنت، يمكنك إلحاق معلمات الاستعلام هنا. على سبيل المثال
https://apps.facebook.com/{namespace}/?source=mysourceid
سيتم حفظ معلمات الاستعلام هذه عند تشغيل اللعبة، وإرسالها إلى الخادم بالإضافة إلى signed_request.
يمكنك أيضًا مشاركة الروابط التي تنقل اللاعبين مباشرةً إلى أجزاء محددة داخل اللعبة. إذا كنت تستخدم PHP أو لديك برامج نصية للتشغيل، فقد يكون ذلك مفيدًا لجعل تجربة اللاعبين تبدأ في مناطق محددة من اللعبة بعيدًا عن المراحل القياسية. سيتم حفظ المسار بالكامل في الطلب الذي يتم إرساله إلى الخادم. على سبيل المثال، إذا كنت تشارك رابطًا إلى
https://apps.facebook.com/{namespace}/special_launch.php
فسيقوم فيسبوك بإرسال طلب إلى
https://{your_web_games_url}/special_launch.php
عند تحميل إطار iframe الخاص باللعبة.
عندما يبدأ اللاعبون تشغيل اللعبة على فيسبوك، تتم إضافة معلمة الاستعلام signed_request
إلى طلب HTTP الذي يتم إرساله إلى الخادم. ويمكن فك تشفير signed_request
هذا لتوفير معلومات المستخدم وتوقيع للتحقق من أمان هذه البيانات ومصداقيتها. يمكنك تحليل هذه المعلمة على النحو التالي:
238fsdfsd.oijdoifjsidf899
)إذا لم يكن هناك حقل user_id
، فهذا يعني عدم منح اللاعب أذونات public_profile للعبة بعد.
إذا قمت بتحليل signed_request
واكتشفت أن اللاعب جديد ولم يمنح الأذونات الأساسية للعبة، فيمكنك طلب هذه الأذونات عند التحميل، عبر مجموعة SDK للغة Javascript.
FB.login(function(response){ // Handle the response });
يمكنك طلب المزيد من الأذونات اختياريًا، مثل email
، عن طريق إضافتها كمعلمة ثانية.
FB.login(function(response) { // Handle the response }, {scope: 'email'});
ستكون المعلومات المهمة الأخرى المتوفرة في حمولة البيانات هذه، عبارة عن إعدادات العمر والتفضيلات المحلية للاعب. راجع تسجيل الدخول للألعاب على فيسبوك لمزيد من المعلومات.
أثناء تطوير اللعبة، على الأرجح سترغب في استضافتها على خادم ويب يعمل على الجهاز المحلي لتسريع دورة التعديل والتحويل البرمجي والاختبار. وتتمثل الطريقة الأكثر شيوعًا لإجراء ذلك في إعداد مكدس خادم مثل XAMPP. ستحتاج أيضًا إلى إنشاء شهادة SSL محلية وتثبيتها حتى يتمكن هذا الخادم من دعم HTTPS.
بمجرد أن تصبح مستعدًا لطرح اللعبة عالميًا، ستحتاج إلى ترتيب الاستضافة على خادم ويب متوفر للعامة.
بالتزامن مع زيادة الزيارات، قد تفكر في استخدام شبكة توصيل المحتوى (CDN) مثل Akamai أو CDNetworks لتقليل تكاليف الاستضافة وتحسين الأداء. تعمل شبكة CDN على تخزين محتوى اللعبة مؤقتًا في مواقع متعددة على الإنترنت. وهذا يعني توصيل أصول اللعبة إلى العميل من موقع أقرب. وسيحصل اللاعبون على تحميل أسرع للعبة، وستتم حماية الخادم من الزيارات الزائدة.