بدء استخدام أحداث التطبيق في نظام 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. انقر على إضافة حزمة لإكمال الإعداد.

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

  1. في لوحة معلومات التطبيق ضمن إعدادات التطبيق > الأساسية مرّر لأسفل وانقر على + إضافة منصة.
  2. مرّر لأسفل إلى البطاقة iOS وأضف معرف الحزمة. ابحث عن معرف الحزمة في هدف تطبيق iOS لمشروع Xcode. يمكنك تحديث معرف الحزمة الخاص بك في أي وقت.

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

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

@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 FBSDKCoreKit
  ...
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. للرجوع عن تسجيل هذا الحدث، قم بتعطيل الأحداث المسجلة تلقائيًا.

الأحداث التي يتم تسجيلها تلقائيًا عند الشراء داخل التطبيق

توفر Apple أربعة أنواع مختلفة من عمليات الشراء داخل التطبيق: العناصر الاستهلاكية، والعناصر غير الاستهلاكية، والاشتراك القابل للتجديد تلقائيًا، والاشتراك غير المتجدد. إذا قمت بتنفيذ عمليات الشراء داخل التطبيق من خلالStoreKit 1، فسنقوم تلقائيًا بتسجيل كل أنواع عمليات الشراء داخل التطبيق هذه. إذا قمت بتنفيذ عمليات الشراء داخل التطبيق من خلال مع StoreKit 2، فسنقوم تلقائيًا بتسجيل العناصر غير القابلة للاستهلاك والاشتراكات القابلة للتجديد تلقائيًا والاشتراكات غير المتجددة. إذا كنت ترغب في تسجيل العناصر الاستهلاكية تلقائيًا أيضًا، فستحتاج إلى إضافة مفتاح SKIncludeConsumableInAppPurchaseHistory إلى Info.plist:

<key>SKIncludeConsumableInAppPurchaseHistory</key>

<true/>

في StoreKit 1، سنقوم تلقائيًا بتسجيل الحدث عندما يقوم المستخدم بشراء منتج بنجاح أو استعادة منتج ما أو محاولة شراء منتج ولكن عملية الشراء تفشل. في Store Kit 2، سنقوم تلقائيًا بتسجيل الحدث عندما يقوم المستخدم بشراء منتج بنجاح أو استعادة منتج ما. إذا كنت ترغب في تسجيل الحدث أيضًا عند فشل عملية شراء في Store Kit 2، فقد قمنا بتوفيرAPI يدوية يجب استدعاؤها. يمكنك استدعاء API هذه في دفق الشراء الخاص بـ StoreKit 2 بالطريقة التالية:

do {
   let result = try await product.purchase()
   switch result {
   case .success(let verificationResult):
       // Handle success case
   case .pending:
       // Handle pending case
   default:
       AppEvents.shared.logFailedStoreKit2Purchase(product.id)
   }
} catch {
   AppEvents.shared.logFailedStoreKit2Purchase(product.id)
}


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

بدايةً من الإصدار 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"))

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

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

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

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

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

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

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

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

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

تعرَّف على المزيد

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

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