بالنسبة لنظام Android 11، يمكنك إضافة المجموعة queries
التالية إلى الملف AndroidMainfest.xml
الخاص بالمشروع لحل المشكلة:
<manifest package="com.example.app"> <queries> <provider android:authorities="com.facebook.katana.provider.PlatformProvider" /> </queries> ... </manifest>
يمكنك استخدام معرف تطبيق فيسبوك في تطبيقات Android متعددة. فقط استخدم نفس معرف التطبيق في تطبيق آخر من أجل تسجيل الدخول والمشاركة وغيرها.
للروابط العميقة وفتح تطبيقك عبر الإشعارات والوسائل الأخرى، فإننا ندعم فقط تركيبة اسم الحزمة/اسم الفئة.
إذا كنت تريد الحصول على دعم متعدد التطبيقات للروابط التي تقود لموضع معين، فعليك مراجعة روابط التطبيق.
يمكنك تجاوز السلاسل في مجموعة Facebook SDK لنظام Android عن طريق توفير ترجمة في ملف strings.xml
الخاص بك للغة المطلوبة.
يحتوي ملف strings.xml
في دليل facebook/res/values/
على كل السلاسل التي تستخدمها مجموعة SDK. من المفترض أن تكون أسماء موارد السلاسل واضحة ولا تحتاج إلى شرح.
لمزيد من المعلومات، راجع [دليل مطوري Android: الترجمة باستخدام الموارد ] (http://developer.android.com/guide/topics/resources/localization.html).
يمكنك تنزيل الإصدارات السابقة من مجموعة SDK [تنزيلات مجموعة SDK] (/docs/android/downloads).
يشتمل كل إصدار من إصدارات مجموعة Facebook SDK لنظام Android به مربع الحوار "مشاركة" الأصلي أيضًا على APK لتطبيق فيسبوك.
ملف APK هذا كان ضمن تنزيلات SDK حتى الإصدار 3.14.1. ومنذ ذلك الحين تم توفير إمكانية تنزيلها بشكل منفصل. يمكنك العثور على ملفات APK في صفحة التنزيلات.
فقط قم بتثبيت APK فيسبوك في محاكي Android أو على الجهاز واختبر مربع الحوار مشاركة الأصلي من تطبيقك.
يمكن عادة لمكتبات Android استخدام BuildConfig.DEBUG
لتحديد ما إذا كان التطبيق في وضع تصحيح الأخطاء أم لا. مع ذلك، نتيجة لوجود [خطأ في Gradle] (https://code.google.com/p/android/issues/detail?id=52962)، تكون قيمة DEBUG
لمكتبات Android معينة دائمًا على خطأ. وكحل بديل، هناك طريقة FacebookSdk.setIsDebugEnabled(boolean)
بحيث يمكنك مباشرة تعيين وضع تصحيح الأخطاء من تطبيقك. وهو ما يتيح تسجيل تصحيح الأخطاء من SDK.
يمكنك دائمًا تعيين سلوكيات تسجيل الدخول باستخدام FacebookSdk.addLoggingBehavior(LogginBehavior)
لتمكين تسجيل فئات الرسائل المختلفة. راجع [مرجع مجموعة Android SDK، LoggingBehavior] (/docs/reference/android/current/class/LoggingBehavior/).
ينفذ مربع الحوار "مشاركة" عمليات استدعاء إلى onSuccess
وonCancel
بناءً على الإجراء الذي يتخذه المستخدم.
onSuccess
عندما ينجح المستخدم في المشاركة. علاوة على ذلك، سيكون هناك أيضًا postId
في فئة Sharer.Result
إذا كان المستخدم قد منح التطبيق أذونات publish_actions
. في حالة عدم تسجيل المستخدم للدخول باستخدام تسجيل دخول فيسبوك، يتم استدعاء هذه الطريقة أيضًا إذا نقر المستخدم على إلغاء. onCancel
عندما ينقر الشخص على زر X
بمربع الحوار مشاركة؛ أو عند تسجيل الدخول باستخدام تسجيل دخول فيسبوك ثم النقر على إلغاء.عندما تطلب أذونات النشر، فقد يظهر لك الخطأ:
تعني رسالة الخطأ هذه أن تطبيقك يحاول طلب أذونات جديدة قبل إكمال الأذونات السابقة. كل طلبات الحصول على الأذونات غير متزامنة ولا يمكنك طلب الأذونات الجديدة إلا بعد اكتمال الأذونات القديمة.
ألق نظرة على نماذج التطبيقات التي تصاحب SDK مثل Scrumptious أو Hello Facebook لمعرفة كيفية طلب الأذونات الجديدة بعدة خطوات.
في حالة عدم وجود أخطاء في السجلات، فإن السبب المرجح هو أن الطلب لم يتم تنفيذه أبدًا. لتنفيذ GraphRequest
، عليك استدعاء طريقة executeAsync
.
لتسجيل الدخول أو استخدام مربعات حوار المشاركة الأصلية، ستحتاج لإخبار فيسبوك بالمفتاح الذي تستخدمه لتوقيع تطبيقاتك.
وهو عبارة عن علامة تجزئة مفتاح تمثل علامة تجزئة SHA-1 للمفتاح المستخدم لتوقيع تطبيقك. عادة ما يكون هناك مفتاحان مختلفان مستخدمان، واحد للتطوير وتصحيح الأخطاء، والآخر للإصدار. تحقق من إضافة القيمتين في صفحة إعدادات تطبيقك.
لمزيد من المعلومات، راجع بدء استخدام مجموعة Android SDK - إنشاء علامة تجزئة مفتاح التطوير.
يتمثل أكثر الأسباب شيوعًا في أنك لم تقم بإعداد ContentProvider
في ملف AndroidManifest.xml
. تأكد من إضافته إلى ملف AndroidManifest.xml
بمعرف تطبيقك. راجع [المشاركة على Android - المتطلبات الأساسية] (/docs/sharing/android#prereqs).