0

בודק תקינות Web App Manifest

בודק תקינות של manifest.json ל-PWA לפי מפרט Web App Manifest ומציג תצוגה מקדימה של סמלי maskable אל מול אזור הבטיחות של Android לסמלים אדפטיביים.

🔒 מעובד כולו בדפדפן שלך - שום דבר שתזין כאן לא יועלה לעולם.

📄

גרור לכאן manifest.json

או לחץ לבחירה — קובץ json בודד

🖼️

גרור לכאן קובצי סמל

או לחץ לבחירה — PNG/JPEG/WebP/SVG, ניתן לבחור מספר קבצים

מעבד... 0%
מנתח manifest.json
מאמת שדות
מציג סמלים מקדימה
הסתיים

תוצאה

אפליקציית Progressive Web מותקנת חלק רק כשה-manifest.json שלה עומד בדרישות השדות שהדפדפנים וחנויות האפליקציות בודקים בפועל. הבודק הזה מנתח את המניפסט שהעלית ועובר על מפרט Web App Manifest של W3C שדה אחר שדה: הוא מסמן חסר של name ו-short_name, מערך icons ריק או פגום, סמלים ללא src, sizes או type, start_url שלא ניתן לפענוח, ערך display לא מזוהה, ומחרוזות theme_color או background_color שאינן צבעי CSS תקינים. כל ממצא מוצג כמשפט פשוט בעברית — לא כציטוט גולמי מהמפרט — כך שתדע בדיוק מה לתקן ולמה זה קריטי להתקנה.

הפיצ'ר המנצח הוא תצוגת האזור הבטוח לסמלי maskable. סמלי Android אדפטיביים מפעילים צורת מסכה שנבחרת על ידי מערכת ההפעלה — עיגול, ריבוע מעוגל, טיפה ועוד — על כל סמל שמסומן "purpose": "maskable". כל מה שמחוץ לעיגול במרכז שמכסה 40% משטח הסמל עלול להיחתך בהתאם למסכה שהמכשיר מחיל. העלה את קובצי הסמל שהמניפסט מפנה אליהם יחד עם manifest.json, והכלי הזה מתאים אותם לפי שם קובץ, מצייר כל סמל maskable ב-canvas בגודלו המוצהר, ומניח עליו בדיוק את עיגול האזור הבטוח, כדי שתראה במו עיניך שהתוכן הגרפי שורד את החיתוך.

תו העובר/נכשל מתחת לכל תצוגה מקדימה אינו סימון קוסמטי ברשימה — הוא מגיע מניתוח פיקסלים אמיתי של נתוני התמונה שפוענחו. הכלי מודד כמה תוכן לא-רקע נמצא מחוץ לעיגול האזור הבטוח (תוכן שהמסכה תחתוך) וכמה שטח מהסמל שקוף (סמלי maskable צריכים רקע אטום מלא, כי שקיפות מאפשרת לצבע המסכה לבלוט דרכה). שתי הבדיקות רצות על מפת הסיביות האמיתית שהעלית, כך שהתוצאה משקפת את קובץ הסמל האמיתי, לא ניחוש.

הכול קורה מקומית בדפדפן: manifest.json נקרא עם File API, סמלים מפוענחים ב-createImageBitmap או בגיבוי FileReader/Image, ופיקסלים מנותחים על canvas בזיכרון. שום דבר לא מועלה לשרת, מה שקריטי כשהמניפסט מפנה לשם אפליקציה לא-ציבורי עדיין, נתיבי start_url פנימיים או סמלים בפיתוח.