التوافق مع نظام التشغيل iOS 14

في نظام iOS 14.5، تطلب Apple من المطوّرين الحصول على إذن المستخدم. من خلال إطار عمل "شفافية تتبّع التطبيقات" لتتبّعها أو الوصول إلى المعرِّف الإعلاني للجهاز (IDFA). عرض خصوصية المستخدم واستخدام البيانات في Apple أو شفافية تتبُّع التطبيقات من Apple للحصول على المزيد من التفاصيل.

منتجات Firebase المتأثّرة

ولا يمكن لحِزم تطوير البرامج (SDK) لمنصة Firebase الوصول إلى معرّف المعلِنين (IDFA)، على الرغم من أنّ بعضها يتضمّن عمليات دمج مع Google Analytics التي قد تتضمّن الوصول إلى معرّف المعلِنين (IDFA).

يسرد الجدول أدناه منتجات Firebase المتوفّرة على أنظمة Apple الأساسية. وتشرح كيفية تأثُّر وظائف كلّ منتج إذا لم يتمّ تحديد معرّف المعلِنين (IDFA) إليه على الفور.

Product التأثير في حال تعذُّر الوصول إلى معرّف المعلِنين (IDFA)
A/B Testing بعض بيانات الاستهداف (مثل الخصائص الديمغرافية) في عملية دمج A/B Testing التي تحدث مع Google Analytics هي من معرّف المعلِنين (IDFA). في التطبيقات التي لا تتضمّن بالوصول إلى معرّف المعلِنين (IDFA)، فإن هذا الاستهداف غير متاح.
App Check ليس هناك أي تأثير
App Distribution ليس هناك أي تأثير
Authentication ما مِن تأثير على مستوى Authentication ومقدّمي خدمة "Authentication" التابعين للطرف الأول. مثل تسجيل الدخول بحساب Google ومصادقة الهاتف.
Crashlytics ليس هناك أي تأثير. دمج "Crashlytics" مع "Google Analytics" توفّر مسارات التنقل وبيانات الأعطال في الوقت الفعلي لا تعتمد على معرّف المعلِنين (IDFA).
Dynamic Links ما مِن تأثير في وظائف فتح الروابط. عند الاستخدام مع Google Analytics، عملية تحديد المصدر لأحداث الإحالات الناجحة باستخدام الرابط هي غير متاح.
Cloud Firestore ليس هناك أي تأثير
Cloud Functions ليس هناك أي تأثير
In-App Messaging ليس هناك أي تأثير
عمليتا تثبيت (Firebase) ليس هناك أي تأثير
رقم تعريف المثيل ليس هناك أي تأثير
Cloud Messaging عند استخدام "Google Analytics" مع "Google Analytics"، سيكون تسجيل بعض أحداث الإحالات الناجحة ذات الصلة بـ FCM تلقائيًا. معلومات تحديد المصدر لهذه الأحداث تتطلب الوصول إلى معرّف المعلِنين (IDFA).
Firebase ML ليس هناك أي تأثير
Performance Monitoring ليس هناك أي تأثير
Remote Config عند استخدامه مع Google Analytics، لا يسمح النطاق Remote Config خصائص المستخدمين التي يتم إنشاؤها تلقائيًا للاستهداف بدون الوصول إلى معرّف المعلِنين (IDFA).
Realtime Database ليس هناك أي تأثير
Cloud Storage ليس هناك أي تأثير
Vertex AI in Firebase ليس هناك أي تأثير

عمليات دمج Firebase المتأثّرة

يسرد الجدول أدناه المنتجات المتكاملة في Firebase التي ستتأثّر في حال كان معرّف المعلِنين (IDFA) لا يمكن الوصول إليه.

Product التأثير في حال تعذُّر الوصول إلى معرّف المعلِنين (IDFA)
Google Analytics تسجيل أحداث "Analytics" وإعداد تقارير الأحداث وقياس الإحالات الناجحة غير متأثرة بالمشكلة، ولكن ستتأثر عملية تحديد المصدر في حال تعذّر الوصول إلى معرّف المعلِنين (IDFA). لمزيد من المعلومات حول ردّ Google على الإصدار 14 من نظام التشغيل iOS، يمكنك الاطّلاع على مشاركة مدونة.

طلب إذن تتبُّع التطبيقات على نظام التشغيل iOS 14

إذا أردت أن يتمكّن تطبيق Apple من الوصول إلى معرّف المعلِنين (IDFA)، يمكنك إضافة إطار عمل "شفافية تتبُّع التطبيقات" من Apple على تطبيقك وطلب الإذن لتتبُّع أنشطة المستخدمين معرّف المعلِنين (IDFA).

تختار العديد من التطبيقات تقديم شاشة إحماء أو شرح قبل يطلب الإذن. تتيح لك الشاشة التوضيحية منح المستخدمين المزيد من المعلومات سياق حول كيفية استخدام تطبيقك لمعرّف المعلِنين (IDFA) قبل طلب الوصول.

إذا كنت أحد ناشري التطبيقات في "AdMob" أو "مدير الإعلانات"، يمكنك استخدام خيارات التمويل, الذي يعالج الحصول على الموافقة لعرض الإعلانات المخصّصة أيضًا كموافقة على تتبُّع المستخدم تلقائيًا وفقًا لإرشادات Apple. يمكنك الاطّلاع على AdMob الموافقة على صفحة "رسائل المستخدم" لمزيد من التفاصيل.

يقدم الدليل التالي حلاً باستخدام Firebase In-App Messaging لإنشاء عرض شاشة توضيحية قبل طلب الوصول إلى التتبع عبر شفافية تتبُّع التطبيقات

إضافة "In-App Messaging" إلى تطبيقك

اتّبِع التعليمات إضافة In-App Messaging إلى تطبيق Apple

التعامل مع إغلاق الرسائل داخل التطبيق

أولاً، تجنَّب عرض الشاشة التوضيحية على الأجهزة التي لا يمكنها تقديم مربّع إفادة الموافقة، مثل الأجهزة التي تعمل بالإصدار 13 من iOS تأكَّد من تنفيذ هذه التعليمة البرمجية. بعد FirebaseApp.configure() مباشرةً.

Swift

if NSClassFromString("ATTrackingManager") == nil {
  // Avoid showing the App Tracking Transparency explainer if the
  // framework is not linked.
  InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}

نفِّذ InAppMessagingDisplayDelegate للتعامل مع الأحداث عندما يغلق المستخدم الشاشة التوضيحية. إذا كانت ينقر المستخدم على "حسنًا"، ويتم عرض طلب من النظام من خلال ميزة "شفافية تتبُّع التطبيقات". إطار العمل.

Swift

// The InAppMessaging delegate must be assigned before events can be handled.
InAppMessaging.inAppMessaging().delegate = self

func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage,
                    with action: InAppMessagingAction) {
  switch action.actionText {
  case "OK":
    ATTrackingManager.requestTrackingAuthorization { status in
      switch status {
      case .authorized:
        // Optionally, log an event when the user accepts.
        Analytics.logEvent("tracking_authorized", parameters: nil)
      case _:
        // Optionally, log an event here with the rejected value.
      }
    }
  case _:
    // do nothing
  }
}

إنشاء حملة In-App Messaging

بعد وضع الرمز في تطبيقك، يمكنك إنشاء رسالة داخل التطبيق في وحدة تحكّم "Firebase"

  1. في وحدة تحكُّم Firebase، إنشاء حملة In-App Messaging جديدة
  2. عليك تعبئة الرسائل داخل التطبيق بالمحتوى المطلوب وضبط الرسالة. سيتم تشغيله في حدث app_launch
  3. في قسم الاستهداف، تأكد من أن الحملة لا تستهدف سوى أكبر عدد ممكن أحدث إصدار من تطبيقك أو الإصدارات الأحدث.

يمكنك تخصيص مظهر الشاشة التوضيحية من خلال اتّباع التعليمات الواردة في مستندات In-App Messaging

اختياري: اختبار A/B للشاشات التوضيحية المختلفة

تقدّم شركة In-App Messaging عملية تكامل مضمَّنة مع Firebase A/B Testing، التي يمكنك استخدامها لإجراء التجارب باستخدام شاشات توضيحية مختلفة.

ينشئ Firebase A/B Testing مجموعات تجربة تلقائيًا ويساعدك على ذلك تصور كيفية تفاعل المستخدمين مع المتغيرات المختلفة لتطبيقك.

تسجيل أذونات تتبع التطبيقات

في حال عدم تسجيل حدث Google Analytics عند معالجة تتبُّع التطبيق من أجل قياس التغييرات في معدل الاستجابة عند إجراء تجربة A/B.

Swift

ATTrackingManager.requestTrackingAuthorization { status in
  switch status {
  case .authorized:
    // Optionally, log an event when the user accepts.
    Analytics.logEvent("tracking_authorized", parameters: nil)
  case _:
    // Optionally, log an event here with the rejected value.
  }
}

إنشاء حدث إحالة ناجحة جديد

في جلسة المعمل، قسم Analytics من وحدة تحكُّم Firebase، انتقِل إلى قائمة الإحالات الناجحة، ثم أضِف عمودًا جديدًا حدث إحالة ناجحة بالاسم نفسه كحدث مسجَّل باستخدام نموذج الرمز أعلاه.

إنشاء تجربة جديدة

في وحدة التحكم قائمة In-App Messaging، انقر على تجربة جديدة، ثم اتّبع التعليمات في علامة الشاشات.

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

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

اطّلِع على مستندات Firebase A/B Testing للحصول على معلومات حول كيفية مراقبة تجربة ما وطرح المتغير.