بعد دمج تسجيل دخول فيسبوك أو المشاركة على فيسبوك أو Facebook Gaming، يتم تسجيل بعض من أحداث التطبيق وتجميعها في مدير الأحداث، ما لم تقم بتعطيل التسجيل التلقائي لحدث التطبيق. نوصي كل مطوّري التطبيقات الذين يستخدمون تسجيل دخول فيسبوك أو المشاركة على فيسبوك أو Facebook Gaming بالتعرف على كيفية عمل هذه الوظيفة. للحصول على المزيد من التفاصيل حول المعلومات التي يتم تجميعها وكيفية تعطيل التسجيل التلقائي لحدث التطبيق، يمكنك الرجوع إلى التسجيل التلقائي لحدث التطبيق.
يمكن العثور على تفاصيل إضافية حول FB iOS SDK هنا.
يعرض هذا الدليل تفاصيل حول كيفية تمكين المشاركة من تطبيق iOS إلى فيسبوك. وعندما يقوم شخص ما بالمشاركة من تطبيقك، يظهر المحتوى الخاص به في يومياته وصفحات الموجز لدى الأصدقاء.
قبل إضافة ميزة المشاركة إلى تطبيقك، يجب إجراء ما يلي:
.plist
لتطبيقك.FBSDKShareKit.framework
بمشروعك.يجب ألا يملأ تطبيقك مسبقًا أي محتوى ستتم مشاركته. علمًا بأن ذلك غير متوافق مع سياسة منصة فيسبوك، يمكنك الرجوع إلى سياسات المطوّرين.
بدء استخدام مجموعة SDK لنظام iOSيتضمن كل نوع من أنواع المحتوى واجهة يمكنك استخدامها للعرض بما يتوافق مع SharingContent
. وبعد إعداد نماذج المحتوى، أضف واجهة مشاركة إلى تطبيقك بما يتوافق مع Sharing
أو استخدم الفئة ShareDialog
المتوفرة.
عند مشاركة الأشخاص للروابط من تطبيقك إلى فيسبوك، فإنها تتضمن contentURL
مع الرابط الذي تتم مشاركته. ويمكنك إنشاء محتوى مشاركة للروابط باستخدام النموذج ShareLinkContent
.
فيما يلي مثال على طريقة تشغيل ميزة المشاركة:
guard let url = URL(string: "https://developers.facebook.com") else { // handle and return } let content = ShareLinkContent() content.contentURL = url let dialog = ShareDialog( viewController: self, content: content, delegate: self ) dialog.show()
ملاحظة: إذا كان تطبيقك يشارك روابط إلى متجر iTunes أو Google Pla، فإننا لا ننشر أي صور أو أوصاف تحددها في المشاركة. وبدلاً من نشر بعض المعلومات عن التطبيق، نحصل عليها من متجر التطبيقات مباشرة باستخدام أحد برامج Webcrawler. قد لا يتضمن ذلك صورًا. لمعاينة مشاركة الرابط في iTunes أو Google Play، أدخل عنوان URL إلى أداة تصحيح أخطاء المشاركة.
يستطيع الأشخاص مشاركة الصور من تطبيقك إلى فيسبوك باستخدام مربع الحوار مشاركة أو من خلال واجهة مخصصة:
أنشئ محتوى المشاركة للصور باستخدام النموذج SharePhotoContent
.
func imagePickerController( _ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any] ) { guard let image = info[.originalImage] as? UIImage else { // handle and return return } let photo = SharePhoto( image: image, userGenerated: true ) var content = SharePhotoContent() content.photos = [photo] // use the content }
يستطيع الأشخاص مشاركة مقاطع الفيديو من تطبيقك إلى فيسبوك باستخدام مربع الحوار مشاركة أو من خلال واجهة مخصصة:
أنشئ محتوى المشاركة لمقاطع الفيديو باستخدام النموذج FBSDKShareVideoContent
. للحصول على قائمة بكل السمات، راجع مرجع FBSDKShareVideoContent
.
func imagePickerController( _ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any] ) { let video: ShareVideo if #available(iOS 11, *) { guard let videoAsset = info[.phAsset] as? PHAsset else { return } video = ShareVideo(videoAsset: videoAsset) } else { guard let url = info[.referenceURL] as? URL else { return } video = ShareVideo(videoURL: url) } }
يمكن لمستخدمي تطبيقك مشاركة مزيج من الصور ومقاطع الفيديو إلى فيسبوك باستخدام مربع حوار المشاركة. لاحظ ما يلي:
أنشئ محتوى مشاركة الوسائط المتعددة باستخدام النموذج ShareMediaContent
.
let photo = SharePhoto(...) let video = ShareVideo(...) var content = ShareMediaContent() content.media = [photo, video]
بعد معالجة المحتوى من خلال إنشاء نموذج، يمكنك تشغيل مربع الحوار "مشاركة" أو مربع الحوار "رسالة".
في iOS، يضم فيسبوك الأزرار الأصلية لتشغيل عمليات المشاركة.
باستخدام الزر مشاركة، ستسمح للأشخاص بمشاركة المحتوى على يومياتهم في فيسبوك أو على يوميات أحد الأصدقاء أو في مجموعة. يعمل الزر مشاركة على استدعاء مربع الحوار مشاركة. ولإضافة الزر مشاركة إلى طريقة العرض، أضف جزءًا من الرمز البرمجي التالي إلى طريقة العرض لديك:
var button = FBShareButton() button.shareContent = content // Add button to view
يتيح الزر إرسال للأشخاص إمكانية إرسال صور، ومقاطع فيديو، وروابط بخصوصية إلى أصدقائهم وجهات الاتصال لديهم باستخدام تطبيق Messenger من فيسبوك. يعمل الزر إرسال على استدعاء مربع الحوار رسالة. ولإضافة الزر إرسال إلى طريقة العرض، أضف جزءًا من الرمز البرمجي التالي إلى طريقة العرض لديك:
var button = SendButton() button.shareContent = content // Add button to view
إذا لم يكن تطبيق Messenger مثبتًا، فسيتم تعتيم الزر إرسال. للتحقق مما إذا كان يمكن استخدام الزر إرسال على الجهاز الحالي أم لا، استخدم isImplicitlyDisabled
لخاصية SendButton
:
لاستخدام تجارب المشاركة المصممة لفيسبوك، يمكنك تحديد المحتوى على النحو الموضح في قسم إعداد نماذج المحتوى أعلاه، وبعد ذلك قم باستدعاء مربع الحوار مشاركة. فعلى سبيل المثال، لمشاركة رابط من خلال مربع الحوار مشاركة:
guard let url = URL(string: "https://developers.facebook.com") else { // handle and return } let content = ShareLinkContent() content.contentURL = url let dialog = ShareDialog( viewController: self, content: content, delegate: self ) dialog.show()
في الإصدارات السابقة من مجموعة SDK لنظام iOS، كان يجب أن يتحقق التطبيق من وجود تطبيق فيسبوك أصلي مثبت حتى يتمكن من فتح مربع الحوار مشاركة. إذا لم يكن التطبيق مثبتًا لدى الشخص، فسيتعين عليك تقديم الرمز الخاص بك لاستدعاء مربع حوار احتياطي.
تتحقق الآن مجموعة SDK تلقائيًا من وجود تطبيق فيسبوك أصلي. وإذا لم يتم تثبيته، فستقوم مجموعة SDK بتحويل الأشخاص إلى المتصفح الافتراضي وفتح مربع حوار الأخبار.
إذا تم تثبيت تطبيق فيسبوك الأصلي، فسيظهر للأشخاص صحيفة مشاركة نظام iOS بدلاً من التبديل إلى تطبيق فيسبوك الأصلي لنظام iOS.
يقوم مربع الحوار رسالة بالتبديل إلى تطبيق Messenger الأصلي لنظام iOS، ثم يتم إرجاع التحكم إلى تطبيقك بعد نشر المنشور.
MessageDialog(content: content, delegate: delegate).show()
ملاحظة: في الوقت الحالي، لا تدعم أجهزة iPad مربع الحوار رسالة.
يتضمن نظام iOS صحيفة مشاركة أصلية تتيح للأشخاص نشر تحديثات الحالة والصور ومقاطع الفيديو والروابط إلى فيسبوك ويتضمن دعمًا لإعداد الجمهور للمنشور والإشارة إلى المنشور من خلال موقع. تدعم مجموعة Facebook SDK استخدام وحدة التحكم الأصلية هذه، وهذه التجربة سيشاهدها الأشخاص في معظم الحالات عند استدعاء مربع الحوار مشاركة على فيسبوك.
يخضع استخدام صحيفة مشاركة نظام iOS لسياسات المطوّرين، بما في ذلك القسم 2.3 الذي ينص على أنه لا يجوز للتطبيقات ملء البيانات مسبقًا في سياق صحيفة المشاركة. ويعني ذلك أن التطبيقات قد لا تتمكّن من ملء الحقل initialText في صحيفة المشاركة مسبقًا بالمحتوى الذي لم يقم مستخدم التطبيق بإدخاله.
تستخدم واجهة API هذه أيضًا قالب النمط ذاته مثل الأجزاء الأخرى من Facebook SDK. ولإظهار مربع الحوار مشاركة لنظام iOS الأصلي، استخدم:
let dialog = ShareDialog( viewController: self, content: content, delegate: nil ) dialog.mode = .shareSheet dialog.show()
لاحظ أن الوسيطة viewController
مطلوبة لإظهار صحيفة المشاركة.
يمكنك تحديد ظهور علامة هاشتاج واحدة مع الصورة أو الرابط أو مقطع الفيديو الذي تتم مشاركته. تظهر علامة الهاشتاج هذه في مربع حوار المشاركة، ويمكن للأشخاص إزالتها قبل النشر.
فيما يلي مثال على إضافة علامة هاشتاج إلى رابط مشاركة.
let content = ShareLinkContent() guard let url = URL(string: "https://developers.facebook.com") else { return } content.contentURL = url content.hashtag = Hashtag("#MadeWithHackbook")
باستخدام روابط التطبيق يمكنك إدخال رابط للعودة إلى تطبيقك من منشورات فيسبوك التي تم نشرها من تطبيقك.
عندما ينقر الأشخاص على منشور فيسبوك تم نشره من تطبيقك، يتم فتح تطبيقك ويمكنك الربط بمحتوى معين في تطبيقك.
إذا كنت تستخدم المحاكي لاختبار المشاركة في تطبيقك، فستظهر لك أخطاء إذا حاولت مشاركة مقاطع فيديو أو صور. ويرجع السبب في ذلك إلى ضرورة تثبيت فيسبوك لنظام iOS الذي يوفر مربع الحوار مشاركة. ولا يتم دعم هذه الميزة للمحاكي.
في حالات مشاركة الرابط، لن تحتاج إلى تثبيت فيسبوك لنظام iOS لذلك يمكن إجراء حالة الاختبار هذه. لاختبار سيناريوهات المشاركة الأخرى، يمكنك إعداد جهاز اختباري فعلي من خلال تثبيت فيسبوك لنظام iOS.