AMP web push
AMP — это разработанный Google фреймворк с открытым исходным кодом для создания веб-страниц, ориентированных на пользователя и загружающихся почти мгновенно.
Интегрировав компонент AMP Web Push в ваши AMP-страницы, вы сможете взаимодействовать с клиентами, когда они просматривают веб-сайты в своих мобильных браузерах.
Интеграция AMP на ваш сайт
Section titled “Интеграция AMP на ваш сайт”Добавьте следующие файлы в корневой каталог вашего сайта:
В файле permission-dialog.html есть два настраиваемых блока:
<div class="subscribe" permission="default"> <p class="message"> {Subscribe to push notifications} </p></div><div class="blocked" permission="denied"> <p class="message"> {Unblock push notifications in your browser settings} </p></div>Где:
{Subscribe to push notifications}— призыв к действию, предлагающий пользователям разрешить пуш-уведомления;{Unblock push notifications in your browser settings}— призыв к действию, предлагающий пользователям разблокировать пуш-уведомления в настройках браузера (в случае, если пуш-уведомления явно заблокированы пользователем).
Чтобы настроить внешний вид диалогового окна запроса разрешений, добавьте следующий код в тег <head>:
<style amp-custom> .subscribe { /* your css here */ }
.blocked { /* your css here */ }</style>
Интеграция AMP Web Push
Section titled “Интеграция AMP Web Push”Чтобы внедрить Web push notifications на AMP-страницы, добавьте компонент amp-web-push на каждую AMP-страницу.
Для этого выполните два шага:
1. Добавьте следующий скрипт в тег <head>:
<head> ... <script async custom-element="amp-web-push" src="https://cdn.ampproject.org/v0/amp-web-push-0.1.js"></script> ...</head>2. Добавьте следующий код в тег <body>:
<body> <amp-web-push id="amp-web-push" layout="nodisplay" helper-iframe-url="https://{domain}/helper-iframe.html" permission-dialog-url="https://{domain}/permission-dialog.html"service-worker-url="https://{domain}/service-worker.js?applicationCode={applicationCode}&senderId={senderId}&applicationServerKey={applicationServerKey}" ></amp-web-push> ... <!-- Начало: кнопка подписки на уведомления --> <amp-web-push-widget visibility="unsubscribed" layout="fixed" width="250" height="80"> <button class="subscribe" on="tap:amp-web-push.subscribe"> {Text on Subscribe button} </button> </amp-web-push-widget> <!-- Конец: кнопка подписки на уведомления --> <!-- Начало: кнопка отписки от уведомлений --> <amp-web-push-widget visibility="subscribed" layout="fixed" width="250" height="80"> <button class="unsubscribe" on="tap:amp-web-push.unsubscribe"> {Text on Unsubscribe button} </button> </amp-web-push-widget> <!-- Конец: кнопка отписки от уведомлений --> <!-- Начало: резервный блок на случай блокировки уведомлений пользователем --> <amp-web-push-widget visibility="blocked" layout="fixed" width="250" height="80"> <div class="fallback"> {Fallback if a user blocks notifications} </div> </amp-web-push-widget> <!-- Конец: резервный блок на случай блокировки уведомлений пользователем -->...</body>Где:
{domain}— URL вашего сайта,{applicationCode}— ваш Application code для Wavesend,{senderId}— Sender ID из вашей консоли Firebase,{applicationServerKey}— Server Key из вашей консоли Firebase,{Text on Subscribe button}— текст на кнопке, включающей пуш-уведомления,{Text on Unsubscribe button}— текст на кнопке, отключающей пуш-уведомления,{Fallback if a user blocks notifications}— резервный блок, который отображается, когда пользователь блокирует пуш-уведомления.
Чтобы настроить стиль кнопок, добавьте следующий код в тег <head>:
<style amp-custom> amp-web-push-widget button.subscribe { /* your css here */ } amp-web-push-widget button.unsubscribe { /* your css here */ } amp-web-push-widget .fallback { /* your css here */ }</style>Чтобы проверить, всё ли вы сделали правильно, воспользуйтесь https://search.google.com/test/amp