זיהוי ייחודי של אפליקציות PWA באמצעות נכס מזהה המניפסט של אפליקציית האינטרנט

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

כדי לפתור את הבעיה הזו, יש נכס אופציונלי חדש מסוג id באפליקציית האינטרנט מפרט המניפסט, המאפשר להגדיר באופן מפורש את המזהה המשמש ב-PWA. הוספת המאפיין id למניפסט מסירה את התלות את start_url או את המיקום של המניפסט, ומאפשרת כדי שיעודכנו בעתיד.

מה עושה הנכס id?

המאפיין id מייצג את הזהות של ה-PWA בדפדפן. מתי הדפדפן רואה מניפסט שאין לו זהות שתואמת כבר התקנתם את PWA, המערכת תתייחס אליה בתור PWA חדשה, גם אם היא תוצג מאותה כתובת URL כמו PWA אחרת. אבל אם היא מזהה מניפסט עם זהות שתואם ל-PWA שכבר הותקנה, היא תתייחס אליה בתור אפליקציית ה-PWA שהותקנה.

תמיכה בדפדפנים

התמיכה בנכס id התחילה בגרסה 96 של Chrome.

מה צריך לעשות אם יש לי אפליקציה בלי id?

לא צריך לעשות שום דבר, ושום דבר לא ייכשל אם לא להוסיף id למניפסט של אפליקציית האינטרנט (כל עוד start_url וגם נתיב המניפסט נשאר ללא שינוי). כדי שאפליקציית ה-PWA תתאים לעתיד, אפשר להוסיף נכס id למניפסט של אפליקציית האינטרנט.

איך קובעים ומגדירים את id?

הדרך הבטוחה והמדויקת ביותר להגדיר את ה-id של PWA היא לבדוק את הערך שמחושב על ידי Chrome.

  1. באמצעות Chrome בגרסה 96 ומעלה, פותחים את החלונית מניפסט בחלונית Application ב-DevTools.
  2. מעבירים את העכבר מעל הסמל (!) לצד נכס מזהה האפליקציה. סמל ההסבר הקצר על (!) יופיע רק אם לא צוין id את קובץ המניפסט של אפליקציית האינטרנט.
  3. חשוב לשים לב לערך של id שמוצג בטיפ הכלי (ראו צילום מסך בהמשך).
  4. הוספת נכס id למניפסט של אפליקציית האינטרנט באמצעות הערך id שמוצג ב את ההסבר הקצר.

הסבר קצר על 'מזהה' עם ערך מסוים.

{
  ...
  id: "/?homescreen=1",
  start_url: "/?homescreen=1",
  ...
}

מה קורה אם לא מגדירים id?

אל דאגה, שום דבר לא ייכשל. החל מגרסה 96 של Chrome, הדפדפן יפיק id אם אין קובץ במניפסט על סמך start_url במניפסט של אפליקציית האינטרנט.

הוספה של id למניפסט של אפליקציית האינטרנט מאפשרת כדי לשנות את start_url ואת נתיב המניפסט (אם ורק אם הספציפי שלהם origin לא משתנה!), כי הדפדפן לזהות את ה-PWA על סמך ה-id שצוין, ולא על סמך start_url או נתיב המניפסט.

איך אפשר לבדוק את זה?

כדי לבדוק את ההתנהגות, פועלים לפי ההוראות הבאות: את השלבים הבאים:

  1. מתקינים את ה-PWA.
  2. פותחים את about://web-app-internals/ ובודקים את unhashed_app_id נכס start_url לאפליקציית ה-PWA שמותקנת.
  3. הוספת נכס id למניפסט של אפליקציית האינטרנט לפי השלבים שמפורטים איך מגדירים וקובעים את id שלמעלה.
  4. צריך להפעיל מחדש את הדפדפן באמצעות chrome://restart, ולהפעיל את PWA מהכתובת about://apps, לאחר מכן סוגרים את ה-PWA כדי לאלץ רענון של קובץ המניפסט.
  5. פותחים את about://web-app-internals/ ובודקים את הנכס manifest_id כדי אפליקציית ה-PWA שהותקנה כדי לוודא שהיא לא השתנתה.
  6. צריך לשנות את start_url במניפסט של אפליקציית האינטרנט.
  7. צריך להפעיל מחדש את הדפדפן באמצעות chrome://restart, ולהפעיל את PWA מהכתובת about://apps, לאחר מכן סוגרים את ה-PWA כדי לאלץ רענון של קובץ המניפסט.
  8. פותחים את about://web-app-internals/ ובודקים את הנכס start_url כדי אפליקציית ה-PWA שהותקנה כדי לוודא שהיא עודכנה כמצופה.

מקורות מידע נוספים