Choosing a notification route
Sercrod treats provider-free background checks as the standard starting point for non-urgent updates. This keeps the application server contract explicit and avoids requiring a push provider when timely delivery is not a product requirement. It is not described as a complete replacement for push.
Delivery may be delayed
→ start with *background-notification
Timely delivery is required
→ use *push
Android: FCM
iPhone: APNs, directly or through an FCM-facing server path
Google-independent Android push is required
→ UnifiedPush is a future adapter candidate, not a current Sercrod backend
Comparison
| Route | Timing | External delivery service | Current Sercrod support |
|---|---|---|---|
| Background Runner | Inexact and OS-scheduled | None; the app checks its own endpoint | *background-notification |
| FCM | Designed for timely remote delivery | Google FCM | *push on Android |
| APNs | Designed for timely remote delivery | Apple APNs | *push on iOS |
| UnifiedPush | Push through a selected distributor | Distributor and push server selected by the user/operator | Not implemented |
Costs at a glance
- Background Runner introduces no push-provider subscription, but the application endpoint, hosting, bandwidth, domain, and store distribution may cost money.
- Firebase lists Cloud Messaging (FCM) as a no-cost product. Hosting, Cloud Functions, databases, and other products used around it can have separate charges. Confirm the current Firebase pricing.
- Apple currently lists Apple Developer Program membership at USD 99 per membership year. Confirm regional pricing and eligibility on the Apple membership page.
- UnifiedPush software may be self-hosted or use a distributor's service; server and service costs depend on that selection.
Responsibility boundary
Sercrod supplies client-side adapter contracts. The application operator owns its endpoint or sending server, accounts, private credentials, token or endpoint storage, recipients, deduplication, hosting, and production delivery policy. Do not place provider private keys or server send credentials in public HTML, client JavaScript, the app bundle, or a Sercrod adapter.