Содержание
Что такое Web App Manifest ?
Web App Manifest (Манифест ) — это специальный файл (Web App Manifest с дополнительными полями для JS API), который сообщает браузерам, какие файлы следует сохранять, а какие следует заменять другим содержимым. В манифесте описывается информация, необходимая для работы NativeCache.
Сегодня мы обсудим материал, в котором опишем решение, с помощью которого, мы cможем создать приложение Web App Manifest для мобильных устройств посетителей вашего сайта.
При посещении сайта в нижней части экрана устройства будет отображаться уведомление с предложением добавить на рабочий стол ярлык приложения вашего сайта. После нажатия на это уведомление вы установите приложение вашего сайта на ваш телефон, после запуска в данном приложении ваш сайт будет работать значительно быстрей чем обычно в браузере благодаря технологии Web App Manifest.
Как создать Web App Manifest ?
Основное, что вам нужно, это воспользоваться функционалом онлайн генератора манифеста: первый пример и второй пример, мы рекомендуем использовать именно первый пример так как он более расширенный.
- Short name - введите название тематики вашего сайта, заголовок с 2-3 слов.
- Name - обычно название вашего домена или слоган сайта.
- Description - описание к PWA приложению длиной не более 200 символов.
- Background color - цвет фона приложения PWA.
- Theme color - цвет темы PWA для вашего приложения.
- Start URL - введите адрес главной вашего сайта.
- Direction - выбрать значение right.
- Display - выбрать значение standalone.
- Orientation - выбрать значение any.
- Related application - выбрать значение false.
- Language - выбрать значение RU, хотя вы можете выбирать тот язык который вам необходим если у вас сайт не на русском языке.
- Upload image - выбрать изображение, основной логотип вашего сайта размером 512x512.
Пример настроек для манифеста показан на изображении немного выше, после как заполните форму, нажимаете на кнопку "GENERATE MANIFEST".
После генерации вы получаете готовые файлы:
- Иконки лого для нашего файла манифеста;
- Готовый файл manifest.json.
нажимая на кнопки с примера на изображении выше вы получите готовые файлы. Загрузите их на ваш компьютер и после загрузите в корень файлового менеджера вашего сайта.
- К всему основному перечню изображений дополнительно добавьте файл лого 512х512 и так же загрузите в корень / или в папку фтп сайта и корректно пропишите путь к файлу в основном файле манифеста.
- Обязательно все фото должны быть в формате png, если будут в jpg тогда приложение / манифест работать не будет.
- Если вы случайно сгенерируете фото в формате jpg и решите переименовать сменив расширение формата jpg на png, эта хитрость не пройдет, ваши фото будут считать как бытие и работать манифест не будет.
После загрузки в корень фтп всех файлов, файл формата json с названием подобно dunplab-manifest-48526.json переименуйте на manifest.txt и откройте на редактирование, после найдите содержимое:
{
"short_name": "Слоган сайта",
"name": "Sitename.org",
"lang": "ru",
"description": "Описание сайта",
"start_url": "https://site.ru/",
"background_color": "#00aae7",
"theme_color": "#00aae7",
"dir": "ltr",
"display": "standalone",
"orientation": "any",
"icons": [
{
"src": "/maskable_icon.png",
"sizes": "144x144",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/512x512.png",
"type": "image/png",
"sizes": "512x512"
},
{
"src": "/android-icon-192x192-dunplab-manifest-48526.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "/apple-icon-180x180-dunplab-manifest-48526.png",
"type": "image/png",
"sizes": "180x180"
},
Готовый файл manifest.json будет выглядеть в готовом варианте примерно так:
{
"short_name": "Слоган сайта",
"name": "Sitename.ru",
"lang": "ru",
"description": "описание к приложению",
"start_url": "https://site.ru/",
"background_color": "#317efb",
"theme_color": "#317efb",
"dir": "ltr",
"display": "standalone",
"orientation": "any",
"icons": [
{
"src": "/maskable_icon.png",
"sizes": "144x144",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/512x512.png",
"type": "image/png",
"sizes": "512x512"
},
{
"src": "/android-icon-192x192-dunplab-manifest-48026.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "/apple-icon-180x180-dunplab-manifest-48026.png",
"type": "image/png",
"sizes": "180x180"
},
{
"src": "/apple-icon-152x152-dunplab-manifest-48026.png",
"type": "image/png",
"sizes": "152x152"
},
{
"src": "/apple-icon-144x144-dunplab-manifest-48026.png",
"type": "image/png",
"sizes": "144x144"
},
{
"src": "/apple-icon-120x120-dunplab-manifest-48026.png",
"type": "image/png",
"sizes": "120x120"
},
{
"src": "/apple-icon-114x114-dunplab-manifest-48026.png",
"type": "image/png",
"sizes": "114x114"
},
{
"src": "/favicon-96x96-dunplab-manifest-48026.png",
"type": "image/png",
"sizes": "96x96"
},
{
"src": "/apple-icon-76x76-dunplab-manifest-48026.png",
"type": "image/png",
"sizes": "76x76"
},
{
"src": "/apple-icon-72x72-dunplab-manifest-48026.png",
"type": "image/png",
"sizes": "72x72"
},
{
"src": "/apple-icon-60x60-dunplab-manifest-48026.png",
"type": "image/png",
"sizes": "60x60"
},
{
"src": "/apple-icon-57x57-dunplab-manifest-48026.png",
"type": "image/png",
"sizes": "57x57"
},
{
"src": "/favicon-32x32-dunplab-manifest-48026.png",
"type": "image/png",
"sizes": "32x32"
},
{
"src": "/favicon-16x16-dunplab-manifest-48026.png",
"type": "image/png",
"sizes": "16x16"
}
]
}
Если вы выполнили все как рекомендовалось, осталось совсем немного, установить наш файл манифеста, в шаблоне в активных используемых модулях между тегов <head>здесь</head> установить код:
<link rel='manifest' href='/manifest.json' type="application/manifest+json">
практически готово.
Нам осталось установить на сайт скрипт, который будет управлять работой манифеста service-worker.
Подключение JS скрипта service-worker
В глобальный блок Нижняя часть сайта нужно установить такой скрипт:
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker
.register('/sw.js')
.then(function (reg) {
console.log('Registration succeeded. Scope is ' + reg.scope);
})
.catch(function (error) {
console.error('Trouble with sw: ', error);
});
}
</script>
он нужен для корректной работы обработчика манифеста, в корень фтп загрузите скрипт, который доступен по кнопке ниже.
Как проверить работу Web App Manifest PWA ?
Проверить работу Web App Manifest PWA можно в инструментах разработчика браузера Google Chrome или Яндекс браузера, на любой странице вашего сайта нажмите правую кнопку мыши и выберите пункт "Посмотреть код / Инспектировать элемент".
После перейдите в вкладку Lighthouse, выберите пункт Desktop, отметьте так же все категории в блоке и нажмите кнопку Generate report:
после окончания сканирования получим результат:
Как работает Web App Manifest PWA на мобильных устройствах ?
При посещении сайта на котором установлен файл манифеста, вам в нижней части экрана будет предложено установить приложение сайта на главный экран вашего устройства:
в результате сайт запускается как отдельное приложение и благодаря технологии Web App Manifest работает очень быстро.
Лицензия: CC BY-SA 4.0
Автор: Юрий Герук









Комментарии