التوافق مع نظام التشغيل 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، سيقوم Google Analytics بتسجيل بعض أحداث الإحالات الناجحة المرتبطة بـ FCM تلقائيًا. معلومات تحديد المصدر لهذه الأحداث تتطلب الوصول إلى معرّف المعلِنين (IDFA).
Firebase ML ما مِن تأثير
Performance Monitoring ما مِن تأثير
Remote Config عند استخدام Google Analytics مع Remote Config، لا يسمح 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 للحصول على معلومات حول كيفية مراقبة تجربة ما وطرح المتغير.