في نظام التشغيل 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.
التعامل مع إغلاق الرسائل داخل التطبيق
أولاً، تجنَّب عرض الشاشة التوضيحية على الأجهزة التي لا يمكنها عرض مربّع إفادة الموافقة، مثل الأجهزة التي تعمل بنظام التشغيل 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.
- في وحدة تحكُّم Firebase، أنشئ حملة جديدة لخدمة "المراسلة داخل التطبيق".
- عليك تعبئة الرسائل داخل التطبيق بالمحتوى المطلوب وضبط الرسالة
لعرضها في حدث "
app_launch
". - في قسم الاستهداف، تأكّد من أن الحملة لا تستهدف إلا أحدث إصدار من تطبيقك والإصدارات الأحدث.
يمكنك تخصيص مظهر الشاشة التوضيحية من خلال اتّباع التعليمات الواردة في مستندات ميزة "المراسلة داخل التطبيق".
اختياري: اختبار 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 للحصول على معلومات حول كيفية مراقبة تجربة وطرح صيغة ناجحة.