المشاركة على نظام التشغيل iOS

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

يمكن العثور على تفاصيل إضافية حول FB iOS SDK هنا.

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

المتطلبات الأساسية

قبل إضافة ميزة المشاركة إلى تطبيقك، يجب إجراء ما يلي:

  • إضافة مجموعة Facebook 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 إلى أداة تصحيح أخطاء المشاركة.

الصور

يستطيع الأشخاص مشاركة الصور من تطبيقك إلى فيسبوك باستخدام مربع الحوار مشاركة أو من خلال واجهة مخصصة:

  • يجب أن يقل حجم الصور عن 12 ميجابايت
  • يجب على المستخدمين تثبيت تطبيق فيسبوك لنظام iOS الأصلي، بالإصدار 7.0 أو إصدار أحدث

أنشئ محتوى المشاركة للصور باستخدام النموذج 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
}

مقاطع الفيديو

يستطيع الأشخاص مشاركة مقاطع الفيديو من تطبيقك إلى فيسبوك باستخدام مربع الحوار مشاركة أو من خلال واجهة مخصصة:

  • يجب أن يقل حجم مقاطع الفيديو عن 50 ميجابايت.
  • يجب على الأشخاص تثبيت عميل فيسبوك لنظام iOS، بالإصدار 26.0 أو إصدار أحدث.

أنشئ محتوى المشاركة لمقاطع الفيديو باستخدام النموذج 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)
    }
}

الوسائط المتعددة

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

  • يجب على الأشخاص الذين يقومون بالمشاركة تثبيت عميل فيسبوك لنظام iOS.
  • يجب أن يقل حجم الصور عن 12 ميجابايت، ويقل حجم مقاطع الفيديو عن 50 ميجابايت.
  • يمكن للأشخاص مشاركة مقطع فيديو واحد بالإضافة إلى 29 صورة أو 30 صورة كحد أقصى.

أنشئ محتوى مشاركة الوسائط المتعددة باستخدام النموذج 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

يتضمن نظام 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 لذلك يمكن إجراء حالة الاختبار هذه. لاختبار سيناريوهات المشاركة الأخرى، يمكنك إعداد جهاز اختباري فعلي من خلال تثبيت فيسبوك لنظام iOS.