0

مدقق Web App Manifest

تحقق من صلاحية manifest.json لتطبيق ويب تقدمي (PWA) وفقاً لمواصفات Web App Manifest، واستعرض الأيقونات القابلة للإخفاء مقابل المنطقة الآمنة للأيقونة التكيفية في Android.

🔒 تتم معالجتها بالكامل في متصفحك — ولا يتم تحميل أي شيء تدخله هنا على الإطلاق.

📄

أسقط manifest.json هنا

أو انقر للاستعراض — ملف .json واحد

🖼️

أسقط ملفات الأيقونات هنا

أو انقر للاستعراض — PNG/JPEG/WebP/SVG، يسمح بملفات متعددة

جارٍ المعالجة... 0%
تحليل manifest.json
التحقق من الحقول
عرض معاينات الأيقونات
تم

النتيجة

تطبيق الويب التقدمي يُثبَّت بشكل نظيف فقط عندما يستوفي ملف manifest.json الحقول التي تتحقق منها المتصفحات ومتاجر التطبيقات فعليًا. يقوم هذا المدقق بتحليل البيان المرفوع ويتصفح مواصفة W3C Web App Manifest حقلًا حقلًا: ينبه إلى غياب name و short_name، أو مصفوفة أيقونات فارغة أو غير صحيحة، أو أيقونات تفتقر إلى src، sizes، أو type، أو start_url غير قابل للتحليل، أو قيمة display غير معروفة، أو سلاسل theme_color أو background_color ليست ألوان CSS صالحة. تُعرض كل ملاحظة بجملة واضحة — وليس نصًا خامًا من المواصفة — لتعرف بالضبط ما يجب إصلاحه ولماذا هو مهم لقابلية التثبيت.

الميزة الأبرز هي معاينة المنطقة الآمنة للأيقونة القابلة للإخفاء. الأيقونات التكيفية لنظام Android تطبق شكل إخفاء يختاره النظام — دائرة، مربع مقوّس الزوايا، دمعة، والمزيد — على أي أيقونة محددة "purpose": "maskable". أي شيء خارج دائرة مركزية تغطي 40% من مساحة عرض الأيقونة يمكن قصه اعتمادًا على الإخفاء الذي يطبقه الجهاز. ارفع ملفات صور الأيقونات المشار إليها في بيانك إلى جانب manifest.json، وهذه الأداة تطابقها حسب اسم الملف، وترسم كل أيقونة قابلة للإخفاء على canvas بحجمها المعلن، وتراكب دائرة المنطقة الآمنة الفعلية لترى بأم عينيك إن كان تصمييمك ينجو من القص.

شارة النجاح/الفشل تحت كل معاينة ليست مجرد علامة شكلية — إنها تأتي من تحليل حقيقي لكل بيكسل في بيانات الصورة المفكوكة. الأداة تقيس مقدار المحتوى غير الخلفي الموجود خارج دائرة المنطقة الآمنة (محتوى سيقصه الإخفاء) ومقدار البكسلات الشفافة في الأيقونة (الأيقونات القابلة للإخفاء يجب أن تمتلك خلفية معتمة بالكامل، لأن الشفافية تسمح بظهور لون الإخفاء الأساسي). كلا الفحصين يطبقان على الصورة النقطية الفعلية التي رفعتها، فالنتيجة تعكس ملف أيقونتك الحقيقي، وليس تخمينًا.

كل شيء يحدث محليًا في متصفحك: يُقرأ manifest.json عبر File API، وتُفك الأيقونات باستخدام createImageBitmap أو FileReader/Image كبديل، وتحلل البيكسلات على canvas في الذاكرة. لا شيء يرفع إلى خادم، وهذا مهم إن كان بيانك يشير إلى اسم تطبيق غير منشور بعد، أو مسارات start_url داخلية، أو أيقونات قيد التطوير.