Здравствуйте, уважаемые читатели сайта Uspei.com. Предлагаю вашему вниманию перевод статьи инженера-программиста Google Мерткан Мермеркая о добавлении возможности в Firebase Cloud Messaging отправлять уведомления клиентам через API:
“У нас есть отличная новость для веб-разработчиков, которые используют Firebase Cloud Messaging для отправки уведомлений клиентам! FCM v1 REST API полностью интегрирован с API веб-уведомлений. Эта интеграция позволяет вам устанавливать значки, изображения, действия и многое другое для ваших веб-уведомлений с вашего сервера! Вас также ожидает больше возможностей в будущем, так как API веб-уведомлений продолжает расти и изменяться,и эти параметры будут немедленно доступны вам. Вам не придется ждать обновления FCM для их поддержки!
Ниже приведен пример полезной нагрузки, которую вы можете отправить своим веб-клиентам в браузерах, поддерживающих Push API . Это уведомление было бы полезно для веб-приложения, поддерживающего размещение изображений. Он может стимулировать пользователей к взаимодействию с приложением.
{ "message": { "webpush": { "notification": { "title": "Fish Photos 🐟", "body": "Thanks for signing up for Fish Photos! You now will receive fun daily photos of fish!", "icon": "firebase-logo.png", "image": "guppies.jpg", "data": { "notificationType": "fishPhoto", "photoId": "123456" }, "click_action": "https://example.com/fish_photos", "actions": [ { "title": "Like", "action": "like", "icon": "icons/heart.png" }, { "title": "Unsubscribe", "action": "unsubscribe", "icon": "icons/cross.png" } ] } }, "token": "" } }
Обратите внимание, что вы можете установить новые параметры, которые дают пользователю различные способы взаимодействия с уведомлением. В приведенном ниже примере у пользователей есть возможность выбрать действия, фотографии, или отказаться от подписки.
Чтобы обрабатывать клики по действиям в приложении, вам нужно добавить прослушиватель событий в файл firebase-messaging-sw.js по умолчанию (или в ваш пользовательский). Если была нажата кнопка действия, event.action будет содержать строку, которая идентифицирует действие с кликом. Вот как обрабатывать события « like
» и « unsubscribe
»:
// Retrieve an instance of Firebase Messaging so that it can handle background messages. const messaging = firebase.messaging(); // Add an event listener to handle notification clicks self.addEventListener('notificationclick', function(event) { if (event.action === 'like') { // Like button was clicked const photoId = event.notification.data.photoId; like(photoId); } else if (event.action === 'unsubscribe') { // Unsubscribe button was clicked const notificationType = event.notification.data.notificationType; unsubscribe(notificationType); } event.notification.close(); });
SDK по-прежнему будет обрабатывать регулярные уведомления и перенаправлять пользователя на вашу ссылку click_action, если это предусмотрено. Чтобы узнать больше о том, как обрабатывать действия кликов на клиенте, ознакомьтесь с руководством.
Поскольку разные браузеры поддерживают разные параметры на разных платформах, важно проверить документацию по совместимости с браузером,чтобы убедиться, что ваши уведомления работают по назначению.
Хотите узнать больше? Проверьте ТСМ Отправить API документацию и документацию по API Web Notifications.