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

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

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

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

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

Product التأثير في حال تعذُّر الوصول إلى معرّف المعلِنين (IDFA)
اختبار A/B بعض بيانات الاستهداف (مثل الخصائص الديمغرافية) في دمج اختبار A/B من خلال "إحصاءات Google" يتم الحصول عليها من معرِّف المعلِنين (IDFA). في التطبيقات التي لا تتضمّن بالوصول إلى معرّف المعلِنين (IDFA)، فإن هذا الاستهداف غير متاح.
فحص التطبيقات ليس هناك أي تأثير
App Distribution ليس هناك أي تأثير
المصادقة ليس هناك تأثير على موفّري "المصادقة" و"مصادقة الطرف الأول". مثل تسجيل الدخول بحساب Google ومصادقة الهاتف.
Crashlytics ليس هناك أي تأثير. دمج Crashlytics مع "إحصاءات Google" توفّر مسارات التنقل وبيانات الأعطال في الوقت الفعلي لا تعتمد على معرّف المعلِنين (IDFA).
الروابط الديناميكية ما مِن تأثير في وظائف فتح الروابط. عند الاستخدام مع في "إحصاءات Google"، إحالة أحداث الإحالات الناجحة باستخدام رابط غير متاح.
Cloud Firestore ليس هناك أي تأثير
وظائف السحابة الإلكترونية ليس هناك أي تأثير
المراسلة داخل التطبيق ليس هناك أي تأثير
عمليات تثبيت Firebase ليس هناك أي تأثير
رقم تعريف المثيل ليس هناك أي تأثير
خدمة المراسلة عبر السحابة الإلكترونية وعند استخدام "إحصاءات Google" مع "إحصاءات Google"، تسجيل بعض أحداث الإحالات الناجحة ذات الصلة بخدمة "المراسلة عبر السحابة الإلكترونية من Firebase" تلقائيًا. معلومات تحديد المصدر لهذه الأحداث تتطلب الوصول إلى معرِّف المعلِنين (IDFA).
Firebase ML ليس هناك أي تأثير
مراقبة الأداء ليس هناك أي تأثير
الإعداد عن بُعد وعند استخدامها مع "إحصاءات Google"، لا تسمح ميزة "الإعداد عن بُعد" خصائص المستخدمين التي يتم إنشاؤها تلقائيًا للاستهداف بدون الوصول إلى معرّف المعلِنين (IDFA).
قاعدة بيانات الوقت الفعلي ليس هناك أي تأثير
Cloud Storage ليس هناك أي تأثير
‫Vertex AI لبرنامج Firebase ليس هناك أي تأثير

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

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

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

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

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

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

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

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

إضافة ميزة "المراسلة داخل التطبيق" إلى تطبيقك

اتّبِع التعليمات إضافة ميزة "المراسلة داخل التطبيق" إلى تطبيق 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
  }
}

إنشاء حملة "المراسلة داخل التطبيق"

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

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

يمكنك تخصيص مظهر الشاشة التوضيحية من خلال اتّباع التعليمات الواردة في مستندات ميزة "المراسلة داخل التطبيق"

اختياري: إجراء اختبار أ/ب على الشاشات التوضيحية المختلفة

وتتضمّن خدمة "المراسلة داخل التطبيق" تكاملاً مع اختبار A/B من Firebase الذي يمكنك استخدامه لإجراء تجارب باستخدام شاشات توضيحية مختلفة.

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

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

في حال عدم تسجيل حدث في "إحصاءات Google" عند معالجة تتبُّع التطبيقات من أجل قياس التغييرات في معدل الاستجابة عند إجراء تجربة 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.
  }
}

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

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

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

في وحدة التحكم قائمة المراسلة داخل التطبيق، وانقر على تجربة جديدة، ثم اتّبِع التعليمات المتعلقة الشاشات.

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

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

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