docbrown/docs/backend/push-notifications.md
Fernando Valverde 121603a44b
Replace Pusher Beams with Rpush PN delivery ✂️ ✂️ (#13588)
* Remove feature flag

* Remove Pusher Beams implementation

* Remove Pusher Beams require from initializer

* Adds consumer apps to sidebar + consider :admin_restructure

* Fix routes + PN target URL

* Remove old file that sneaked in

* Adds docs

* docs tweaks

* Apply suggestions from code review

Co-authored-by: rhymes <rhymes@hey.com>

Co-authored-by: rhymes <rhymes@hey.com>
2021-05-05 08:37:20 -06:00

27 lines
1.1 KiB
Markdown

---
title: Push Notifications
---
# Push Notifications Delivery
Forem instances rely on [Rpush](https://github.com/rpush/rpush) to deliver push
notifications. This decision was heavily influenced by the desire to
provide as much flexibility as possible to Creators. In order to do this, Forem
instances can register and configure a `ConsumerApp`.
These consumer apps represent mobile applications that users use to browse and consume content
on a Forem. Authenticated users of a specific Forem instance can register a `Device`
associated to a `ConsumerApp`. With these pieces we are able to deliver
push notifications to users devices.
The `ConsumerApp` configuration page can be found at
`/admin/apps/consumer_apps`. The official Forem apps are supported by default
and require their secret credential to be provided via ENV variable.
## Rpush Implementation
We use Rpush's `rpush-redis` implementation (read
[this thread](https://github.com/forem/forem/pull/12419/files#r564660917) for
the reasons why), hence all `Rpush` models are persisted in Redis. More
details about how this works
[here](https://github.com/rpush/rpush/wiki/Using-Redis).