يجب أن تغطي ملصقات الخصوصية في App Store ما تجمعه حزم SDK للتحليلات وغيرها من حزم الطرف الثالث، لا ما يرسله كودك الخاص فقط. قبل أن تجيب عن أسئلة خصوصية التطبيق (App Privacy) في App Store Connect، اجرد كل حزمة SDK في الإصدار، وسجّل البيانات التي ترسلها كل منها خارج الجهاز، وحدّد ما إذا كان أي منها يُستخدم للتتبع. أجب انطلاقًا من هذه القائمة، لا من الذاكرة.
هل يجب أن تتضمن ملصقات الخصوصية في App Store بيانات حزم SDK الخارجية؟
نعم. تشترط Apple أن تفصح عن البيانات التي يجمعها كود الشركاء من الأطراف الثالثة، حتى عندما تجمع حزمة SDK تلك البيانات لأغراض غير التحليلات أو الإعلانات.
تعرّف صفحة خصوصية التطبيق لدى Apple الشركاء من الأطراف الثالثة بأنهم "أدوات التحليلات، أو شبكات الإعلانات، أو حزم SDK من أطراف ثالثة، أو غيرهم من الموردين الخارجيين الذين أضفت كودهم إلى تطبيقك." لذا فإن أداة الإبلاغ عن الأعطال أو مكتبة تسجيل الدخول تنتمي إلى قائمتك. ومعيار الجمع يتعلق بالنقل: "الجمع" يعني "نقل البيانات خارج الجهاز بطريقة تتيح لك و/أو لشركائك من الأطراف الثالثة الوصول إليها لمدة أطول مما يلزم لخدمة الطلب المُرسل في الوقت الفعلي." والبيانات التي تُعالج على الجهاز فقط لا تُعد مجمّعة.
كيف تبني جردًا لحزم SDK من أجل ملصقات الخصوصية؟
ابنِ الجرد من الاعتماديات المحسومة (resolved dependencies) لنسخة الإصدار، بما فيها الاعتماديات غير المباشرة، وسجّل اسم كل حزمة SDK وإصدارها.
- صدّر قائمة الاعتماديات المحسومة لكل منصة:
Podfile.lockأوPackage.resolvedأوpubspec.lockأو شجرة اعتماديات Gradle. - احتفظ بالاعتماديات غير المباشرة. تنص متطلبات حزم SDK من الأطراف الثالثة لدى Apple على أنك "مسؤول عن كل الكود الذي تضمّنه حزمة SDK في تطبيقك"، لذا فإن أي وحدة مشتركة تجلبها حزمة SDK تُحتسب أيضًا.
- سجّل اسم كل عنصر وإصداره. يغيّر الموردون طريقة تعاملهم مع البيانات بين الإصدارات، لذا يجب أن يكون الإصدار جزءًا من ملاحظات التدقيق.
- ميّز حزم SDK التي تظهر في قائمة Apple لحزم الطرف الثالث الشائعة الاستخدام. لهذه الحزم، تشترط Apple ملفات بيان الخصوصية عند إرسال تطبيق جديد أو تحديث يضيفها، وتوقيعات عندما تكون اعتماديات ثنائية (binary). "يشمل ذلك أي إصدار من حزمة SDK مدرجة، وكذلك أي حزم SDK تعيد تغليف الحزم المدرجة في القائمة."
أضف هذه الخطوة إلى قائمة التحقق لإرسال التطبيق إلى App Store لتُنفَّذ مع كل إصدار، لا مع الإصدار الأول فقط.
ما أنواع بيانات الخصوصية في App Store التي ترتبط بها كل حزمة SDK؟
ترتبط كل حزمة SDK بنوع أو أكثر من أنواع البيانات الثابتة لدى Apple، مثل بيانات الأعطال (Crash Data) وبيانات الأداء (Performance Data) وتفاعل المنتج (Product Interaction) ومعرّف الجهاز (Device ID) وبيانات الإعلانات (Advertising Data). اقرأ وثائق البيانات الخاصة بالمورد واملأ صفًا لكل حزمة SDK:
| دور حزمة SDK | أنواع البيانات التي يجب فحصها | السؤال الأساسي |
|---|---|---|
| الإبلاغ عن الأعطال | بيانات الأعطال (Crash Data)، بيانات الأداء (Performance Data) | هل تغادر بيانات الأعطال الجهاز، وهل ترتبط بمعرّف مستخدم؟ |
| تحليلات المنتج | تفاعل المنتج (Product Interaction)، بيانات الاستخدام الأخرى (Other Usage Data)، معرّف الجهاز (Device ID) | هل يُشارك معرّف الجهاز مع شركات أو تطبيقات أخرى؟ |
| الإسناد أو قياس الإعلانات | بيانات الإعلانات (Advertising Data)، معرّف الجهاز (Device ID)، سجل المشتريات (Purchase History) | هل تُدمج البيانات مع بيانات من تطبيقات أخرى لأغراض إعلانية؟ |
| تسجيل الدخول | عنوان البريد الإلكتروني (Email Address)، معرّف المستخدم (User ID) | هل يعيد المورد استخدام بيانات الحساب خارج تطبيقك؟ |
تقول Apple إن البيانات المجمّعة "غالبًا ما تكون مرتبطة بهوية المستخدم، ما لم تُطبَّق إجراءات حماية خصوصية محددة قبل الجمع لإزالة الهوية منها أو إخفائها"، مثل حذف المعرّفات المباشرة كمعرّف المستخدم أو الاسم. وبعد الجمع، يجب ألا تعيد ربط البيانات بالمستخدم أو تربطها بمجموعات بيانات أخرى تحدد هويته. إذا لم تستطع التأكد من أن حزمة SDK تزيل الهوية من البيانات، فصنّفها على أنها مرتبطة بالمستخدم.
متى تُعد حزمة SDK للتحليلات تتبعًا؟
تُعد حزمة SDK للتحليلات تتبعًا عندما تربط بيانات عن مستخدميك أو أجهزتهم ببيانات من تطبيقات أو مواقع شركات أخرى لأغراض الإعلانات الموجّهة أو قياس الإعلانات، أو تشارك تلك البيانات مع وسيط بيانات (data broker).
تعريف Apple هو "ربط البيانات المجمّعة من تطبيقك عن مستخدم نهائي أو جهاز معيّن، مثل معرّف المستخدم أو معرّف الجهاز أو الملف الشخصي، ببيانات أطراف ثالثة لأغراض الإعلانات الموجّهة أو قياس الإعلانات، أو مشاركة البيانات المجمّعة من تطبيقك عن مستخدم نهائي أو جهاز معيّن مع وسيط بيانات." التحليلات التي تبقى داخل بيانات تطبيقك وحده ليست تتبعًا. أما قياس الإعلانات الذي يشارك معرّفًا بين التطبيقات فهو تتبع.
الفخ هو شريك ليس حزمة SDK إعلانية. مثال Apple هو "حزمة SDK لتسجيل الدخول تعيد توظيف البيانات التي تجمعها من تطبيقك لتمكين الإعلانات الموجّهة في تطبيقات مطورين آخرين"، وهذا يُعد تتبعًا حتى لو لم تستخدم الحزمة لهذا الغرض. إذا كانت إحدى حزم SDK لديك تفعل ذلك، فالحل المعتاد هو تغيير في الإعدادات يوقف الاستخدام عبر التطبيقات، أو التحول إلى مورد آخر.
هل يمكنك استبعاد أي بيانات لحزم SDK من ملصقات الخصوصية؟
فقط عندما يستوفي نوع البيانات جميع معايير Apple الأربعة للإفصاح الاختياري، ونادرًا جدًا ما تستوفيها بيانات التحليلات والأعطال. المعايير هي:
- ألا تُستخدم للتتبع.
- ألا تُستخدم لإعلانات الأطراف الثالثة، أو لإعلاناتك أو تسويقك الخاص، أو لأي أغراض أخرى.
- أن تُجمع فقط في حالات نادرة خارج الوظيفة الأساسية للتطبيق، وأن تكون اختيارية للمستخدم.
- أن يقدّمها المستخدم عبر واجهة التطبيق، وأن يكون واضحًا له ما الذي يُجمع، وأن يُعرض اسمه أو اسم حسابه بوضوح في نموذج الإرسال، وأن يختار تقديمها بشكل صريح في كل مرة.
وتضيف Apple أن "البيانات التي تُجمع بشكل مستمر بعد طلب أولي للإذن يجب الإفصاح عنها." تعمل حزم SDK للتحليلات باستمرار ولا يختارها المستخدم في كل مرة، لذا فهي تفشل في الاختبارين الأخيرين.
كيف يبدو تدقيق حزم SDK المكتمل؟
يمنح التدقيق المكتمل كل حزمة SDK صفًا واحدًا يحدد ما يجب الإفصاح عنه، وما إذا كانت البيانات مرتبطة بالمستخدم، وما إذا كانت تُستخدم للتتبع. إليك القالب لتطبيق افتراضي لتتبع العادات يحتوي على ثلاث حزم SDK. تعتمد الإجابات على وثائق كل مورد، لذا فهذه ليست نتائج عن منتجات حقيقية.
| حزمة SDK | ما يجب الإفصاح عنه | مرتبطة بالمستخدم | تُستخدم للتتبع |
|---|---|---|---|
| أداة الإبلاغ عن الأعطال (FirebaseCrashlytics، مدرجة في قائمة Apple) | بيانات الأعطال (Crash Data)، بيانات الأداء (Performance Data) | نعم، إذا ارتبطت بمعرّف مستخدم | لا، إذا لم تُدمج مع بيانات أطراف ثالثة لأغراض إعلانية |
| تحليلات المنتج | تفاعل المنتج (Product Interaction)، معرّف الجهاز (Device ID) | نعم | لا، إذا لم يشارك المورد البيانات بين التطبيقات لأغراض إعلانية |
| تسجيل الدخول | عنوان البريد الإلكتروني (Email Address)، معرّف المستخدم (User ID) | نعم | نعم، إذا استخدم المورد بيانات الحساب لاستهداف الإعلانات في تطبيقات أخرى |
صف تسجيل الدخول هو ما يغيّر حجم العمل. فهو يجعل التطبيق تطبيق تتبع، لذا يجب أن تذكر الملصقات ذلك، ويجب أن تتوافق آلية طلب الموافقة لديك معه. الانتقال إلى مورد تسجيل دخول لا يشارك البيانات بين التطبيقات، أو إيقاف هذه المشاركة، أقل تكلفة بكثير قبل الإرسال منه بعد الرفض. بعد ذلك اختبر نسخة الإصدار مع تفعيل كل حزم SDK، كما في خطة اختبار نسخة الإصدار.
ما الذي حدث بشكل خاطئ لدى مطورين آخرين؟
تُظهر الحالات المُبلغ عنها علنًا ثلاث نقاط فشل: ملصقات لا تطابق الملف الثنائي، وبيانات حزم SDK لم يكن المطور على علم بها، وحزم SDK مدرجة شُحنت دون ملفات بيان.
- أزال مطور في منتديات Apple Developer التتبع من نسخة جديدة لكنه لم يتمكن من إزالته من الملصق. ظهرت في App Store Connect رسالة "يحتوي تطبيقك على NSUserTrackingUsageDescription، ما يشير إلى أنك ستطلب إذنًا لتتبع المستخدمين"، واستمرت المراجعة في الرفض برسالة "تشير معلومات خصوصية التطبيق التي قدمتها في App Store Connect إلى أنك تجمع البيانات من أجل تتبع المستخدم… ومع ذلك، لا تستخدم App Tracking Transparency." وقال المطور إن التطبيق قُبل بعد أن قدّم استئنافًا وانتظر الرد قبل إعادة الإرسال.
- استخدم مطور آخر في منتديات Apple Developer خدمة Firebase Analytics مع تعطيل جمع IDFA وIDFV وملصق "لا تتبع"، ومع ذلك تلقى رفضًا وفق الإرشاد 5.1.2. قالت الرسالة: "جمع ملفات تعريف الارتباط (cookies) هو شكل من أشكال التتبع." وأشارت إلى ملفات تعريف الارتباط في محتوى الويب الذي يحمّله التطبيق، لا إلى Firebase. ولفت أحد الردود إلى هذا التعارض، ولم يُنشر أي حل.
- تلقى مطورون في بلاغ على GitHub لمشروع RxSwift الخطأ "ITMS-91061: Missing privacy manifest" لكل من RxSwift وRxRelay وRxCocoa. وجّه أحد المستخدمين CocoaPods إلى الفرع 6.8.0 الذي يحتوي على ملف البيان، وذكر أنه شحن التحديث التالي "دون أي تحذيرات من Apple."
القاسم المشترك: تقارن Apple إجاباتك بما يفعله الملف الثنائي المشحون ومحتوى الويب فيه فعليًا، لذا فإن جردًا مبنيًا من النسخة الحقيقية يكشف المشكلات الثلاث قبل أن تكشفها المراجعة.
كيف تنشر ملصقات الخصوصية وتحدّثها في App Store Connect؟
انشر ملصقات الخصوصية من قسم App Privacy الخاص بتطبيقك في App Store Connect. لا تصبح الإجابات فعّالة إلا بعد النقر على Publish، وتقول Apple إنه يمكنك تغييرها في أي وقت دون إرسال تحديث للتطبيق.
- في App Store Connect، اختر التطبيق، وانقر على App Privacy في الشريط الجانبي، ثم انقر على Get Started.
- حدّد ما إذا كنت أنت أو شركاؤك من الأطراف الثالثة تجمعون البيانات، واختر كل أنواع البيانات الواردة في تدقيقك، ثم انقر على Save.
- أجب عن أسئلة المتابعة لكل نوع بيانات، وانقر على Save، وراجع معاينة صفحة المنتج (Product Page Preview).
- انقر على Publish في أعلى اليمين وأكّد نافذة الإقرار بدقة المعلومات.
وفقًا لصفحة إدارة خصوصية التطبيق، تحتاج إلى دور صاحب الحساب (Account Holder) أو المسؤول (Admin) أو مدير التطبيق (App Manager). إذا لم تكن صفحة المنتج متاحة بعد، فستُنشر إجاباتك عند إتاحتها. وإذا كان التطبيق معروضًا للبيع بالفعل، فيجب أن تعكس إجاباتك البيانات التي يجمعها ذلك الإصدار فقط. أما التغييرات على روابط سياسة الخصوصية فـ"تصدر مع الإصدار التالي من تطبيقك." إذا كانت المراجعة قد أشارت بالفعل إلى مشكلات في الخصوصية، فابدأ بـدليل إصلاح حالات الرفض في App Store.
الأسئلة الشائعة
هل أحتاج إلى إرسال نسخة جديدة لتغيير ملصقات الخصوصية في App Store؟
لا. تنص صفحة خصوصية التطبيق لدى Apple على أنه يمكنك تحديث إجاباتك في أي وقت ولا تحتاج إلى إرسال تحديث للتطبيق لتغييرها. عدّل الإجابات ضمن App Privacy في App Store Connect ثم انقر على Publish. هناك استثناء واحد: التغييرات على رابط سياسة الخصوصية تصدر مع الإصدار التالي من تطبيقك. والتنبيه الآخر من Apple هو أن الإجابات الخاصة بتطبيق معروض للبيع بالفعل يجب أن تطابق الإصدار المتاح حاليًا.
هل تحتاج Firebase Crashlytics إلى ملف بيان خصوصية؟
نعم. اعتبارًا من أكتوبر 2026، تُدرج FirebaseCrashlytics ضمن قائمة Apple لحزم SDK التي تتطلب ملف بيان خصوصية وتوقيعًا. ينطبق الشرط عند إرسال تطبيق جديد يحتويها، أو تحديث يضيفها. ويشمل ذلك أي إصدار من حزمة مدرجة، وكذلك أي حزمة SDK تعيد تغليف إحداها. استخدم إصدارًا حديثًا من Firebase وتحقق من أن ملف PrivacyInfo.xcprivacy موجود فعلًا داخل إطار العمل (framework) بعد البناء.
ما الفرق بين ملف بيان الخصوصية وملصق الخصوصية؟
ملف بيان الخصوصية هو ملف PrivacyInfo.xcprivacy داخل تطبيقك أو داخل حزمة SDK يصف البيانات التي يجمعها الكود. عند التحضير للتوزيع، يجمع Xcode ملفات البيان من حزم SDK الخارجية في تقرير واحد. أما ملصق الخصوصية فهو مجموعة الإجابات التي تنشرها ضمن App Privacy في App Store Connect، وهي ما يراه المستخدمون في صفحة منتجك. استخدم تقرير Xcode كمُدخل لإجاباتك، لا كبديل عن تدقيقك الخاص.
هل أحتاج إلى نافذة App Tracking Transparency إذا كان ملصق الخصوصية يقول إنني أتتبع المستخدمين؟
عمليًا، نعم. يذكر مطورون في منتديات Apple Developer حالات رفض وفق الإرشاد 5.1.2 تقول إن معلومات الخصوصية تشير إلى التتبع، "ومع ذلك، لا تستخدم App Tracking Transparency لطلب إذن المستخدم." إذا كنت تتتبع فعلًا، فأضف نافذة ATT قبل بدء أي تتبع. وإذا لم تكن كذلك، فصحّح الملصق وأزل NSUserTrackingUsageDescription من النسخة.
من يستطيع تعديل إجابات App Privacy في App Store Connect؟
للإجابة عن أسئلة الخصوصية ونشرها تحتاج إلى أحد الأدوار: صاحب الحساب (Account Holder) أو المسؤول (Admin) أو مدير التطبيق (App Manager). أما تعديل رابط سياسة الخصوصية والرابط الاختياري لخيارات الخصوصية فمتاح أيضًا لدور التسويق (Marketing). ويمكن للمطورين الذين لا يملكون أحد هذه الأدوار إجراء جرد حزم SDK وتسليم الإجابات النهائية إلى مسؤول (Admin) لإدخالها ونشرها.
المصادر وقراءات إضافية
السياسات تتغير. راجع الوثائق الرسمية قبل النشر.
- تفاصيل خصوصية التطبيق على App Store - Apple Developer ↗تم التحقق في 27 أكتوبر 2026
- إدارة خصوصية التطبيق - مساعدة App Store Connect ↗تم التحقق في 27 أكتوبر 2026
- متطلبات حزم SDK من الأطراف الثالثة - Apple Developer ↗تم التحقق في 27 أكتوبر 2026
- مراجعة Apple ترفض التطبيق بسبب وجود التتبع في بيانات الخصوصية - منتديات Apple Developer ↗تم التحقق في 27 أكتوبر 2026
- رفض في App Store Connect بسبب استخدام Firebase Analytics - الإرشاد 5.1.2 - منتديات Apple Developer ↗تم التحقق في 27 أكتوبر 2026
- ITMS-91061: ملف بيان الخصوصية مفقود - ReactiveX/RxSwift البلاغ رقم 2625 ↗تم التحقق في 27 أكتوبر 2026
لنوصل تطبيقك إلى خط النهاية.
مكالمة مركّزة لتحديد ما يفصل تطبيقك عن صفحة منشورة في المتجر.
احجز مكالمة ↗

