إذا كنت تبحث عن المساعدة حول أجهزة Portal من فيسبوك، فيرجى زيارة مركز مساعدة Portal.
لإدخال رمز فيسبوك للأجهزة حتى تتمكّن من تسجيل الدخول إلى التلفزيون الذكي والكاميرا والطابعة وغيرها من الأجهزة، تفضل بزيارة صفحة فيسبوك للأجهزة.
قم بتنفيذ تسجيل دخول فيسبوك للأجهزة للسماح للأشخاص بتسجيل الدخول إلى التطبيق أو الخدمة لديك باستخدام حساب فيسبوك. تتيح هذه الميزة للأشخاص تسجيل الدخول إلى الأجهزة ذات إمكانيات الإدخال أو العرض المحدودة مثل أجهزة التلفزيون الذكية أو أُطر الصور الرقمية أو أجهزة إنترنت الأشياء.
عند تسجيل دخول الجهاز، يعرض جهازك رمزًا أبجديًا رقميًا ويطلب من الأشخاص إدخاله بصفحة ويب على أجهزة الكمبيوتر أو الهواتف الذكية لديهم. يمكن لمستخدمي تطبيقك أو خدمتك عندها منح الأذونات. وبعد حصول تطبيقك على الأذونات، يتلقى الجهاز رمز وصول يستخدمه تطبيقك لتقديم طلبات واجهة Graph API للتعرف على الشخص والحصول على معلومات لتخصيص تجربته مع الجهاز.
إذا كنت تنشئ تطبيق تلفزيون لجهاز AppleTV أو Android TV أو Fire TV، فيجب استخدام مجموعة Facebook SDK لنظام tvOS أو مجموعة Facebook SDK لنظام Android.
يوضح هذا الدليل التكامل اليدوي لتسجيل دخول الجهاز دون استخدام مجموعات SDK الموضحة أعلاه.
تصف هذه الإرشادات كيفية تصميم تجربة تسجيل دخول واضحة وآمنة ومتسقة عبر كل الأجهزة والخدمات.
فكر أولاً في النقطة التي تريد عندها ضمن تجربة المستخدم مطالبة الأشخاص بتسجيل الدخول أو الاتصال باستخدام فيسبوك. بالنسبة لبعض الأجهزة، قد يتوفر ذلك على الفور أو في مرحلة لاحقة من تجربة المستخدم بالنسبة للأجهزة الأخرى.
لضمان توفير تجربة مستخدم أكثر قابلية للاستخدام واتساقًا ومصداقية، قم بتصميم الزر ليتشابه قدر الإمكان مع زر تسجيل دخول فيسبوك الرسمي.
من وجهة نظر التصميم المرئي، يعني ذلك أنه عليك
وإذا كان ذلك مناسبًا، فيجب توضيح مزايا تسجيل الدخول. على سبيل المثال، "اكتشف ما يشاهده أصدقاؤك" أو "اطلع على صور من ألبوماتك على فيسبوك".
عندما ينقر الشخص على زر الدعوة لاتخاذ إجراء، يُجري جهازك عملية استدعاء لواجهة API فيسبوك التي تعرض الرمز البرمجي.
في واجهتك، أخبر الأشخاص أنهم يحتاجون لزيارة موقع على الويب وإدخال الرمز مع الرسالة التالية، "بعد ذلك، تفضل بزيارة facebook.com/device (http://facebook.com/device) من جهاز الكمبيوتر أو الهاتف الذكي وأدخل هذا الرمز". اعرض الرمز الكامل الذي تلقيته من واجهة API تسجيل دخول فيسبوك للأجهزة. يتراوح طول الرمز بين 6 و12 حرفًا.
يمكنك تضمين زر Close
أو Cancel
بحيث يمكن للأشخاص إلغاء دفق تسجيل الدخول الجهاز. ومن المفترض أن يعيدهم ذلك إلى شاشة تسجيل الدخول الأولية.
عند عرض الرمز على الشاشة، يفحص جهازك حالة واجهة API لتسجيل دخول الجهاز لمعرفة ما إذا كان أحد الأشخاص قد فوّض تطبيقك أم لا. وبعد مرور بضع دقائق ما لم يقم الشخص بإدخال الرمز، تعرض واجهة API لتسجيل دخول الجهاز خطأ code_expired
. عند تلقي جهازك لهذا الخطأ، يجب إلغاء دفق تسجيل الدخول وينبغي أن تعرض الواجهة الدعوة لاتخاذ إجراء.
يمكن أيضًا إنشاء رموز QR باستخدام رمز المستخدم المُدمج في عنوان URL. ويتم هذا من خلال إضافة المعلمة user_code
إلى عنوان URL:
https://www.facebook.com/device?user_code=<USER_CODE>
هذا هو الدفق الذي يراه الأشخاص عند انتقالهم إلى facebook.com/device من متصفح جهاز الكمبيوتر أو الهاتف المحمول. في البداية، سيظهر حقل نصي يمكنهم إدخال الرمز فيه:
بعد إدخال الرمز والنقر على Continue
، يمكن للأشخاص اختيار الأذونات التي يريدون منحها:
وهكذا يعلم الأشخاص أن عملية تسجيل الدخول ناجحة وتظهر لهم رسالة تأكيد:
في واجهة جهازك، ينبغي أن تعرض أيضًا رسالة تأكيد. وتتضمن في الوضع الأمثل اسم الشخص إن أمكن وصورة ملفه الشخصي على فيسبوك.
اعرض رسالة التأكيد هذه بجهازك إلى أن ينقر الشخص على الزر Continue
. وقد يضطر أحد الأشخاص لإدخال الرمز في جهاز كمبيوتر موجود في موقع آخر، لذا فقد يحتاج للعودة إلى جهازك والاطلاع على رسالة التأكيد قبل المتابعة.
بعد أن ينقر الشخص على Continue
، يمكن لجهازك أن يعرض تجربة مخصصة رائعة.
يجب أن يتمكّن الأشخاص من تسجيل الخروج من جهازك ويجب على الجهاز عدم تخزين اتصالهم بفيسبوك. للقيام بذلك، قم بتوفير خيار Log out from Facebook
أو Disconnect from Facebook
في قائمة جهازك.
عند تحديد شخص ما لهذا الخيار، ينبغي أن يحذف جهازك رمز الوصول المُخزن من ذاكرته. إذا خزنت رمز الوصول في قاعدة بيانات أو تخزين سحابي، يجب إزالته منها. لن تحتاج لإجراء استدعاء واجهة API لإبطال رمز الوصول.
بعد تسجيل الشخص خروجه، ينبغي أن يعرض جهازك زر الدعوة لاتخاذ إجراء الأولي الخطوة 1.
تسجيل فيسبوك للأجهزة مخصص للأجهزة التي تجري استدعاءات HTTP مباشرة عبر الإنترنت. نعرض فيما يلي استدعاءات واجهة API والاستجابات التي يمكن لجهازك تنفيذها.
قم بتحميل لوحة معلومات التطبيق وتغيير قيمة المنتج > تسجيل دخول فيسبوك > الإعدادات > تسجيل الدخول من الأجهزة إلى 'نعم'.
عندما ينقر الشخص على زر الدعوة لاتخاذ إجراء Connect to Facebook
أو Log in with Facebook
، ينبغي على جهازك إجراء طلب HTTP POST على:
POST https://graph.facebook.com/v2.6/device/login access_token=<YOUR_APP_ID|CLIENT_TOKEN> scope=<COMMA_SEPARATED_PERMISSION_NAMES> // e.g. public_profile,user_likes redirect_uri=<VALID_OAUTH_REDIRECT_URL>
تُعد المعلمة scope
اختيارية ويجب أن تحتوي على قائمة مفصولة بفاصلة تتضمن أذونات تسجيل الدخول التي تمت الموافقة على استخدامها أثناء مراجعة تسجيل الدخول.
ويمكنك الحصول على CLIENT_TOKEN
من App Settings (إعدادات التطبيق) -> Advanced (متقدم)، ويجب دمجها مع معرف التطبيق (مفصولة بعلامة |
) من أجل صياغة access_token
الكامل.
المعلمة redirect_uri
اختيارية. عند تقديم عنوان URL، تتم إعادة توجيه الشخص إلى عنوان URL بعد إتمام عملية تسجيل الدخول بنجاح. ويتيح لك ذلك تشجيع الشخص على تسجيل الدخول إلى موقع الويب الخاص بتطبيقك من أجل إدارة الحساب بشكل إضافي. يجب أن يكون عنوان URL هذا عبارة عن OAuth لإعادة توجيه URL طبقًا لما تم تكوينه في App Settings (إعدادات التطبيق) -> Advanced (متقدم). تظهر الاستجابة بالشكل التالي:
{ "code": "92a2b2e351f2b0b3503b2de251132f47", "user_code": "A1NWZ9", "verification_uri": "https://www.facebook.com/device", "expires_in": 420, "interval": 5 }
تعني هذه الاستجابة ما يلي:
ينبغي أن يعرض جهازك user_code
وأن يطلب من الأشخاص زيارة verification_uri
، مثل facebook.com/device على أجهزة الكمبيوتر أو الهواتف الذكية. راجع تجربة المستخدم.
ينبغي أن يفحص جهازك حالة واجهة API لتسجيل الدخول لمعرفة ما إذا كان الشخص قد فوّض تطبيقك بنجاح أم لا. ينبغي عليك تنفيذ ذلك عند interval
في الاستجابة للاستدعاء الذي أجريته في الخطوة 1 ، والذي يتم كل 5 ثوانٍ. ينبغي على جهازك فحص حالة:
POST https://graph.facebook.com/v2.6/device/login_status access_token=<YOUR_APP_ID|CLIENT_TOKEN> code=<LONG_CODE_FROM_STEP_1> // e.g. "92a2b2e351f2b0b3503b2de251132f47"
تعتمد الاستجابة لاستدعاء واجهة API هذه على المرحلة التي وصل إليها الشخص خلال دفق التصريح. ستتلقى رمز الوصول أو كائن خطأ بالرمز الفرعي المحدد المطلوب تحليله:
الرمز الفرعي للخطأ | نموذج للاستجابة | المعنى |
---|---|---|
|
| نجح المستخدم في تفويض جهازك. يمكن للجهاز الآن استخدام القيمة |
|
| لم يمنح المستخدم تفويضًا لتطبيقك. تابع فحص الحالة بالمعدل المحدد في الاستجابة الواردة ضمن الخطوة 1. |
|
| يفحص جهازك الحالة بشكل متكرر للغاية. ابدأ بإبطاء وتيرة فحص الحالة إلى الفترة الزمنية المحددة في أول استدعاء لواجهة API. |
|
| انتهت صلاحية رمز الجهاز. قم بإلغاء دفق تسجيل الدخول للجهاز وأعد المستخدم إلى الشاشة الأولى. |
عندما تتلقى رمز وصول، يكون الشخص قد منح التصريح لتطبيقك بنجاح. ينبغي عليك الاحتفاظ برمز الوصول هذا في الجهاز.
ومن أجل أن يعلم الشخص أن عملية تسجيل الدخول قد نجحت، ينبغي أن يعرض جهازك اسم الشخص وصورة ملفه الشخصي إن وجدت حتى ينقر على Continue
. للحصول على اسم الشخص وصورة ملفه الشخصي، ينبغي على جهازك إجراء استدعاء قياسي لواجهة Graph API:
GET https://graph.facebook.com/v2.3/me? fields=name,picture& access_token=<USER_ACCESS_TOKEN>
ستحصل على استجابة بالشكل التالي:
{ "name": "John Doe", "picture": { "data": { "is_silhouette": false, "url": "https://fbcdn.akamaihd.net/hmac...ile.jpg" } }, "id": "2023462875238472" }
اعرض اسم الشخص وصورة ملفه الشخصي إلى أن ينقر على Continue
بجهازك.
ينبغي على جهازك الاحتفاظ برمز الوصول لإجراء الطلبات الأخرى لواجهة Graph API.
قد تكون رموز وصول تسجيل الدخول للأجهزة صالحة لفترة تصل إلى 60 يومًا ولكن قد يتم إبطالها في بعض الحالات. على سبيل المثال، عند تغيير الشخص كلمة سر فيسبوك، سيتم إبطال رمز وصوله.
إذا تم إبطال الرمز، ينبغي أن يحذف جهازك الرمز من ذاكرته. يحتاج الشخص الذي يستخدم جهازك لتنفيذ دفق تسجيل الدخول للأجهزة مرة أخرى من الخطوة 1 لاسترجاع رمز جديد صالح.
هل يمكنني إجراء طلبات دفق الأجهزة عبر HTTP؟
OAuth 2 تتطلب TLS/HTTPS.
هل يمكنني إجراء طلبات دفق أجهزة باستخدام أسلوب GET؟
يجب أن تكون كل طلبات دفق الأجهزة هي طلبات POST
.
كيف يمكنني تحديث رمز وصول تسجيل دخول الجهاز؟
قد تكون رموز وصول تسجيل دخول الجهاز صالحة لفترة تصل إلى 60 يومًا كحد أقصى.
إذا كان الرمز المميز غير صالح، فينبغي أن يحذف جهازك الرمز المميز من ذاكرته. يحتاج الشخص الذي يستخدم جهازك لتنفيذ دفق تسجيل دخول الجهاز مرة أخرى والموضح هنا في الخطوة 1 لاسترجاع رمز جديد صالح.
للتعرف على المزيد حول تحديث الرموز، راجع رموز الوصول.
تظهر لي رسالة الخطأ Invalid API method
عند إجراء طلب POST، فما المشكلة؟
إذا كنت تجري طلب POST وتظهر لك رسالة خطأ كما يلي:
{"error":{"message":"Invalid API method","type":"OAuthException","code":3}}
قد تحتاج إلى تمكين تسجيل الدخول من الأجهزة في تطبيقك.
قم بتحميل لوحة معلومات التطبيق وتعيين قيمة المنتج > تسجيل دخول فيسبوك > الإعدادات > تسجيل الدخول من الأجهزة إلى 'نعم'.
رمز الوصول الخاص بتسجيل دخول الجهاز غير صالح. فما الإجراءات التي يمكنني اتخاذها؟
إذا كان رمز الوصول غير صالح، ينبغي أن يحذف جهازك الرمز من ذاكرته والحصول على رمز جديد. يحتاج الشخص الذي يستخدم جهازك إلى تنفيذ دفق تسجيل دخول الجهاز مرة أخرى كما هو موضح هنا في الخطوة 1 لاسترداد رمز ميز جديد صالح.