مع نظام التشغيل 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 عملية تثبيت | ما مِن تأثير |
InstanceID | ما مِن تأثير |
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 على نظام التشغيل iOS 14، يمكنك الاطّلاع على مشاركة المدونة. |
طلب إذن تتبُّع التطبيقات على نظام التشغيل iOS 14
إذا أردت أن يتمكّن تطبيقك على أجهزة Apple من الوصول إلى معرّف المعلِنين (IDFA)، يمكنك إضافة إطار عمل "شفافية تتبُّع التطبيقات" من Apple إلى تطبيقك وطلب الإذن لتتبُّع معرّف المعلِنين (IDFA) الخاص بالمستخدمين أو الوصول إليه.
تختار العديد من التطبيقات عرض شاشة استعداد أو شاشة توضيحية قبل طلب الإذن. تسمح لك الشاشة التوضيحية بمنح المستخدمين مزيدًا من السياق حول كيفية استخدام تطبيقك لمعرّف المعلِنين (IDFA) قبل طلب الوصول إليه.
إذا كنت ناشر تطبيقات على AdMob أو "مدير إعلانات Google"، ننصحك باستخدام خيارات التمويل التي تتعامل تلقائيًا مع الحصول على موافقة لعرض الإعلانات المخصّصة وكذلك موافقة لتتبُّع المستخدِم وفقًا لإرشادات Apple. لمزيد من التفاصيل، يُرجى الاطّلاع على AdMob صفحة "الموافقة من خلال المراسلة مع المستخدم".
يقدّم الدليل التالي حلًا باستخدام Firebase In-App Messaging لإنشاء شاشة توضيحية و عرضها قبل طلب الوصول إلى بيانات التتبُّع من خلال شفافية تتبُّع التطبيقات.
.إضافة In-App Messaging إلى تطبيقك
اتّبِع التعليمات لإضافة In-App Messaging إلى تطبيقك على 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
}
}
إنشاء حملة In-App Messaging
بعد إدخال الرمز في تطبيقك، أنشئ رسالة داخل التطبيق في وحدة تحكّم Firebase.
- في وحدة تحكّم Firebase، أنشئ حملة In-App Messaging جديدة.
- املأ الرسائل داخل التطبيق بالمحتوى المطلوب واضبط الرسالة
لبدء الحدث
app_launch
. - في قسم الاستهداف، تأكَّد من أنّ الحملة لا تستهدف سوى أحدث إصدار من تطبيقك والإصدارات الأحدث.
يمكنك تخصيص مظهر الشاشة التوضيحية باتّباع تعليمات مستندات In-App Messaging.
اختياري: إجراء اختبار أ/ب لشاشات الشرح المختلفة
تتضمّن In-App Messaging عملية دمج مدمجة مع Firebase A/B Testing، والتي يمكنك استخدامها لتجربة استخدام شاشات توضيحية مختلفة.
Firebase A/B Testing تنشئ مجموعات تجارب تلقائيًا وتساعدك على الاطّلاع على كيفية تفاعل المستخدمين مع الصيغ المختلفة لتطبيقك.
تسجيل أذونات تتبُّع التطبيقات
إذا لم تسجِّل حدث Google Analytics عند معالجة استجابة أذونات التتبُّع في التطبيق، عليك إجراء ذلك لقياس التغييرات في معدّل الردّ عند إجراء تجربة أ/ب.
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 للحصول على معلومات عن كيفية مراقبة تجربة وطرح خيار ناجح.