העברת המקור של אפליקציית אינטרנט מותקנת

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

ההעברה היא תהליך אימות דו-שלבי: הגרסה החדשה של Google Sites תובעת בעלות על האתר הישן כקודמו, והאתר הישן מאשר את הגרסה החדשה של Google Sites כממשיך דרכו.

מגבלות חשובות

שלבי ההטמעה

1. אימות הסטטוס Same-Site

חובה: גם המקור החדש וגם המקור הישן חייבים להיות "Same-Site". הם חייבים להיות באותו דומיין שניתן לרישום (eTLD+1).

  • מותר: העברה מ-app.example.com אל new.example.com (שניהם משתפים את example.com).
  • מותר: מעבר מ-example.com/app1 אל example.com/app2.
  • אסור: העברה מ-example.com אל example.org (דומיינים שונים שניתן לרשום).

2. הגדרת האפליקציה החדשה

האפליקציה החדשה צריכה להצהיר על האפליקציה הקודמת. לאפליקציה החדשה צריך להיות id.

ב-manifest.json של האתר החדש, מוסיפים את השדה migrate_from:

{
  "name": "My New App",
  "id": "/demo.html",
  "start_url": "/demo.html",
  "migrate_from": [
    {
      "id": "https://old-app.example.com/"
    }
  ]
}

3. אישור ההעברה במקור הישן

המקור הישן חייב לאשר במפורש את ההעברה כדי למנוע חטיפת מקור. יוצרים קובץ תצורה שמוגש מהספרייה .well-known.

מיקום הקובץ: https://old-app.example.com/.well-known/web-app-origin-association

{
  "https://new-app.example.com": {
    "allow_migration": true
  }
}

4. לסמן באופן יזום את ההעברה (אופציונלי)

כדי להפעיל את ההעברה באופן מיידי למשתמשים קיימים בלי לחכות שהם יבקרו באתר החדש ב-Google Sites, צריך לעדכן את המניפסט של האתר הישן עם רמז migrate_to.

{
  "migrate_to": [
    {
      "id": "https://new-app.example.com/",
      "install_url": "https://new-app.example.com/demo.html"
    }
  ]
}

5. דרישה מהמשתמשים לבצע העברה (אופציונלי)

כברירת מחדל, המערכת מציעה למשתמשים להעביר את הנתונים. כדי להפוך את המעבר לחובה, צריך להגדיר את behavior ל-force במניפסט של האפליקציה החדשה.

{
  "migrate_from": [
    {
      "id": "https://old-app.example.com/",
      "behavior": "force"
    }
  ]
}

הערה: behavior: "force" לא מוחק את האפליקציה הישנה באופן אוטומטי. הדפדפן יציג למשתמש תיבת דו-שיח שבה הוא יתבקש לעדכן לגרסה החדשה או להסיר את האפליקציה לגמרי.

חלופות ותמיכה בדפדפנים

הנחיה להתקנה מחדש באופן ידני

בדפדפנים שלא תומכים בהעברה אוטומטית, המשתמש יישאר בהתקנה הישנה. כדאי להטמיע רכיב בממשק המשתמש (למשל, באנר של התראה) במקור הישן, שמפנה את המשתמש לאתר חדש ב-Google Sites.

הגדרות המשתמש לא יועברו, והאפליקציה הישנה לא תוסר באופן אוטומטי.