بدء استخدام مجموعة Facebook SDK لنظام iOS

يعرض لك هذا الدليل كيفية دمج تطبيق iOS مع فيسبوك باستخدام مجموعة Facebook SDK لنظام iOS.

بدءًا من الإصدار 13.0 لمجموعة SDK، يلزم توفير رمز البرنامج لكل الاستدعاءات إلى Graph API.

تعمل مجموعة Facebook SDK على تمكين:

قبل البدء

ستحتاج إلى ما يلي:

الخطوة الأولى: إعداد بيئة التطوير

  1. في Xcode، انقر على الملف > حزم Swift > إضافة تبعية الحزمة.
  2. في مربع الحوار الذي يظهر، أدخل عنوان URL للمستودع: https://github.com/facebook/facebook-ios-sdk.
  3. في الإصدار، حدّد وصولاً إلى الإصدار الرئيسي التالي وحدّد الخيار الافتراضي.
  4. أكمل المطالبات لتحديد المكتبات التي تريد استخدامها في مشروعك.
  5. إذا كنت تريدإضافة هذه الحزمة إلى مشروعك

    السماح لتطبيقك باستخدام خدمات فيسبوك

    FacebookCore

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

    FacebookLogin

    السماح لتطبيقك بمشاركة المحتوى على فيسبوك

    FacebookShare

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

    FacebookGamingServices

الخطوة الثانية: تكوين مشروعك

يمكنك تكوين الملف Info.plist بجزء رمز برمجي في ملف بلغة XML يحتوي على بيانات حول تطبيقك.

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

  1. انقر بزر الماوس الأيمن على الملف Info.plist، واختر فتح ▸ كرمز برمجي مصدر.
  2. انسخ جزء الرمز البرمجي الموجود في ملف XML والصقه داخل النص الأساسي للملف (<dict>...</dict>).
    <key>CFBundleURLTypes</key>
    <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
        <string>fbAPP-ID</string>
      </array>
      </dict>
    </array>
    <key>FacebookAppID</key>
    <string>APP-ID</string>
    <key>FacebookClientToken</key>
    <string>CLIENT-TOKEN</string>
    <key>FacebookDisplayName</key>
    <string>APP-NAME</string>
  3. في <array><string> الموجود ضمن [CFBundleURLSchemes] الأساسي، استبدل APP-ID بمعرف التطبيق لديك.
  4. في <string> الموجود ضمن FacebookAppID الأساسي، استبدلAPP-ID بمعرف التطبيق لديك.
  5. في <string> الموجود ضمن FacebookClientToken الأساسي، استبدل CLIENT-TOKEN بالقيمة الموجودة ضمن الإعدادات > متقدم > رمز العميل في لوحة معلومات تطبيقك.
  6. في <string> الموجود ضمن FacebookDisplayName الأساسي، استبدل APP-NAME باسم تطبيقك.
  7. لاستخدام أحد مربعات حوار فيسبوك (مثل، تسجيل الدخول أو المشاركة أو دعوات التطبيق أو غير ذلك) التي يمكن من خلالها إجراء تبديل التطبيق إلى تطبيقات فيسبوك، يجب أن يحتوي الملف Info.plist في تطبيقك أيضًا على:
    <key>LSApplicationQueriesSchemes</key>
    <array>
      <string>fbapi</string>
      <string>fb-messenger-share-api</string>
    </array>

يمكنك بشكل مباشر تعيين التجميع التلقائي لأحداث التطبيق على "true" أو "false" عن طريق إضافة FacebookAutoLogAppEventsEnabled كمفتاح في Info.plist.

سيحتاج المشروع إلى تضمين إمكانية "مشاركة سلسلة المفاتيح" لتسجيل الدخول للعمل في تطبيقات Mac Catalyst.
  1. حدّد الزر + إمكانية في علامة تبويب التسجيل والإمكانيات عند تكوين هدف التطبيق.
  2. ابحث عن إمكانية مشاركة سلسلة المفاتيح وحددها.
  3. تأكد من إدراج إمكانية مشاركة سلسلة المفاتيح للهدف.

الخطوة الثالثة: ربط تفويض التطبيق

استبدل الرمز في الأسلوب AppDelegate.swift بالرمز التالي. يعمل هذا الرمز على تهيئة مجموعة SDK عند تشغيل التطبيق ويسمح لمجموعة SDK بمعالجة تسجيلات الدخول والمشاركة من تطبيق فيسبوك الأصلي عند تنفيذ إجراء تسجيل الدخول أو المشاركة. من ناحية أخرى، يجب على المستخدم تسجيل الدخول إلى فيسبوك لاستخدام المتصفح داخل التطبيق لتسجيل الدخول.
    
// AppDelegate.swift
import UIKit
import FacebookCore

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {    
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {          
        ApplicationDelegate.shared.application(
            application,
            didFinishLaunchingWithOptions: launchOptions
        )

        return true
    }
          
    func application(
        _ app: UIApplication,
        open url: URL,
        options: [UIApplication.OpenURLOptionsKey : Any] = [:]
    ) -> Bool {
        ApplicationDelegate.shared.application(
            app,
            open: url,
            sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
            annotation: options[UIApplication.OpenURLOptionsKey.annotation]
        )
    }  
}

نقل نظام iOS 13 وظائف عنوان URL الافتتاحي إلى SceneDelegate. إذا كنت تستخدم iOS 13، فأضف الأسلوب التالي إلى SceneDelegate حتى يتم تشغيل العمليات مثل تسجيل الدخول أو المشاركة كما هو مطلوب:
// SceneDelegate.swift
import FacebookCore
  ...
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
    guard let url = URLContexts.first?.url else {
        return
    }

    ApplicationDelegate.shared.application(
        UIApplication.shared,
        open: url,
        sourceApplication: nil,
        annotation: [UIApplication.OpenURLOptionsKey.annotation]
    )
}

الخطوة الرابعة: إنشاء المشروع ثم تشغيله في المحاكي

في Xcode، حدد محاكي نظام iOS وانقر على تشغيل. يعمل Xcode على إنشاء مشروعك، ثم يقوم بتشغيل أحدث إصدار من تطبيقك الذي يكون قيد التشغيل في المحاكي.

الخطوة الخامسة: الاطّلاع على النتائج في مدير الأحداث

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

الخطوات التالية

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

المشاركة في نظام iOSإضافة تسجيل دخول فيسبوكإضافة أحداث التطبيقاستخدام واجهة Graph API
تكوين متقدم