🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
OmniRoute ਇੱਕ ਪੂਰੀ ਤਰ੍ਹਾਂ ਇੰਸਟਾਲ ਕੀਤੀ ਜਾ ਸਕਣ ਵਾਲੀ Progressive Web App ਵਜੋਂ ਉਪਲਬਧ ਹੈ। ਜਦੋਂ ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਮੋਬਾਈਲ ਬ੍ਰਾਊਜ਼ਰ — Android (Chrome) ਜਾਂ iOS (Safari) — ਤੋਂ ਡੈਸ਼ਬੋਰਡ ਖੋਲ੍ਹਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ "ਹੋਮ ਸਕ੍ਰੀਨ 'ਤੇ ਸ਼ਾਮਲ ਕਰੋ" ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬਿਨਾਂ ਕਿਸੇ ਐਪ ਸਟੋਰ ਦੇ ਮੂਲ ਐਪ ਵਰਗਾ ਅਨੁਭਵ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ।
Progressive Web App, OmniRoute ਵੈੱਬ ਡੈਸ਼ਬੋਰਡ ਨੂੰ ਅਜਿਹੇ ਰੂਪ ਵਿੱਚ ਬਦਲ ਦਿੰਦੀ ਹੈ ਜੋ ਮੂਲ ਮੋਬਾਈਲ ਐਪ ਵਰਗਾ ਦਿਖਾਈ ਅਤੇ ਮਹਿਸੂਸ ਹੁੰਦਾ ਹੈ। ਇੰਸਟਾਲ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਇਹ:
- ਆਪਣੇ ਆਈਕਨ ਨਾਲ ਤੁਹਾਡੀ ਹੋਮ ਸਕ੍ਰੀਨ ਤੋਂ ਲਾਂਚ ਹੁੰਦੀ ਹੈ
- ਪੂਰੀ ਸਕ੍ਰੀਨ ਵਿੱਚ ਖੁੱਲ੍ਹਦੀ ਹੈ — ਕੋਈ ਬ੍ਰਾਊਜ਼ਰ ਐਡਰੈੱਸ ਬਾਰ ਜਾਂ ਟੈਬ UI ਨਹੀਂ
- ਸਮਰਪਿਤ ਕਨੈਕਟਿਵਿਟੀ ਪੰਨੇ ਨਾਲ ਆਫ਼ਲਾਈਨ ਕੰਮ ਕਰਦੀ ਹੈ
- ਤੇਜ਼ੀ ਨਾਲ ਲੋਡ ਕਰਨ ਲਈ ਸਥਿਰ ਐਸੈੱਟ ਕੈਸ਼ ਕਰਦੀ ਹੈ
- ਪੋਰਟ੍ਰੇਟ ਅਤੇ ਲੈਂਡਸਕੇਪ ਦੋਵਾਂ ਦਿਸ਼ਾਵਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦੀ ਹੈ
- Chrome ਵਿੱਚ OmniRoute ਡੈਸ਼ਬੋਰਡ ਖੋਲ੍ਹੋ:
http://YOUR_IP:20128 - Chrome ਆਪਣੇ ਆਪ "OmniRoute ਨੂੰ ਹੋਮ ਸਕ੍ਰੀਨ 'ਤੇ ਸ਼ਾਮਲ ਕਰੋ" ਬੈਨਰ ਦਿਖਾਏਗਾ, ਜਾਂ:
- ⋮ ਮੀਨੂ (ਤਿੰਨ ਬਿੰਦੀਆਂ) 'ਤੇ ਟੈਪ ਕਰੋ → "ਹੋਮ ਸਕ੍ਰੀਨ 'ਤੇ ਸ਼ਾਮਲ ਕਰੋ" ਜਾਂ "ਐਪ ਇੰਸਟਾਲ ਕਰੋ"
- ਪੁਸ਼ਟੀਕਰਨ ਸੁਨੇਹੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ
- OmniRoute ਤੁਹਾਡੀ ਹੋਮ ਸਕ੍ਰੀਨ 'ਤੇ ਇੱਕ ਸੁਤੰਤਰ ਐਪ ਵਜੋਂ ਦਿਖਾਈ ਦੇਵੇਗੀ
- Safari ਵਿੱਚ OmniRoute ਡੈਸ਼ਬੋਰਡ ਖੋਲ੍ਹੋ:
http://YOUR_IP:20128 - ਸਾਂਝਾ ਕਰੋ ਬਟਨ (ਤੀਰ ਵਾਲਾ ਡੱਬਾ) 'ਤੇ ਟੈਪ ਕਰੋ
- ਹੇਠਾਂ ਸਕ੍ਰੋਲ ਕਰੋ ਅਤੇ "ਹੋਮ ਸਕ੍ਰੀਨ 'ਤੇ ਸ਼ਾਮਲ ਕਰੋ" 'ਤੇ ਟੈਪ ਕਰੋ
- ਇਸਨੂੰ ਨਾਮ ਦਿਓ (ਮੂਲ ਨਾਮ "OmniRoute" ਹੈ) ਅਤੇ ਸ਼ਾਮਲ ਕਰੋ 'ਤੇ ਟੈਪ ਕਰੋ
- OmniRoute ਐਪ ਆਈਕਨ ਸਮੇਤ ਤੁਹਾਡੀ ਹੋਮ ਸਕ੍ਰੀਨ 'ਤੇ ਦਿਖਾਈ ਦੇਵੇਗੀ
- OmniRoute ਡੈਸ਼ਬੋਰਡ ਖੋਲ੍ਹੋ
- ਐਡਰੈੱਸ ਬਾਰ ਵਿੱਚ ਇੰਸਟਾਲ ਆਈਕਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ (ਜਾਂ ⋮ → "OmniRoute ਇੰਸਟਾਲ ਕਰੋ...")
- ਪੁਸ਼ਟੀਕਰਨ ਸੁਨੇਹੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ
- OmniRoute ਇੱਕ ਸੁਤੰਤਰ ਵਿੰਡੋ ਵਜੋਂ ਖੁੱਲ੍ਹਦੀ ਹੈ — ਕੋਈ ਟੈਬ ਨਹੀਂ, ਕੋਈ ਐਡਰੈੱਸ ਬਾਰ ਨਹੀਂ
ਮੈਨੀਫੈਸਟ ਨੂੰ display: "fullscreen" ਨਾਲ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਿਸਦਾ ਅਰਥ ਹੈ ਕਿ ਇੰਸਟਾਲ ਕੀਤੀ ਐਪ ਪੂਰੀ ਸਕ੍ਰੀਨ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ — ਕੋਈ ਬ੍ਰਾਊਜ਼ਰ ਕ੍ਰੋਮ ਨਹੀਂ ਅਤੇ ਸਟੇਟਸ ਬਾਰ ਓਵਰਲੈਪ ਨਹੀਂ। ਇਸ ਨਾਲ ਡੈਸ਼ਬੋਰਡ ਸੱਚਮੁੱਚ ਮੂਲ ਐਪ ਵਰਗਾ ਮਹਿਸੂਸ ਹੁੰਦਾ ਹੈ।
OmniRoute ਵਿੱਚ ਇੱਕ ਸਰਵਿਸ ਵਰਕਰ (sw.js) ਸ਼ਾਮਲ ਹੈ ਜੋ ਬੁੱਧੀਮਾਨ ਕੈਸ਼ਿੰਗ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
| ਐਸੈੱਟ ਦੀ ਕਿਸਮ | ਰਣਨੀਤੀ | ਵਿਹਾਰ |
|---|---|---|
| ਐਪ ਸ਼ੈੱਲ | ਪਹਿਲਾਂ ਕੈਸ਼ | /, /offline, ਮੈਨੀਫੈਸਟ ਅਤੇ ਆਈਕਨ ਇੰਸਟਾਲੇਸ਼ਨ ਵੇਲੇ ਪਹਿਲਾਂ ਹੀ ਕੈਸ਼ ਕੀਤੇ ਜਾਂਦੇ ਹਨ |
| ਸਥਿਰ ਐਸੈੱਟ (CSS, JS, ਚਿੱਤਰ, ਫੌਂਟ) | ਕੈਸ਼ ਫ਼ਾਲਬੈਕ ਨਾਲ ਪਹਿਲਾਂ ਨੈੱਟਵਰਕ | ਨੈੱਟਵਰਕ ਤੋਂ ਨਵੀਂ ਸਮੱਗਰੀ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ; ਆਫ਼ਲਾਈਨ ਹੋਣ 'ਤੇ ਕੈਸ਼ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ |
Next.js ਬੰਡਲ (/_next/) |
ਕੈਸ਼ ਅੱਪਡੇਟ ਨਾਲ ਪਹਿਲਾਂ ਨੈੱਟਵਰਕ | ਨੈੱਟਵਰਕ ਤੋਂ ਪ੍ਰਾਪਤ ਕਰਕੇ ਕੈਸ਼ ਅੱਪਡੇਟ ਕਰਦਾ ਹੈ; ਆਫ਼ਲਾਈਨ ਹੋਣ 'ਤੇ ਕੈਸ਼ ਕੀਤਾ ਸੰਸਕਰਣ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ |
| ਨੇਵੀਗੇਸ਼ਨ ਬੇਨਤੀਆਂ | ਬਾਈਪਾਸ (ਕਦੇ ਇੰਟਰਸੈਪਟ ਨਹੀਂ ਹੁੰਦੀਆਂ) | ਬ੍ਰਾਊਜ਼ਰ HTTP/3→HTTP/2 ਫ਼ਾਲਬੈਕ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ; ਇੱਕ ਨਿਸ਼ਕਿਰਿਆ QUIC ਸਾਕਟ ਨੂੰ Response.error() ਨਹੀਂ ਬਣਨਾ ਚਾਹੀਦਾ |
API / ਡੈਸ਼ਬੋਰਡ ਰੂਟ (/api/, /a2a, /dashboard) |
ਬਾਈਪਾਸ (ਕਦੇ ਕੈਸ਼ ਨਹੀਂ ਹੁੰਦੇ) | ਹਮੇਸ਼ਾ ਸਿੱਧੇ ਸਰਵਰ ਕੋਲ ਜਾਂਦੇ ਹਨ — ਸਰਵਿਸ ਵਰਕਰ ਕਦੇ ਵੀ ਇਨ੍ਹਾਂ ਨੂੰ ਇੰਟਰਸੈਪਟ ਨਹੀਂ ਕਰਦਾ |
ਜਦੋਂ ਨੈੱਟਵਰਕ ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦਾ ਅਤੇ ਵਰਤੋਂਕਾਰ ਕਿਸੇ ਨਵੇਂ ਪੰਨੇ 'ਤੇ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਸਰਵਿਸ ਵਰਕਰ ਇੱਕ ਸਮਰਪਿਤ /offline ਪੰਨਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜੋ:
- ਇੱਕ ਸਪਸ਼ਟ "ਕਨੈਕਟਿਵਿਟੀ ਸਮੱਸਿਆ" ਸੁਨੇਹਾ ਦਿਖਾਉਂਦਾ ਹੈ
- ਇੱਕ ਲਾਈਵ ਆਨਲਾਈਨ/ਆਫ਼ਲਾਈਨ ਸਥਿਤੀ ਸੂਚਕ ਦਿਖਾਉਂਦਾ ਹੈ ਜੋ ਰੀਅਲ ਟਾਈਮ ਵਿੱਚ ਅੱਪਡੇਟ ਹੁੰਦਾ ਹੈ
- ਕਨੈਕਟਿਵਿਟੀ ਵਾਪਸ ਆਉਣ 'ਤੇ ਮੁੜ ਲੋਡ ਕਰਨ ਲਈ "ਕਨੈਕਸ਼ਨ ਮੁੜ ਅਜ਼ਮਾਓ" ਬਟਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ
- ਨਿਦਾਨ ਲਈ ਸਥਿਤੀ ਪੰਨੇ ਦਾ ਲਿੰਕ ਦਿੰਦਾ ਹੈ
OmniRoute ਹਰ ਪਲੇਟਫਾਰਮ ਲਈ ਅਨੁਕੂਲਿਤ ਆਈਕਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
| ਫ਼ਾਈਲ | ਆਕਾਰ | ਇਸ ਵੱਲੋਂ ਵਰਤੀ ਜਾਂਦੀ ਹੈ |
|---|---|---|
icon-512.png |
512×512 | Android ਇੰਸਟਾਲੇਸ਼ਨ ਸੁਨੇਹਾ, ਸਪਲੈਸ਼ ਸਕ੍ਰੀਨ |
apple-touch-icon.png |
180×180 | iOS ਹੋਮ ਸਕ੍ਰੀਨ ਆਈਕਨ |
icon-192.svg |
192×192 (ਵੈਕਟਰ) | Android ਅਡੈਪਟਿਵ ਆਈਕਨ |
apple-touch-icon.svg |
180×180 (ਵੈਕਟਰ) | Apple ਫ਼ਾਲਬੈਕ |
favicon.svg |
ਵੈਕਟਰ | ਬ੍ਰਾਊਜ਼ਰ ਟੈਬ |
favicon.ico |
ਕਈ ਆਕਾਰਾਂ ਵਾਲਾ | ਪੁਰਾਣੇ ਬ੍ਰਾਊਜ਼ਰ |
ਸਰਵਿਸ ਵਰਕਰ ਰੂਟ ਲੇਆਉਟ ਵਿੱਚ <PwaRegister /> ਕੰਪੋਨੈਂਟ ਰਾਹੀਂ ਆਪਣੇ ਆਪ ਰਜਿਸਟਰ ਹੁੰਦਾ ਹੈ। ਵਰਤੋਂਕਾਰ ਵੱਲੋਂ ਕਿਸੇ ਕਾਰਵਾਈ ਦੀ ਲੋੜ ਨਹੀਂ — ਜਿਵੇਂ ਹੀ ਬ੍ਰਾਊਜ਼ਰ ਵੈਧ ਮੈਨੀਫੈਸਟ ਅਤੇ ਸਰਵਿਸ ਵਰਕਰ ਦਾ ਪਤਾ ਲਗਾਉਂਦਾ ਹੈ, ਐਪ ਇੰਸਟਾਲ ਕਰਨ ਯੋਗ ਹੋ ਜਾਂਦੀ ਹੈ।
Next.js ਵੱਲੋਂ src/app/manifest.ts ਰਾਹੀਂ ਤਿਆਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ:
{
"name": "OmniRoute",
"short_name": "OmniRoute",
"description": "OmniRoute is an AI gateway for multi-provider LLMs. One endpoint for all your AI providers.",
"start_url": "/",
"scope": "/",
"display": "fullscreen",
"orientation": "any",
"background_color": "#0b0f1a",
"theme_color": "#0b0f1a",
"icons": [
{
"src": "/icon-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any maskable"
},
{ "src": "/apple-touch-icon.png", "sizes": "180x180", "type": "image/png" }
]
}ਇੱਕ ਸਧਾਰਨ ਸਰਵਿਸ ਵਰਕਰ (ਕਿਸੇ ਫਰੇਮਵਰਕ ਨਿਰਭਰਤਾ ਤੋਂ ਬਿਨਾਂ), ਜਿਸ ਵਿੱਚ ਇਹ ਸ਼ਾਮਲ ਹਨ:
- ਇੰਸਟਾਲ ਪੜਾਅ: ਐਪ ਸ਼ੈੱਲ (ਰੂਟ, ਆਫਲਾਈਨ ਪੰਨਾ, ਮੈਨੀਫੈਸਟ, ਆਈਕਨ) ਨੂੰ ਪਹਿਲਾਂ ਹੀ ਕੈਸ਼ ਕਰਦਾ ਹੈ
- ਐਕਟੀਵੇਟ ਪੜਾਅ: ਪੁਰਾਣੇ ਕੈਸ਼ ਵਰਜਨਾਂ ਨੂੰ ਹਟਾਉਂਦਾ ਹੈ ਅਤੇ ਸਾਰੇ ਕਲਾਇੰਟਾਂ ਉੱਤੇ ਕੰਟਰੋਲ ਹਾਸਲ ਕਰਦਾ ਹੈ
- ਫੈਚ ਪੜਾਅ: ਬੇਨਤੀ ਦੀ ਕਿਸਮ (ਨੇਵੀਗੇਸ਼ਨ, ਸਟੈਟਿਕ ਐਸੈੱਟ, API) ਦੇ ਆਧਾਰ 'ਤੇ ਸਮਝਦਾਰ ਰਾਊਟਿੰਗ ਕਰਦਾ ਹੈ
- ਕੈਸ਼ ਵਰਜਨਿੰਗ:
omniroute-pwa-v3— ਅੱਪਡੇਟ ਤੋਂ ਬਾਅਦ ਨਵਾਂ ਕੈਸ਼ ਲਾਜ਼ਮੀ ਬਣਾਉਣ ਲਈ ਇਸ ਨੂੰ ਵਧਾਓ
ਰੂਟ ਲੇਆਉਟ PWA ਅਨੁਕੂਲਤਾ ਲਈ ਲੋੜੀਂਦੇ ਸਾਰੇ ਮੈਟਾ ਟੈਗ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
/manifest.webmanifestਲਈmanifestਲਿੰਕ- iOS ਸਟੈਂਡਅਲੋਨ ਮੋਡ ਲਈ
apple-web-app-capable: true apple-web-app-status-bar-style: black-translucent- Android Chrome ਲਈ
mobile-web-app-capable: yes theme-color: #0b0f1a- ਕਿਨਾਰੇ-ਤੋਂ-ਕਿਨਾਰੇ ਰੈਂਡਰਿੰਗ ਲਈ
viewport-fit: cover
src/shared/components/PwaRegister.tsx ਵਿੱਚ ਸਥਿਤ ਇਹ ਕਲਾਇੰਟ ਕੰਪੋਨੈਂਟ:
- ਮਾਊਂਟ ਹੋਣ 'ਤੇ ਚੱਲਦਾ ਹੈ (ਸਿਰਫ਼ ਕਲਾਇੰਟ-ਸਾਈਡ)
- ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ
serviceWorkerਸਮਰਥਨ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ /sw.jsਨੂੰ ਚੁੱਪਚਾਪ ਰਜਿਸਟਰ ਕਰਦਾ ਹੈ (ਐਪ ਨੂੰ ਬਲੌਕ ਹੋਣ ਤੋਂ ਬਚਾਉਣ ਲਈ ਗਲਤੀਆਂ ਨੂੰ ਅਣਡਿੱਠਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ)- ਕੁਝ ਵੀ ਰੈਂਡਰ ਨਹੀਂ ਕਰਦਾ (
return null) — ਇਹ ਸਿਰਫ਼ ਸਾਈਡ-ਇਫੈਕਟ ਵਾਲਾ ਕੰਪੋਨੈਂਟ ਹੈ
Android ਉੱਤੇ Termux ਰਾਹੀਂ OmniRoute ਚਲਾਉਣ ਵੇਲੇ, PWA ਬਿਨਾਂ ਕਿਸੇ ਰੁਕਾਵਟ ਦੇ ਕੰਮ ਕਰਦਾ ਹੈ:
- Termux ਵਿੱਚ OmniRoute ਸ਼ੁਰੂ ਕਰੋ:
npx omniroute - ਉਸੇ ਫ਼ੋਨ ਉੱਤੇ Chrome ਵਿੱਚ ਖੋਲ੍ਹੋ:
http://localhost:20128 - "ਹੋਮ ਸਕ੍ਰੀਨ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ" ਰਾਹੀਂ PWA ਇੰਸਟਾਲ ਕਰੋ
- PWA ਸਥਾਨਕ Termux ਸਰਵਰ ਨਾਲ ਕਨੈਕਟ ਹੁੰਦਾ ਹੈ — ਸਭ ਕੁਝ ਡਿਵਾਈਸ ਉੱਤੇ ਹੀ ਚੱਲਦਾ ਹੈ
ਇਸ ਸੁਮੇਲ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਤੁਹਾਡਾ Android ਫ਼ੋਨ ਸਰਵਰ (Termux) ਅਤੇ ਕਲਾਇੰਟ (PWA), ਦੋਵੇਂ ਹੈ — ਇੱਕ ਸੰਪੂਰਨ, ਸਵੈ-ਨਿਰਭਰ AI ਗੇਟਵੇ।
PWA ਨੂੰ ਕਿਸੇ ਵੀ ਅਜਿਹੇ ਡਿਵਾਈਸ ਉੱਤੇ ਇੰਸਟਾਲ ਕਰੋ ਜਿਸ ਕੋਲ ਤੁਹਾਡੇ OmniRoute ਸਰਵਰ ਤੱਕ ਬ੍ਰਾਊਜ਼ਰ ਪਹੁੰਚ ਹੋਵੇ:
- ਕੋਈ ਹੋਰ ਫ਼ੋਨ/ਟੈਬਲੈੱਟ:
http://PHONE_IP:20128ਉੱਤੇ ਜਾਓ ਅਤੇ PWA ਇੰਸਟਾਲ ਕਰੋ - ਲੈਪਟਾਪ: Chrome/Edge ਖੋਲ੍ਹੋ ਅਤੇ ਇਸ ਨੂੰ ਡੈਸਕਟਾਪ PWA ਵਜੋਂ ਇੰਸਟਾਲ ਕਰੋ
- ਬ੍ਰਾਊਜ਼ਰ ਵਾਲਾ ਸਮਾਰਟ TV: ਡੈਸ਼ਬੋਰਡ ਨੂੰ ਪੂਰੀ ਸਕ੍ਰੀਨ ਵਿੱਚ ਖੋਲ੍ਹੋ
PWA ਸਿਰਲੇਖ Dashboard → Settings ਵਿਚਲੀ ਇੰਸਟੈਂਸ ਦਾ ਨਾਮ ਸੈਟਿੰਗ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਆਪਣੇ ਇੰਸਟੈਂਸ ਦਾ ਨਾਮ ਬਦਲ ਕੇ "ਮੇਰਾ AI ਗੇਟਵੇ" ਰੱਖਦੇ ਹੋ, ਤਾਂ ਇੰਸਟਾਲ ਕੀਤਾ PWA ਉਹੀ ਨਾਮ ਦਿਖਾਏਗਾ।
ਜੇ ਤੁਸੀਂ Dashboard → Settings ਰਾਹੀਂ ਕੋਈ ਕਸਟਮ ਫੈਵੀਕਾਨ ਅੱਪਲੋਡ ਕਰਦੇ ਹੋ, ਤਾਂ ਡੈਸਕਟਾਪ ਉੱਤੇ PWA ਆਈਕਨ ਕਸਟਮ ਆਈਕਨ ਨੂੰ ਦਰਸਾਏਗਾ। ਮੋਬਾਈਲ ਹੋਮ ਸਕ੍ਰੀਨ ਆਈਕਨ ਪਹਿਲਾਂ ਤੋਂ ਬਣੀਆਂ icon-512.png ਅਤੇ apple-touch-icon.png ਫਾਈਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ।
- ਕੋਈ ਪੁਸ਼ ਸੂਚਨਾਵਾਂ ਨਹੀਂ — ਸਰਵਿਸ ਵਰਕਰ Push API ਨੂੰ ਲਾਗੂ ਨਹੀਂ ਕਰਦਾ। ਇਸ ਦੀ ਬਜਾਏ ਸੂਚਨਾਵਾਂ Electron ਐਪ ਦੁਆਰਾ ਸੰਭਾਲੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।
- ਕੋਈ ਬੈਕਗ੍ਰਾਊਂਡ ਸਿੰਕ ਨਹੀਂ — ਆਫ਼ਲਾਈਨ ਕਾਰਵਾਈਆਂ ਨੂੰ ਮੁੜ ਚਲਾਉਣ ਲਈ ਕਤਾਰ ਵਿੱਚ ਨਹੀਂ ਰੱਖਿਆ ਜਾਂਦਾ। PWA ਮੁੱਖ ਤੌਰ 'ਤੇ ਡੈਸ਼ਬੋਰਡ ਵੇਖਣ ਲਈ ਹੈ।
- iOS ਪਾਬੰਦੀਆਂ — iOS ਉੱਤੇ Safari ਸਾਰੀਆਂ PWA ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦਾ (ਉਦਾਹਰਨ ਲਈ, ਇੰਸਟਾਲ ਪ੍ਰੌਂਪਟ ਮੈਨੂਅਲ ਹੁੰਦੇ ਹਨ ਅਤੇ ਬੈਕਗ੍ਰਾਊਂਡ ਸਰਵਿਸ ਵਰਕਰ ਸੀਮਿਤ ਹੁੰਦੇ ਹਨ)।
- ਕੈਸ਼ ਆਕਾਰ — ਸਰਵਿਸ ਵਰਕਰ ਸਿਰਫ਼ ਸਟੈਟਿਕ ਐਸੈੱਟਾਂ ਨੂੰ ਕੈਸ਼ ਕਰਦਾ ਹੈ।
/api/ਰੂਟਾਂ ਤੋਂ ਆਉਣ ਵਾਲੇ ਵੱਡੇ ਰਿਸਪਾਂਸ ਪੇਲੋਡ ਕਦੇ ਵੀ ਕੈਸ਼ ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ। - ਮੋਬਾਈਲ ਉੱਤੇ ਕਸਟਮ ਆਈਕਨ — ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਫੇਵਿਕਾਨ ਬਦਲਣ ਨਾਲ ਮੋਬਾਈਲ ਉੱਤੇ ਹੋਮ ਸਕ੍ਰੀਨ ਆਈਕਨ ਅੱਪਡੇਟ ਨਹੀਂ ਹੁੰਦਾ (ਇਸ ਲਈ PWA ਆਈਕਨਾਂ ਨੂੰ ਮੁੜ ਜਨਰੇਟ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ)।
| ਫ਼ਾਈਲ | ਉਦੇਸ਼ |
|---|---|
src/app/manifest.ts |
Next.js ਮੈਨੀਫੈਸਟ ਰੂਟ (manifest.webmanifest ਜਨਰੇਟ ਕਰਦਾ ਹੈ) |
public/sw.js |
ਕੈਸ਼ਿੰਗ ਲੌਜਿਕ ਵਾਲਾ ਸਰਵਿਸ ਵਰਕਰ |
src/shared/components/PwaRegister.tsx |
ਸਰਵਿਸ ਵਰਕਰ ਨੂੰ ਰਜਿਸਟਰ ਕਰਨ ਵਾਲਾ ਕਲਾਇੰਟ ਕੰਪੋਨੈਂਟ |
src/app/offline/page.tsx |
ਲਾਈਵ ਸਥਿਤੀ ਸੰਕੇਤਕ ਵਾਲਾ ਆਫ਼ਲਾਈਨ ਫਾਲਬੈਕ ਪੰਨਾ |
src/app/layout.tsx |
PWA ਮੈਟਾਡਾਟਾ ਵਾਲਾ ਰੂਟ ਲੇਆਉਟ (apple-web-app, theme-color, ਆਦਿ) |
public/icon-512.png |
512×512 PNG ਆਈਕਨ (Android, ਸਪਲੈਸ਼ ਸਕ੍ਰੀਨ) |
public/apple-touch-icon.png |
180×180 PNG ਆਈਕਨ (iOS ਹੋਮ ਸਕ੍ਰੀਨ) |
public/icon-192.svg |
192×192 SVG ਆਈਕਨ (Android ਐਡੈਪਟਿਵ) |
public/apple-touch-icon.svg |
180×180 SVG ਆਈਕਨ (Apple ਫਾਲਬੈਕ) |