אימות מניפסט של אפליקציות אינטרנט
אמת PWA manifest.json מול מפרט ה-Web App Manifest והצג תצוגה מקדימה של אייקונים הניתנים למסיכה מול האזור הבטוח של אנדרואיד עם סמלים אדפטיביים.
תוצאה
אפליקציית אינטרנט פרוגרסיבית מותקנת בצורה נקייה רק כאשר manifest.json שלה עונה על השדות שדפדפנים וחנויות אפליקציות באמת בודקות. האימות הזה מנתח את המניפסט שהעלית ועובר דרך המפרט של W3C Web App Manifest שדה אחר שדה: הוא מסמן שם חסר ו-short_name, מערך סמלים ריק או פגום, סמלים חסרים src, sizes, or type, start_url בלתי ניתן לניתוח, ערך תצוגה לא מזוהה, ו-theme_color או רקע_color strings. כל ממצא מוצג כמשפט באנגלית פשוט - לא ציטוט מפרט גולמי - כך שאתה יודע בדיוק מה לתקן ומדוע זה חשוב לאפשרות ההתקנה.
התכונה הרוצחת היא התצוגה המקדימה של האזור הבטוח הניתן למסיכה. הסמלים האדפטיביים של אנדרואיד מיישמים צורת מסכה שנבחרה במערכת ההפעלה - עיגול, סקווירקל, דמעה ועוד - על כל אייקון המסומן "מטרה": "ניתן למסיכה". כל דבר מחוץ למעגל ממורכז המכסה 40% מנקודת התצוגה של הסמל ניתן לגזירה בהתאם למסכה שהמכשיר מחיל. העלה את קובצי תמונת הסמלים שאליהם מתייחסים המניפסט שלך לצד manifest.json, והכלי הזה מתאים להם לפי שם הקובץ, מצייר כל אייקון שניתן למסיכה על בד בגודלו המוצהר, ומכסה את העיגול המדויק של אזור בטוח, כך שתוכל לראות במו עיניך אם יצירות האמנות שלך שורדות את החיתוך.
תג המעבר/נכשל מתחת לכל תצוגה מקדימה אינו פריט רשימת בדיקה קוסמטי - הוא מגיע מניתוח אמיתי לכל פיקסל של נתוני התמונה המפוענחים. הכלי מודד כמה תוכן שאינו ברקע יושב מחוץ למעגל הבטוח (תוכן שמסיכה תחתוך) וכמה מהסמל שקוף (סמלים הניתנים למסיכה צריכים להיות בעלי רקע אטום מלא, מכיוון ששקיפות מאפשרת לצבע המסכה הבסיסי להופיע). שני הבדיקות פועלות מול מפת הסיביות שהעלית בפועל, כך שהתוצאה משקפת את קובץ הסמל האמיתי שלך, לא ניחוש.
הכל קורה באופן מקומי בדפדפן שלך: manifest.json נקרא עם ה-API של File, אייקונים מפוענחים באמצעות createImageBitmap או עם FileReader/Image fallback, ופיקסלים מנותחים על בד בזיכרון. שום דבר לא מועלה לשרת, מה שחשוב אם המניפסט שלך מתייחס לשם אפליקציה שעדיין לא פומבי, נתיבי start_url פנימיים או אייקונים בפיתוח.