ooni / ooni/probe-multiplatform
Push Notifications Plan
@sdsantos is already working on this.
Since Jul 27, 2026.
- Dominant language
- Kotlin
- Stars
- 91
- Forks
- 13
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 28
Description
Plan for an implementation of push notifications that works with and without Firebase Cloud Messaging and Apple Push Notification. On desktop and Android's F-Droid release we can't use the Firebase's cloud messaging services. So the apps should have alternative ways to check if there are new notifications to show to users.
Firebase Cloud Messaging only approach:
- Apps send device tokens to the back-end, whenever they are changed, including some filtering details like the country code of the last network measured
- Back-end uses device tokens to send notifications to apps through Firebase Cloud Messaging service
Pooling fallback:
- Back-end offers an API endpoint to retrieve all notificiations sent (can be filtered by country code, or other parameters necessary)
- Apps pool the endpoint periodically and show new notifications
Push fallback: (if time-sensitivity is important, specially on desktop)
- While the app is running (always on desktop), it can open a websocket with the back-end to get new notifications instantaneously
To be considered:
- Do we need analytics on how many users open or interact with the notifications?
- Are we just showing simple text notifications with potential call for action with a link? Or do we want to specify complex behaviors, like start a test, or enable a setting?
An interesting link from GrapheneOS on push notifications implementations on Android.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.