بعد دمج تسجيل دخول فيسبوك أو المشاركة على فيسبوك أو Facebook Gaming، يتم تسجيل بعض من أحداث التطبيق وتجميعها في مدير الأحداث، ما لم تقم بتعطيل التسجيل التلقائي لحدث التطبيق. نوصي كل مطوّري التطبيقات الذين يستخدمون تسجيل دخول فيسبوك أو المشاركة على فيسبوك أو Facebook Gaming بالتعرف على كيفية عمل هذه الوظيفة. للحصول على المزيد من التفاصيل حول المعلومات التي يتم تجميعها وكيفية تعطيل التسجيل التلقائي لحدث التطبيق، يمكنك الرجوع إلى التسجيل التلقائي لحدث التطبيق.
يوضح هذا الدليل كيفية تمكين مستخدمين تطبيقك على نظام Android من المشاركة من التطبيق إلى فيسبوك. عندما يشارك شخص ما من تطبيقك، يظهر المحتوى الذي يشاركه في صفحة اليوميات لديه. يمكن أيضًا أن يظهر المحتوى الذي يشاركه المستخدمون في يومياتهم ضمن صفحة الموجز لدى أصدقائهم. كما يمكن للمستخدمين مشاركة المحتوى من تطبيقك إلى Messenger من فيسبوك.
عند تنفيذ المشاركة، يجب ألا يتم من خلال تطبيقك ملء أي محتوى ستتم مشاركته. علمًا بأن الملء المسبق للمحتوى لا يتوافق مع سياسات المطوّرين.
يعرض المثال المصوّر التالي مربع حوار المشاركة في تطبيقك على اليسار والمنشور الناتج في تطبيق فيسبوك على اليمين.
تعتبر مجموعة SDK للمشاركة لنظام Android إحدى مكونات مجموعة Facebook SDK لنظام Android.
لاستخدام مجموعة SDK للمشاركة على فيسبوك في مشروعك، أضفها كعنصر تابع في منصة Maven.
في مشروعك، افتح your_app | Gradle Scripts | build.gradle (Project) وأضف المستودع التالي إلى القسم buildscript { repositories {}}
:
mavenCentral()
في مشروعك، افتح your_app | Gradle Scripts | build.gradle (Module: app) وأضف عبارة التحويل البرمجي التالية إلى القسم dependencies{}
:
compile 'com.facebook.android:facebook-share:latest.release'
أنشئ مشروعك.
احصل على معرف تطبيق فيسبوك الذي تم تكوينه بشكل صحيح وربطه بتطبيق Android لديك.
أنشئ تجزئة مفتاح تطوير Android وقم بإضافتها إلى صفحة عينات التطبيقات في إعدادات المطوّرين لديك. لمعرفة التفاصيل، راجع إنشاء تجزئة مفتاح التطوير وتشغيل عينات التطبيقات.
أضف ContentProvider
إلى ملف AndroidManifest.xml
لديك وقم بتعيين {APP_ID}
إلى معرف تطبيقك:
<provider android:authorities="com.facebook.app.FacebookContentProvider{APP_ID}"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>
إذا كان تطبيقك يستهدف نظام التشغيل Android 11 أو الإصدارات الأحدث، فأضف مجموعة الاستعلامات التالية إلى ملف AndroidManifest.xml
لديك من أجل جعل تطبيق فيسبوك مرئيًا لتطبيقك:
<queries><provider android:authorities="com.facebook.katana.provider.PlatformProvider" /></queries>
أضف Facebook Activity
إلى مشروعك وقم بتضمينه في ملف AndroidManifest.xml
لديك.
تتضمن جميع الإصدارات الأعلى من الإصدار 4.0 من مجموعات Facebook SDK نماذج جديدة لمشاركة المحتوى. لكل نوع من المحتوى الذي يرغب الأشخاص في مشاركته فئة محددة يمكنك استخدامها في التعبير عنه. بعد إعداد نموذج المحتوى، قم بإضافة واجهة مشاركة إلى تطبيقك.
عند مشاركة الأشخاص للروابط من تطبيقك إلى فيسبوك، فإنها تتضمن contentURL
مع الرابط الذي تتم مشاركته. أنشئ محتوى المشاركة للروابط في النموذج ShareLinkContent
. وللحصول على قائمة بكل السمات، راجع مرجع ShareLinkContent
.
فيما يلي مثال على طريقة تشغيل ميزة المشاركة:
ShareLinkContent content = new ShareLinkContent.Builder() .setContentUrl(Uri.parse("https://developers.facebook.com")) .build();
لمعاينة مشاركة رابط إلى Google Play أو App Store، أدخل عنوان URL في أداة تصحيح أخطاء المشاركة.
وإذا كانت مشاركة تطبيقك تحتوي على رابط لأي تطبيق على Google Play أو App Store، فسيتم تجاهل الوصف والصورة التي تم تضمينهما في المشاركة. وبدلاً من ذلك، سنقوم باستخلاص المتجر المرتبط مباشرة بعنوان وصورة هذا التطبيق (وفي حالة عدم وجود صورة، فإن المشاركة لن تتضمن أي صور).
يمكن للأشخاص مشاركة الصور من تطبيقك إلى فيسبوك باستخدام مربع الحوار مشاركة. ومن أجل المشاركة، يجب أن يقوم الأشخاص بتثبيت الإصدار 7.0 أو الإصدار الأحدث من تطبيق فيسبوك لنظام Android الأصلي.
أنشئ محتوى المشاركة للصور في النموذج SharePhotoContent
. وللحصول على قائمة بكل السمات، يمكنك الرجوع إلى مرجع SharePhotoContent
.
Bitmap image = ... SharePhoto photo = new SharePhoto.Builder() .setBitmap(image) .build(); SharePhotoContent content = new SharePhotoContent.Builder() .addPhoto(photo) .build();
يمكن للأشخاص الذين يستخدمون تطبيقك مشاركة مقاطع الفيديو إلى فيسبوك من خلال مربع الحوار مشاركة.
أنشئ محتوى المشاركة لمقاطع الفيديو في النموذج ShareVideoContent
. وللحصول على قائمة بكل السمات، يمكنك الرجوع إلى مرجع ShareVideoContent
.
Uri videoFileUri = ... ShareVideo = new ShareVideo.Builder() .setLocalUrl(videoUrl) .build(); ShareVideoContent content = new ShareVideoContent.Builder() .setVideo(video) .build();
يمكن للأشخاص مشاركة مزيج من الصور ومقاطع الفيديو من تطبيقك إلى فيسبوك باستخدام مربع حوار المشاركة. لاحظ ما يلي:
أنشئ محتوى مشاركة الوسائط المتعددة باستخدام النموذج ShareMediaContent
. وللحصول على قائمة بكل السمات، يمكنك الرجوع إلى مرجع ShareMediaContent
.
SharePhoto sharePhoto1 = new SharePhoto.Builder() .setBitmap(...) .build(); SharePhoto sharePhoto2 = new SharePhoto.Builder() .setBitmap(...) .build(); ShareVideo shareVideo1 = new ShareVideo.Builder() .setLocalUrl(...) .build(); ShareVideo shareVideo2 = new ShareVideo.Builder() .setLocalUrl(...) .build(); ShareContent shareContent = new ShareMediaContent.Builder() .addMedium(sharePhoto1) .addMedium(sharePhoto2) .addMedium(shareVideo1) .addMedium(shareVideo2) .build(); ShareDialog shareDialog = new ShareDialog(...); shareDialog.show(shareContent, Mode.AUTOMATIC);
بعد معالجة المحتوى عن طريق إنشاء طراز، شغّل واجهة مشاركة على فيسبوك.
يوفر فيسبوك أزرارًا أصلية لنظام التشغيل Android لتشغيل المشاركة.
يعمل الزر مشاركة على استدعاء مربع الحوار مشاركة. ولإضافة الزر مشاركة، أضف جزء الرمز البرمجي التالي إلى طريقة العرض لديك:
ShareButton shareButton = (ShareButton)findViewById(R.id.fb_share_button); shareButton.setShareContent(content);
يتم من خلال مربع الحوار مشاركة التبديل إلى تطبيق فيسبوك لنظام التشغيل Android الأصلي، ثم يقوم بإرجاع عنصر التحكم إلى تطبيقك بعد نشر المنشور. بناءً على مجموعة SDK التي تستخدمها، قد يحتاج الأشخاص إلى الضغط على أيقونة السهم للخلف للرجوع إلى تطبيقك. وفي حالة عدم تثبيت تطبيق فيسبوك، فسيعود مربع الحوار مشاركة تلقائيًا إلى مربع الحوار المستند إلى الويب.
ShareDialog.show(activityOrFragment, content);
على سبيل المثال، لعرض ShareDialog
لرابط في نشاطك، أنشئ المثيل ShareDialog
في الأسلوب onCreate
لديك:
public class MainActivity extends FragmentActivity { CallbackManager callbackManager; ShareDialog shareDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); callbackManager = CallbackManager.Factory.create(); shareDialog = new ShareDialog(this); // this part is optional shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() { ... }); }
بعد ذلك، اعرض ShareDialog:
if (ShareDialog.canShow(ShareLinkContent.class)) { ShareLinkContent linkContent = new ShareLinkContent.Builder() .setContentUrl(Uri.parse("http://developers.facebook.com/android")) .build(); shareDialog.show(linkContent); }
وأخيرًا، قم باستدعاء callbackManager
لمجموعة SDK في onActivityResult
لمعالجة الاستجابة:
@Override protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); }
إذا كنت تستخدم أجزاء أو أنشطة AndroidX، فلا داعي لتجاوز onActivityResult
.
يتم من خلال مربع الحوار "رسالة" التبديل إلى تطبيق Messenger لنظام التشغيل Android الأصلي، ثم يقوم بإرجاع عنصر التحكم إلى تطبيقك بعد نشر المنشور. بناءً على مجموعة SDK التي تستخدمها، قد يحتاج الأشخاص إلى الضغط على أيقونة السهم للخلف للرجوع إلى تطبيقك.
MessageDialog.show(activityOrFragment, content);
يمكنك تحديد ظهور علامة هاشتاج واحدة مع الصورة أو الرابط أو مقطع الفيديو الذي تتم مشاركته. تظهر علامة الهاشتاج هذه في مربع حوار المشاركة، ويمكن للأشخاص إزالتها قبل النشر.
فيما يلي مثال على إضافة علامة هاشتاج إلى رابط مشاركة.
ShareLinkContent content = new ShareLinkContent.Builder() .setContentUrl(Uri.parse("https://developers.facebook.com")) .setShareHashtag(new ShareHashtag.Builder() .setHashtag("#ConnectTheWorld") .build()); .build();
في الإصدارات السابقة من مجموعة Facebook SDK لنظام Android، كان يجب أن يتحقق التطبيق من وجود تطبيق فيسبوك أصلي مثبت حتى يتمكن من فتح مربع الحوار مشاركة. إذا لم يكن التطبيق مثبتًا لدى الشخص، فسيتعين عليك تقديم الرمز الخاص بك لاستدعاء مربع حوار احتياطي.
تتحقق الآن مجموعة SDK تلقائيًا من وجود تطبيق فيسبوك أصلي. وإذا لم يتم تثبيته، فستقوم مجموعة SDK بتحويل الأشخاص إلى المتصفح الافتراضي وفتح مربع حوار الأخبار.
يمكن باستخدام روابط التطبيق إعادة الربط بتطبيقك من منشورات فيسبوك التي تم نشرها منه. وعندما ينقر الأشخاص على منشور فيسبوك تم نشره من تطبيقك، يتم فتح تطبيقك ويمكنك الربط بمحتوى معين في تطبيقك.