إضافة مجموعة SDK ملحقات Messenger

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

الميزات المتوفرة

تتوفر الميزات التالية في طريقة عرض الويب لدى Messenger عند تضمين مجموعة SDK ملحقات Messenger. يُرجى ملاحظة أن التوّفر الفعلي للميزات قد يختلف حسب إصدار Messenger والجهاز.

الوظيفةالوصف

getContext()

استرداد سياق المحادثة مثل المعرف على مستوى الصفحة للشخص الذي فتح طريقة عرض الويب.

requestCloseBrowser()

إغلاق طريقة عرض الويب والرجوع إلى المحادثة على Messenger.

askPermission()

طلب إذن للقيام بإجراءات مثل استرداد معلومات الملف الشخصي لدى شخص ما.

getGrantedPermissions()

التحقق من الأذونات الممنوحة حاليًا.

getSupportedFeatures

التحقق من الميزات المدعومة في طريقة عرض الويب على الجهاز الحالي، مثل المشاركة.

للحصول على تفاصيل كاملة حول استخدام هذه الميزات، راجع مرجع مجموعة SDK ملحقات Messenger.

تثبيت مجموعة SDK

1. إضافة النطاق إلى القائمة البيضاء

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

يمكنك بسهولة إضافة نطاق إلى القائمة البيضاء بشكل برمجي باستخدام API التالية:

 
curl -X POST -H "Content-Type: application/json" -d '{
  "whitelisted_domains":[
    "https://petersfancyapparel.com"
  ]
}' "https://graph.facebook.com/v21.0/me/messenger_profile?access_token=PAGE_ACCESS_TOKEN"

عند نجاح العملية، سترجع API الملف الشخصي في Messenger الاستجابة التالية:

{"result":"success"}

2. تضمين مجموعة JS SDK لملحقات Messenger

أضف مجموعة Javascript SDK لملحقات Messenger إلى الصفحة التي يتم تحميلها في طريقة عرض الويب باستخدام الرمز أدناه. يجب عليك إدخال الرمز مباشرةً بعد فتح الإشارة body على كل صفحة تريد تحميلها:

(function(d, s, id){
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) {return;}
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/messenger.Extensions.js";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'Messenger'));

3. انتظار حدث تحميل مجموعة SDK

window.extAsyncInit() سيتم استدعاؤه عند انتهاء مجموعة JS SDK لملحقات Messenger من التحميل. يمكنك استخدام ذلك كعامل لاستدعاء الوظائف الأخرى المتوفرة في مجموعة SDK.

window.extAsyncInit = function() {
  // the Messenger Extensions JS SDK is done loading 
};

استخدام مجموعة SDK في عميل الويب لدى Messenger

يتم دعم استخدام مجموعة SDK ملحقات Messenger على كل من عملاء Messenger للهاتف المحمول والكمبيوتر. ومع ذلك، قد يتعين عليك مراعاة ما يلي لضمان عملها بشكل صحيح.

يمكنك أيضًا استخدام الخاصية window.name للتحقق من موقع iframe من الرمز من جانب العميل.

عند تشغيل iframe على الويب لدى Messenger، يتم تعيين الخاصية window.name لتكون بالقيمة "messenger_ref"بخلاف ذلك، عند تحميل علامات تبويب دردشة فيسبوك، ستكون الخاصية window.name بالقيمة "facebook_ref".

الميزات غير المدعومة

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

استكشاف الأخطاء وإصلاحها

إذا تعذر عليك استدعاء مجموعة SDK ملحقات Messenger من صفحتك، فيمكنك إجراء ما يلي:

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

  • تحقق من تضمين مجموعة JS SDK في كل صفحة تستخدم الملحقات.

  • احرص على عدم محاولة استدعاء أي وظائف قبل أن يكتمل تحميل مجموعة SDK. استخدم window.extAsyncInitالموضح هنا لمعرفة وقت انتهاء التحميل.

  • تأكد من عرض الصفحة عبر https وأنها لا تتضمن أي منفذ غير قياسي.