إدارة الأذونات لنظام Android

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

  • الحقول الافتراضية للملف الشخصي العام - تتيح الوصول إلى معلومات الملف الشخصي الأساسية.

  • أذونات القراءة - يتم تأمين كل المعلومات الأخرى التي يضيفها الشخص إلى ملفه الشخصي على فيسبوك بواسطة أذونات القراءة الأخرى.

  • أذونات الكتابة - تحتاج التطبيقات إلى إذن نشر منفصل لنشر المحتوى نيابةً عن الشخص.

فيما يلي طرق إدارة الأذونات في تطبيقك:

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

  • يجب أن يتعامل تطبيقك مع أخطاء الأذونات غير الموجودة من فيسبوك من خلال طلب الأذونات وإعادة المحاولة.

  • يمكن لمستخدمي تطبيقك إلغاء الأذونات على فيسبوك، ولكن يمكنك أيضًا إجراء ذلك في تطبيقك.

  • يمكنك كذلك السماح للأشخاص بإزالة امتيازات تسجيل الدخول الأساسي من تطبيقك وذلك من خلال تنفيذ آلية لإلغاء تسجيل الدخول بالكامل.

تعرف على المزيد عن الأذونات المتوفرة المختلفة في دليل الأذونات.

يتخوف الأشخاص عادةً بشأن منح أذونات النشر، وبالتالي لا يجب عليك طلب أذونات النشر إلا بعد أن يصبح الشخص مستعدًا لنشر شيء ما من تطبيقك وليس خلال تسجيل الدخول الأولي.

الحصول على أذونات إضافية

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

نحصل هنا على user_status. يمكنك إدخال هذه الأذونات إلى زر LoginButton أو واجهة مستخدم مخصصة لتسجيل الدخول والأذونات.

في فئة MainFragment، قم بتعديل الرمز الموجود في onCreateView():

...
LoginButton authButton = (LoginButton)view.findViewById(R.id.authButton);
authButton.setFragment(this);
authButton.setReadPermissions(Arrays.asList("user_status"));

return view;
...

الحصول على أذونات القراءة

يُعد LoginManager مثيلاً منفردًا ويستخدم currentAccessToken في AccessToken. بعد النجاح في تسجيل الدخول، سيتم تعيين currentAccessToken. لطلب أذونات إضافية، قم ببساطة باستدعاء أساليب logInWithPermissionName.

تفتح أساليب logInWithPermissionName دومًا واجهة مستخدم وتطالب المستخدم بأذونات إضافية إذا لزم الأمر. للحصول على أذونات إضافية من الشخص، قدّم هذا الطلب من خلال Facebook SDK لنظام Android:

LoginManager.getInstance().logInWithReadPermissions(
    fragmentOrActivity,
    Arrays.asList("email"));

استخدم هذه الطريقة لطلب أذونات بخلاف التي تم منحها للتطبيق من قبل. يمكنك استخدام ذلك بعد تسجيل الدخول الأولي.

ويمكنك طلب العديد من أذونات القراء المدرجة في مرجع الأذونات.

الحصول على أذونات النشر

يمكنك طلب أي عدد من أذونات القراءة أو أذونات النشر خلال تسجيل الدخول. اطلب أكثر من أربعة أذونات فقد تواجه مشكلة ملموسة في عدد تسجيلات الدخول المكتملة.

تمت إزالة الإذن pubish_actions منذ 24 أبريل 2018. يُرجى الرجوع إلى التغييرات العاجلة في سجل التغييرات للاطلاع على مزيد من التفاصيل. ولتوفير طريقة تتيح لمستخدمي تطبيقك مشاركة المحتوى على فيسبوك، فإننا نوصي باستخدام منتجات المشاركة بدلاً من ذلك.

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

لطلب أذونات النشر في تطبيقك، يمكنك استخدام LoginManager.

LoginManager.getInstance().logInWithPublishPermissions(
    fragmentOrActivity,
    Arrays.asList("publish_actions"));

يؤدي ذلك إلى طلب أذونات إلى جانب ما قد حصل عليه التطبيق من قبل خلال تسجيل الدخول.

إعادة طلب الأذونات

يمكن للأشخاص منح مجموعة فرعية فقط من الأذونات التي تطلبها، باستثناء public profile، والذي يتم منحه عند تسجيل الدخول.

للحصول على قائمة بالأذونات المرتبطة برمز الوصول الحالي، قم باستدعاء:

AccessToken.getCurrentAccessToken().getPermissions();

للحصول على قائمة الأذونات المرفوضة، قم باستدعاء:

AccessToken.getCurrentAccessToken().getDeclinedPermissions();

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

مراجعة تسجيل الدخول

عندما تقوم بتنفيذ تسجيل دخول فيسبوك، يمكن اختياريًا لتطبيقك مطالبة شخص ما بتوفير أذونات لمجموعة فرعية من بيانات هذا الشخص.

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

دليل مراجعة تسجيل الدخول