بدء استخدام أحداث التطبيقات (iOS)

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

تم إجراء تغييرات على مجموعة Facebook SDK لنظام iOS. ونوصي بالترقية إلى الإصدار الجديد من مجموعة Facebook SDK لنظام iOS. لمزيد من المعلومات حول هذا التغيير، يمكنك الرجوع إلى القسم "موافقة الجهاز".

قبل البدء

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

الخطوة الأولى: تكوين تطبيقك على فيسبوك

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

مرّر لأسفل الصفحة وانقر على إضافة منصة. اختر iOS وأضف التفاصيل، ثم احفظ التغييرات التي أجريتها.

قم بإعداد تطبيقك للإعلان عن طريق إضافة التفاصيل التالية:

  • نطاقات التطبيق - أدخل عنوان URL لمتجر App Store الخاص بتطبيقك.
  • عنوان URL لسياسة الخصوصية - احرص على توفير عنوان URL لسياسة الخصوصية. ويجب توفيره لجعل تطبيقك متوفرًا للعامة.
  • عنوان URL لشروط الخدمة - احرص على توفير عنوان URL لشروط الخدمة.
  • المنصة - مرّر لأسفل لوحة الإعدادات لإضافة منصة نظام iOS.

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

الخطوة الثانية: ربط الإعلان وحسابات الأعمال

لتشغيل الإعلانات وقياس عمليات التثبيت في مدير الإعلانات، يجب ربط حساب إعلاني وحساب أعمال واحد على الأقل بالتطبيق.

  1. في لوحة معلومات التطبيق انقر على الإعدادات > الإعدادات المتقدمة.
  2. في معرفات الحسابات الإعلانية المُعتمدة، أضف معرفات الحسابات الإعلانية لديك. يمكنك الحصول على معرفات حسابك الإعلاني من مدير الإعلانات.
  3. في لوحة تحكم الحسابات الإعلانية، انقر على بدء الاستخدام، واتبع الإرشادات لربط التطبيق بالنشاط التجاري.

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

يستخدم الإجراء التالي مدير حزمة Swift لإعداد بيئة التطوير في Xcode.

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

الخطوة الرابعة: التسجيل وتكوين تطبيقك للعمل مع فيسبوك

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

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

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

يمكنك تكوين الملف 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]
    )
}

الخطوة السابعة: إضافة أحداث التطبيق

تتوفر ثلاث طرق لتتبع الأحداث في تطبيقك:

منصة App Store Connect لنظام iOS 14

بالنسبة للأحداث التي يجمعها تطبيقك ويرسلها إلى فيسبوك، قد يتعين عليك الكشف عن أنواع هذه البيانات في الاستبيان الخاص بمنصة App Store Connect. تتحمل أنت مسؤولية ضمان توضيح ذلك في سياسة الخصوصية المتعلقة بتطبيقك. تفضل بزيارة مقالة تفاصيل الخصوصية في متجر App Store من Apple لمعرفة المزيد حول أنواع البيانات التي ستحتاج إلى الكشف عنها.

الأحداث التي يتم تسجيلها تلقائيًا

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

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

الحدثالتفاصيل

تثبيت التطبيق

في أول مرة يقوم فيها مستخدم جديد بتنشيط تطبيق أو عند بدء تشغيل أحد التطبيقات على جهاز معين لأول مرة.

تشغيل التطبيق

عندما يُشغل شخص ما تطبيقك، تتم تهيئة مجموعة Facebook SDK ويتم تسجيل الحدث. مع ذلك، في حالة حدوث حدث تشغيل تطبيق ثانٍ في غضون 60 ثانية من الحدث الأول، فلن يتم تسجيل حدث تشغيل التطبيق الثاني.

الشراء داخل التطبيق

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

الإبلاغ عن المشكلات في مجموعة Facebook SDK

(للاستخدام في فيسبوك فقط.)

إذا تعطل تطبيقك بسبب مجموعة Facebook SDK، يتم إنشاء بلاغ أعطال وإرساله إلى فيسبوك عند إعادة تشغيل التطبيق. لا يحتوي هذا البلاغ على أي بيانات مستخدم ويساعد فيسبوك في ضمان جودة وثبات مجموعة SDK. للرجوع عن تسجيل هذا الحدث، قم بتعطيل الأحداث المسجلة تلقائيًا.

الحصول على موافقة الجهاز

بدايةً من الإصدار iOS 14.5، ستحتاج إلى تعيين isAdvertiserTrackingEnabled والتسجيل في كل مرة تمنح فيها الجهاز إذنًا لمشاركة البيانات مع فيسبوك.

إذا قدم الجهاز الموافقة، فيمكنك تعيين Settings.shared.isAdvertiserTrackingEnabled = true.

إذا لم يسمح الجهاز بالتتبع، فيمكنك تعيين Settings.shared.isAdvertiserTrackingEnabled = false.

تعطيل الأحداث المسجلة تلقائيًا

لتعطيل التسجيل التلقائي للأحداث، افتح ملف Info.plist للتطبيق كرمز في Xcode وقم بإضافة XML التالي إلى قاموس الأصل لديك:

<key>FacebookAutoLogAppEventsEnabled</key>
<false/>

في بعض الحالات، قد ترغب في تأخير جمع الأحداث التي تم تسجيلها تلقائيًا، مثل الحصول على موافقة المستخدم أو الوفاء بالالتزامات القانونية، بدلاً من تعطيلها. في هذه الحالة، قم بتعيين Settings.shared.isAutoLogAppEventsEnabled = true لإعادة تمكين التسجيل التلقائي بعدما يمنح المستخدم النهائي موافقته.

لتعليق التجميع مجددًا لأي سبب، قم بتعيين Settings.shared.isAutoLogAppEventsEnabled = false.

يمكنك أيضًا تعطيل التسجيل التلقائي لأحداث الشراء داخل التطبيق باستخدام لوحة معلومات التطبيق. انتقل إلى بطاقة iOS ضمن أساسي>الإعدادات، ثم قم بتبديل المفتاح إلى لا.

تعطيل تجميع معرفات المعلنين

لتعطيل تجميع advertiser-id، افتح ملف .plist للتطبيق كرمز في Xcode وقم بإضافة XML التالي إلى قاموس الأصل لديك:

<key>FacebookAdvertiserIDCollectionEnabled</key>
<false/>

في بعض الحالات، قد ترغب في تأخير تجميع advertiser_id، مثل الحصول على موافقة المستخدم أو تلبية الالتزامات القانونية، بدلاً من تعطيلها. في هذه الحالة، قم بتعيين Settings.shared.isAdvertiserIDCollectionEnabled = true بعدما يمنح المستخدم النهائي موافقته.

لتعليق التجميع لأي سبب، قم بتعيين Settings.shared.isAdvertiserIDCollectionEnabled = false.

تسجيل الأحداث يدويًا

لتسجيل حدث مخصص، ما عليك سوى إدخال اسم الحدث على أنه AppEvents.Name:

AppEvents.shared.logEvent(AppEvents.Name("battledAnOrc"))

معلمات الأحداث

أنشأ فيسبوك مجموعة من معلمات الأحداث المفيدة لتضمينها مع الأحداث القياسية أو مع الأحداث المخصصة لديك. ويمكنك أيضًا توفير المعلمات الخاصة بك.

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

يتم إدخال المعلمات عبر قاموس حيث يحمل المفتاح اسم المعلمة على أنه AppEvents.ParameterName، ويجب أن تكون بالقيمة String أو رقم (Int وDouble، إلخ).

الخطوة الثامنة: اختبار الأحداث

يتيح لك مساعد إعلانات التطبيق اختبار أحداث التطبيق في تطبيقك للتأكد من أن تطبيقك يرسل الأحداث إلى فيسبوك.

  1. افتح مساعد إعلانات التطبيق.
  2. من تحديد تطبيق، اختر تطبيقك ثم إرسال.
  3. مرّر لأسفل واختر اختبار الحدث.
  4. ابدأ تشغيل تطبيقك وأرسل حدثًا. من المفترض أن يظهر الحدث في الصفحة.

إذا كنت تخطط لتحسين/تتبع الأحداث في حملات SKAdNetwork الإعلانية، فستحتاج أيضًا إلى تكوين أولوية الحدث بشكل مناسب (التي تُعرف أيضًا باسم قيمة التحويل) حتى يتمكن فيسبوك من تلقي التحويلات بشكل صحيح. يمكنك الحصول على مزيد من التفاصيل هنا.

معرفة المزيد

أمثلة على التطبيقات

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