IDFA: ما هو، كيف يعمل وطلب الإذن في iOS

المؤلف: IT Sectr نُشر: 2026-05-22 وقت القراءة: 8 دق

IDFA (معرف المعلنين) هو معرف فريد للجهاز في iOS مخصص للأغراض الإعلانية وإحالة التثبيتات. مع ظهور App Tracking Transparency (ATT) في iOS 14.5، يتطلب الحصول على IDFA موافقة صريحة من المستخدم عبر حوار النظام. وفقًا لـ وثائق Apple حول App Tracking Transparency، 2025، بدون إذن ATT يحصل التطبيق على معرف فارغ. App Tracking Transparency غيرت بشكل جذري نظام الإعلانات المحمولة، مما قلل من توفر IDFA بنسبة 80% بعد تطبيقها.

النقاط الرئيسية

  • IDFA — معرف إعلاني في iOS لتتبع المستخدمين وإحالة تثبيتات التطبيقات.
  • App Tracking Transparency — إطار عمل Apple الذي يتطلب موافقة صريحة من المستخدم قبل الحصول على IDFA.
  • ATTrackingManager — الفئة الرئيسية في iOS لطلب إذن التتبع عبر requestTrackingAuthorization.
  • SKAdNetwork — آلية إحالة بديلة من Apple لا تتطلب IDFA أو موافقة المستخدم.
  • Privacy Manifest — ملف إلزامي في iOS 18+ يوضح أسباب استخدام المعرف الإعلاني.

ما هو IDFA؟

IDFA (معرف المعلنين) هو معرف أبجدي رقمي فريد يُخصص لكل جهاز Apple لأغراض إعلانية. على عكس IDFV (معرف البائع)، فإن IDFA موحد عبر جميع التطبيقات على الجهاز ويمكن للمستخدم إعادة تعيينه في أي وقت عبر الإعدادات — الخصوصية — الإعلانات — إعادة تعيين المعرف.

الغرض الرئيسي من IDFA هو إحالة التثبيتات وتتبع فعالية الحملات الإعلانية على أجهزة Apple. تستخدم شبكات الإعلانات IDFA لربط النقر على الإعلان بتثبيت التطبيق، وبناء ملفات تعريف المستخدمين وعرض الإعلانات المخصصة. منذ تطبيق ATT، بلغت نسبة المستخدمين الذين يمنحون الوصول إلى IDFA في المتوسط 20-35% وفقًا لمنصات تحليلات مختلفة.

وفقًا لـ Flurry Analytics (2025)، بعد iOS 18 وصل معدل اعتماد ATT إلى 92% من الأجهزة النشطة، لكن نسبة المستخدمين الذين يوافقون على التتبع انخفضت إلى 22%. أدى هذا إلى تحول جذري في صناعة الإعلانات المحمولة، مما أجبر شبكات الإعلانات على البحث عن طرق إحالة بديلة.

ميزة رئيسية لـ IDFA هي أنه لا يحتوي على بيانات شخصية للمستخدم ولا يرتبط بـ Apple ID. ومع ذلك، تصنفه Apple كمعرف خاضع لتنظيم App Tracking Transparency.

كيف يعمل IDFA و App Tracking Transparency

App Tracking Transparency (ATT) هو إطار عمل من Apple تم تقديمه في iOS 14.5 ويتطلب موافقة صريحة من المستخدم قبل قراءة IDFA. بدون موافقة، تُرجع طريقة asIdentifierManager معرفًا فارغًا (00000000-0000-0000-0000-000000000000)، ولا يمكن للتطبيق تتبع المستخدم.

إطار عمل App Tracking Transparency

يتم تنفيذ ATT عبر الفئة ATTrackingManager بطريقة عامة واحدة وهي requestTrackingAuthorization(completionHandler:). عند استدعاء هذه الطريقة، يعرض النظام حوارًا أصليًا بالنص الذي يحدده المطور عبر مفتاح NSUserTrackingUsageDescription في Info.plist. يمكن للمستخدم اختيار أحد ثلاثة خيارات: "السماح بالتتبع"، "طلب عدم التتبع من التطبيق" أو "رفض".

يتم تتبع حالة الإذن عبر ATTrackingManager.trackingAuthorizationStatus، والتي يمكن أن تأخذ أربع قيم: notDetermined أو restricted أو denied أو authorized. قبل طلب ATT، يُوصى بالتحقق من الحالة الحالية وعدم استدعاء الحوار إذا كانت الحالة محددة بالفعل — بدءًا من iOS 17، استدعاء requestTrackingAuthorization مرة أخرى مع حالة denied لا يُظهر الحوار ويُرجع خطأ.

متى تطلب الإذن

يؤثر توقيت طلب ATT بشكل حاسم على معدلات الموافقة. تظهر أبحاث Singular (2025) أن طلب ATT على شاشة الإعداد الأولي (عند التشغيل الأول) يحقق معدل تحويل 35-45%، بينما طلبه بعد إكمال إجراء ما (مثل بعد التسجيل) يرفع معدل التحويل إلى 55-65%. يُوصى بعرض شاشة إذن مسبق بتصميم مخصص تشرح قيمة التتبع للمستخدم قبل حوار ATT النظامي.

هام: يمكن للتطبيق استدعاء requestTrackingAuthorization مرة واحدة فقط قبل تلقي الرد. بمجرد أن يختار المستخدم "رفض" أو "طلب عدم التتبع من التطبيق"، لن يظهر الحوار بعد ذلك على الجهاز. يجب على المطور تنفيذ آليات احتياطية للعمل بدون IDFA لضمان استمرار التطبيق في العمل بشكل صحيح في ظل ظروف التتبع المحدودة.

متطلبات iOS 18+ للتتبع

مع إصدار iOS 18، شددت Apple المتطلبات على التطبيقات التي تستخدم المعرف الإعلاني. يجب على جميع التطبيقات التي تطلب IDFA أو تنقل بيانات الجهاز لأغراض إعلانية الامتثال للقواعد الجديدة لـ App Store. يؤدي عدم الامتثال إلى رفض البناء أثناء مراجعة App Store Connect.

Privacy Manifest والتتبع

بدءًا من iOS 18، يجب أن يتضمن كل تطبيق Privacy Manifest (ملف privacy.xcprivacy) يوضح جميع واجهات برمجة التطبيقات المستخدمة للتتبع. بالنسبة لـ IDFA، تُستخدم مفاتيح NSPrivacyTracking و NSPrivacyTrackingDomains لتحديد نطاقات شبكات الإعلانات التي يُنقل إليها المعرف. بدون بيان صحيح، يُرفض التطبيق أثناء مراجعة App Store Connect.

كما قدمت Apple شرطًا لتحديد سبب استخدام المعرف الإعلاني في وصف التطبيق. إذا كان التطبيق يستخدم IDFA لإحالة التثبيتات، فيجب عليه استخدام SKAdNetwork كطريقة رئيسية، مع استخدام IDFA فقط كإشارة إضافية لتحسين دقة الإحالة.

بدائل IDFA

مع تزايد القيود على IDFA، طورت الصناعة عدة طرق بديلة. SKAdNetwork (شبكة إعلانات StoreKit) هي آلية الإحالة الرسمية من Apple التي تعمل بدون IDFA ولا تتطلب موافقة المستخدم. تستخدم SKAdNetwork طلبات postback موقعة بين شبكة الإعلانات و App Store، مما يضمن خصوصية المستخدم.

تشمل البدائل الأخرى: الإحالة الاحتمالية بناءً على عنوان IP وإصدار نظام التشغيل وإشارات الجهاز الأخرى؛ واجهات برمجة تطبيقات مجمعة خاصة مثل Private Click Measurement (PCM) من WebKit؛ وحلول خاصة لمنصات الإعلانات تستخدم التعلم الآلي للتنبؤ بالتحويلات. للسوق الصيني، يُستخدم أيضًا CAID (معرف الإعلانات الخلوية) بناءً على بيانات شبكة المشغل المحمول.

أمثلة كود لطلب IDFA

يتطلب تنفيذ طلب IDFA دمج App Tracking Transparency ومعالجة جميع حالات الإذن المحتملة بشكل صحيح. فيما يلي مثال كامل لـ Swift مع شاشة إذن مسبق.

طلب ATT في Swift

يوضح المثال سير العمل الكامل مع IDFA: التحقق من الحالة، عرض شاشة إذن مسبق، استدعاء حوار ATT النظامي والحصول على المعرف بعد الإذن.

swift
import AppTrackingTransparency
import AdSupport

func requestIDFAAccess() {
    let status = ATTrackingManager.trackingAuthorizationStatus

    switch status {
    case .notDetermined:
        // عرض شاشة الإذن المسبق مع الشرح
        showPrePermissionScreen { accepted in
            guard accepted else { return }
            ATTrackingManager.requestTrackingAuthorization { newStatus in
                handleATTStatus(newStatus)
            }
        }
    case .authorized:
        // وافق المستخدم بالفعل — جارٍ الحصول على IDFA
        let idfa = ASIdentifierManager.shared().advertisingIdentifier
        print("IDFA: \(idfa.uuidString)")
    case .denied, .restricted:
        // إعادة توجيه المستخدم إلى الإعدادات
        redirectToSettings()
    @unknown default:
        break
    }
}

private func handleATTStatus(status: ATTrackingManager.AuthorizationStatus) {
    if status == .authorized {
        let idfa = ASIdentifierManager.shared().advertisingIdentifier
        // نقل IDFA إلى شبكة الإعلانات
        sendIDFAToAdNetwork(idfa.uuidString)
    }
}

استراتيجيات العمل بدون IDFA

نظرًا لأن معظم المستخدمين يرفضون طلب ATT، يحتاج المطورون إلى مجموعة من الاستراتيجيات للعمل بفعالية بدون المعرف. النهج الرئيسي هو مزيج من SKAdNetwork وطرق الإحالة الاحتمالية.

SKAdNetwork والإحالة

SKAdNetwork (SKAN) هو إطار عمل من Apple لإحالة التثبيتات لا يتطلب IDFA ولا يعرض حوار موافقة. تسجل شبكة الإعلانات معرف SKAdNetwork الخاص بها في Info.plist للتطبيق، وبعد التثبيت يرسل App Store postback موقعًا بمعلومات الحملة. SKAN 4.0، الذي تم تقديمه في iOS 17، يدعم تحويلات متعددة ومعرفات مصدر وقيم تحويل خشنة.

قيود SKAN: تأخير postback من 24 إلى 48 ساعة، عدم وجود معرف مستخدم، وقيم تحويل محدودة (حتى 64). على الرغم من ذلك، أصبح SKAN المعيار الفعلي لإحالة iOS بعد تطبيق ATT، ويجب على جميع شبكات الإعلانات الكبرى دعمه للعمل على أجهزة Apple.

المعرفات التنبؤية

طورت شبكات إعلانية مثل Meta و Google حلولها الخاصة القائمة على التعلم الآلي التي تتنبأ بالتحويلات بدون معرف مستخدم. يستخدم Meta Aggregated Events Measurement (AEM) بيانات مجمعة للإحالة، بينما تصمم Google Attribution التحويلات بناءً على البيانات التاريخية.

بالنسبة للمطور، من المهم تنفيذ طرق إحالة متعددة في وقت واحد: SKAdNetwork كطريقة رئيسية، والإحالة من جانب الخادم عبر شبكات الإعلانات، وأدوات تحليلية خاصة مع نمذجة التحويلات. يتيح الجمع بين الطرق استعادة ما يصل إلى 70-80% من دقة الإحالة مقارنة بعصر IDFA. يُوصى باختبار مجموعات مختلفة من الطرق خلال مرحلة الاختبار التجريبي لاختيار المجموعة المثلى للتطبيق والجمهور المستهدف المحددين.

الأسئلة الشائعة

ما هو IDFA بكلمات بسيطة؟

IDFA هو رمز فريد لجهاز iPhone أو iPad تستخدمه شبكات الإعلانات لعرض الإعلانات المخصصة وقياس فعالية الحملات. منذ iOS 14.5، يجب على التطبيق طلب إذنك قبل الوصول إلى IDFA عبر حوار النظام App Tracking Transparency.

ما الفرق بين IDFA و IDFV؟

IDFV (معرف البائع) هو معرف فريد لجميع تطبيقات المطور نفسه على الجهاز. على عكس IDFA، لا يتطلب IDFV موافقة ATT وهو متاح دائمًا. IDFA موحد لجميع التطبيقات، بينما IDFV خاص بتطبيقات بائع واحد (حسب bundle ID).

كيف تحصل على IDFA بدون موافقة المستخدم؟

من المستحيل الحصول على IDFA بدون موافقة المستخدم. منذ iOS 14.5، يُرجع ASIdentifierManager.advertisingIdentifier معرفًا فارغًا (00000000-0000-0000-0000-000000000000) إذا لم يوافق المستخدم عبر ATT. الطريقة القانونية الوحيدة هي استدعاء ATTrackingManager.requestTrackingAuthorization والحصول على حالة authorized.

ما هو NSUserTrackingUsageDescription؟

NSUserTrackingUsageDescription هو مفتاح في Info.plist للتطبيق يحتوي على النص المعروض في حوار ATT النظامي. يجب أن يشرح النص للمستخدم لماذا يحتاج التطبيق إلى التتبع. مثال: "يتم استخدام IDFA الخاص بك لعرض الإعلانات المخصصة وقياس فعالية الحملات".

هل يعمل IDFA على Android؟

لا، IDFA هو معرف حصري لنظام Apple البيئي. يستخدم Android GAID (معرف إعلانات Google) أو AAID (معرف إعلانات Android). كلاهما يؤدي وظيفة مماثلة لكن يخضعان لقواعد مختلفة — على Android يمكن للمستخدم إعادة تعيين المعرف أو إلغاء تنشيط تخصيص الإعلانات في إعدادات Google.

الملخص

  • IDFA — معرف إعلاني لأجهزة Apple يُستخدم للإحالة والإعلانات المخصصة.
  • App Tracking Transparency — إطار عمل iOS 14.5+ يتطلب موافقة صريحة من المستخدم قبل الحصول على IDFA.
  • ATTrackingManager — الفئة الرئيسية لطلب إذن التتبع في iOS.
  • SKAdNetwork — آلية إحالة بديلة من Apple لا تتطلب موافقة المستخدم أو IDFA.
  • Privacy Manifest — ملف إلزامي في iOS 18+ يوضح أسباب استخدام المعرف الإعلاني.
  • شاشة الإذن المسبق — حوار مخصص مع شرح قبل ATT النظامي، يرفع التحويل إلى 55-65%.
  • الإحالة المتعددة — مزيج من SKAdNetwork والطرق الاحتمالية والتعلم الآلي لاستعادة دقة قياس الحملات.

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا