Веб-пуши для AMP
AMP — это фреймворк с открытым исходным кодом от Google для разработки ориентированных на пользователя веб-страниц, которые загружаются почти мгновенно.
Интегрируя компонент AMP Web Push в ваши AMP-страницы, вы можете взаимодействовать с вашими клиентами, когда они просматривают веб-страницы в своих мобильных браузерах.
Интеграция AMP на ваш сайт
Anchor link toДобавьте следующие файлы в корневой каталог вашего сайта:
В файле 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}— CTA-сообщение, предлагающее пользователям разрешить пуш-уведомления;{Unblock push notifications in your browser settings}— CTA-сообщение, предлагающее пользователям разблокировать пуш-уведомления в настройках браузера (в случае, если пуш-уведомления явно заблокированы пользователем).
Чтобы настроить внешний вид диалогового окна запроса разрешений, добавьте следующий код в тег <head>:
<style amp-custom> .subscribe { /* ваш css здесь */ }
.blocked { /* ваш css здесь */ }</style>
Интеграция веб-пушей AMP
Anchor link toЧтобы внедрить веб-пуш-уведомления на 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}— код вашего приложения Pushwoosh,{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 { /* ваш css здесь */ } amp-web-push-widget button.unsubscribe { /* ваш css здесь */ } amp-web-push-widget .fallback { /* ваш css здесь */ }</style>Чтобы проверить, все ли вы сделали правильно, воспользуйтесь https://search.google.com/test/amp\