Как установить прогрессивное веб -приложение (PWA) на AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как установить прогрессивное веб -приложение (PWA) на Android

Сообщение Anonymous »

У меня есть PWA, который работает в настольном браузере и показывает значок установки в адресной панели (смелые и хромированные браузеры). Есть Manifest.json, а служебный работник (SW.JS) признан, и Devtools показывают его как работает. Так что я достаточно уверен, что мой код завершен. < /P>
Это мой файл SW.JS: < /p>

Код: Выделить всё

// Service Worker
const cacheName = "paul-address";
const filesToCache = [
"/test/",
"/test/index.html",
"/test/js/index.js",
"/test/styles/styles.css"
];

self.addEventListener("install", e => {
console.log("[ServiceWorker**] Install");
e.waitUntil(
caches.open(cacheName).then(cache => {
console.log("[ServiceWorker**] Caching app shell");
return cache.addAll(filesToCache);
})
);
});

self.addEventListener("activate", event => {
caches.keys().then(keyList => {
return Promise.all(
keyList.map(key => {
if (key !== cacheName) {
console.log("[ServiceWorker] - Removing old cache", key);
return caches.delete(key);
}
})
);
});
});

// sw.js - Cache-first strategy for static assets
self.addEventListener('fetch', event => {
// Only handle GET requests
if (event.request.method !== 'GET') return;

const url = new URL(event.request.url);

// Cache-first for static assets
if (url.pathname.match(/\.(css|js|png|jpg|jpeg|gif|svg|ico)$/)) {
event.respondWith(
caches.match(event.request)
.then(response => {
if (response) {
console.log('Serving from cache:', event.request.url);
return response;
}

// Fetch and cache new resources
return fetch(event.request)
.then(response => {
// Don't cache non-successful responses
if (!response || response.status !== 200 || response.type !== 'basic') {
return response;
}

const responseToCache = response.clone();
caches.open(CACHE_NAME)
.then(cache => {
cache.put(event.request, responseToCache);
});

return response;
});
})
.catch(() => {
// Return fallback for images
if (event.request.destination === 'image') {
return caches.match('/images/fallback.png');
}
})
);
}
});

Однако, когда я тестирую его на устройстве Android, я получаю запрос «strong>» на смелые или хромированные браузеры. Даже когда я выбираю установку, несмотря на экран, в котором говорится: «Установка ...». Это на самом деле только создает сочетание домашнего экрана. приложения.

Подробнее здесь: https://stackoverflow.com/questions/797 ... on-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»