تتوافق مع الإصدار 14 من نظام التشغيل iOS

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

.

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

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

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

Product التأثير في حال تعذّر الوصول إلى معرّف المعلِنين (IDFA)
من Firebase يتم استخلاص بعض بيانات الاستهداف (مثل الخصائص الديمغرافية) في دمج اختبار 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 على نظام التشغيل iOS 14، يمكنك الاطّلاع على مشاركة المدونة.

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

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

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

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

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

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

اتّبِع التعليمات من أجل إضافة ميزة "المراسلة داخل التطبيق" إلى تطبيق Apple.

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

أولاً، تجنَّب عرض الشاشة التوضيحية على الأجهزة التي لا يمكنها عرض مربّع حوار الموافقة، مثل الأجهزة التي تعمل بنظام التشغيل iOS 13. تأكَّد من تنفيذ هذا الرمز البرمجي مباشرةً بعد 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 على شاشات توضيحية مختلفة

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

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

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

إذا لم تسجِّل حدثًا في "إحصاءات Google" عند التعامل مع استجابة أذونات تتبُّع التطبيقات، ستحتاج إلى ذلك لقياس التغييرات في معدّل الاستجابة عند تنفيذ تجربة أ/ب.

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 للحصول على معلومات حول كيفية مراقبة تجربة وطرح صيغة ناجحة.