Я создал веб-сайт и использую рабочую коробку cli для создания сервисного работника для автономного кэширования.
, чтобы очистить, я использую команду:
мастер рабочих коробок
В основном, я следовал за официальным документом здесь: https://developers.google.com/web/tools/workbox/guides/generate-service-worker/cli
Простое приложение содержит c страниц с изображениями.
Приложение генерирует workbox-config. js, sw, js и workbox-9zb337bb. js.
Веб-сайт загружается и обслуживается через https.
В Chrome инструментах dev на вкладке кэш-памяти показано, что все перечисленные элементы кэшированы, выглядит хорошо для меня. Ошибки не отображаются.
Работает на iPad и iPhone, приложение сохранит все, каждое изображение и страницы при сохранении на главном экране. После этого приложение будет доступно для просмотра в автономном режиме.
Однако оно не работает одинаково для android устройств, оно не кэширует приложение и требует подключения rnet после сохранения на главном экране. Я понятия не имею, почему.
вот манифест:
{
"short_name": "myapp Logo",
"name": "myapp Logo Guide",
"icons": [
{
"src": "img/favicon/android-icon-36x36.png",
"sizes": "36x36",
"type": "image/png",
"density": "0.75"
},
{
"src": "img/favicon/android-icon-48x48.png",
"sizes": "48x48",
"type": "image/png",
"density": "1.0"
},
{
"src": "img/favicon/android-icon-72x72.png",
"sizes": "72x72",
"type": "image/png",
"density": "1.5"
},
{
"src": "img/favicon/android-icon-96x96.png",
"sizes": "96x96",
"type": "image/png",
"density": "2.0"
},
{
"src": "img/favicon/android-icon-144x144.png",
"sizes": "144x144",
"type": "image/png",
"density": "3.0"
},
{
"src": "img/favicon/android-icon-192x192.png",
"sizes": "192x192",
"type": "image/png",
"density": "4.0"
},
{
"src": "img/favicon/android-icon-512x512.png",
"sizes": "512x512",
"type": "image/png",
"density": "4.0"
}
],
"start_url": "https://example.com/myapp/index.html",
"scope": "/myapp/",
"description": "Logo Guide for example",
"background_color": "#0086CC",
"display": "standalone",
"theme_color": "#0086CC",
"prefer_related_applications": false
}
Теперь убедитесь, что что-то не так с манифестом, который не подходит для среды android или нет. Однако странно, что он работает только на iOS.