| Краткое описание | Отправка push-уведомлений Discourse на iOS или Android через ваше собственное приложение | |
| Ссылка на репозиторий | GitHub - Sprachprofi/discourse-fcm-notifications: Send Discourse push notifications through FCM to any custom app · GitHub | |
| Руководство по установке | Как установить плагины в Discourse |
Возможности
Если у вас есть приложение, с помощью которого пользователи могут просматривать ваш форум Discourse, этот плагин позволит вашему форуму отправлять push-уведомления через это приложение. (Если у вас пока нет приложения, но вы планируете его создать, ознакомьтесь с этим минималистичным решением.)
Удобно для пользователей: когда пользователь получает push-уведомление о личном сообщении, нажатие на это уведомление откроет ваше приложение и сразу покажет это личное сообщение. Это значительное преимущество по сравнению с использованием Pushover-уведомлений Discourse, где push-уведомления открывают приложение Pushover, и неочевидно, как перейти к сообщению. С другой стороны, Pushover-уведомления хороши, если вам нужны push-уведомления без приложения.
Универсальность: использует Google Firebase в качестве слоя передачи сообщений, поэтому все устройства iOS и Android могут получать эти push-уведомления, если в стране не запрещён Google.
Настройка
- Установите и активируйте плагин.
- Создайте бесплатный проект Google Firebase для вашего приложения. Добавьте ID проекта Firebase, токен и файл JSON (с данными OAuth) в настройки плагина в Discourse.
- Отредактируйте код вашего приложения:
-
Подпишитесь активного пользователя на push-уведомления, отправив токен устройства по адресу: ВАШ_ФОРУМ.com/fcm_notifications/automatic_subscribe?token=… . Обязательно вызывайте этот метод каждый раз, когда токен устройства меняется.
-
Отпишитесь активного пользователя, вызвав: ВАШ_ФОРУМ.com/fcm_notifications/automatic_subscribe?token=REMOVE
-
Push-уведомления будут иметь следующий формат:
'data': { "linked_obj_type" => 'link', "linked_obj_data" => <url на пост/сообщение, на которое ссылается уведомление>, }, 'notification': { title: <что-то вроде "USERNAME отправил вам личное сообщение в ТЕМЕ">, body: <начало сообщения>, }
Таким образом, вам нужно отображать push-уведомление с заголовком и текстом, а при нажатии на него открывать URL из linked_obj_data во встроенном браузере приложения. Именно это нужно определить в коде приложения.
Пример реализации
Код минималистичного, но полностью функционального приложения, работающего с этим плагином, можно получить здесь. (Это белая версия производственного приложения, которое мы создали и для которого потребовался этот плагин.) Если вам нужно только приложение, которое отображает ваш форум, отправляет push-уведомления и запоминает вход пользователя и последнюю прочитанную тему, вам достаточно изменить брендинг, отправить приложение в магазины приложений — и всё готово. В противном случае оно может служить основой для дальнейшей разработки.
Доходы от продажи этого приложения будут направлены на поддержку и дальнейшую разработку плагина.
