इंस्टॉल किए गए वेब ऐप्लिकेशन के ऑरिजिन को माइग्रेट करना

इंस्टॉल किए गए वेब ऐप्लिकेशन (पीडब्ल्यूए) को नए ऑरिजिन पर ट्रांसफ़र करने के लिए, आम तौर पर उपयोगकर्ताओं को पुराना ऐप्लिकेशन मैन्युअल तरीके से अनइंस्टॉल करना पड़ता है और नया ऐप्लिकेशन फिर से इंस्टॉल करना पड़ता है. इस प्रोसेस की वजह से, आम तौर पर ओएस-लेवल इंटिग्रेशन हट जाता है. जैसे, टास्कबार के शॉर्टकट और सूचना की अनुमतियां. वेब ऐप्लिकेशन ऑरिजिन माइग्रेशन, पुराने और नए ऑरिजिन के बीच सुरक्षित हैंडओवर की सुविधा देकर, इस ट्रांज़िशन को ऑटोमेट करता है.

माइग्रेशन की प्रोसेस में, दो चरणों में पुष्टि की जाती है: नई साइट, पुरानी साइट को अपनी पूर्ववर्ती साइट के तौर पर दावा करती है. साथ ही, पुरानी साइट, नई साइट को अपनी उत्तराधिकारी साइट के तौर पर अनुमति देती है.

ज़रूरी पाबंदियां

लागू करने के चरण

1. "एक ही साइट" स्टेटस की पुष्टि करना

ज़रूरी: नए और पुराने, दोनों ऑरिजिन "एक ही साइट" के होने चाहिए. उनका रजिस्टर किया जा सकने वाला डोमेन (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. माइग्रेशन के बारे में पहले से सिग्नल देना (ज़रूरी नहीं)

मौजूदा उपयोगकर्ताओं के लिए, माइग्रेशन को तुरंत ट्रिगर किया जा सकता है. इसके लिए, उन्हें नई साइट पर जाने की ज़रूरत नहीं है. बस पुरानी साइट के मेनिफ़ेस्ट को 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", पुराने ऐप्लिकेशन को बिना सूचना दिए नहीं मिटाता. ब्राउज़र, उपयोगकर्ता को एक डायलॉग बॉक्स दिखाएगा. इसमें उपयोगकर्ता को नए वर्शन पर अपडेट करने या ऐप्लिकेशन को पूरी तरह से हटाने का विकल्प मिलेगा.

फ़ॉलबैक और ब्राउज़र के लिए सहायता

मैन्युअल तरीके से फिर से इंस्टॉल करने का अनुरोध

जिन ब्राउज़र पर अपने-आप माइग्रेट होने की सुविधा काम नहीं करती है उनके लिए, उपयोगकर्ता पुराने इंस्टॉलेशन पर ही रहेगा. आपको पुराने ऑरिजिन पर एक यूज़र इंटरफ़ेस (यूआई) एलिमेंट (जैसे, सूचना बैनर) लागू करना चाहिए, जो उपयोगकर्ता को नई साइट पर ले जाए.

उपयोगकर्ता की सेटिंग माइग्रेट नहीं की जाएंगी. साथ ही, पुराना ऐप्लिकेशन अपने-आप अनइंस्टॉल नहीं होगा.