Era un termine amichevol- scherzoso, mi scuso se ...
Tranquillo.
Le notifiche Firebase sono pressochè istantanee. Il problema sono
le tecniche di risparmio energetico (doze mode) implementate sempre più incisivamente nei dispositivi più moderni, che fanno si che tu possa riceverle anche con decine di secondi di ritardo se il dispositivo non è in uso (standby) da qualche minuto. In teoria vedrai che ci sono delle indicazioni per escludere una app dal risparmio energetico, in pratica non funzionano.
Lato Apple, non voglio dire che sono più bravi, ma pare questo problema non ci sia.
Con gli SMS probabilmente riusciresti ad essere più puntuale, ma a mio avviso è un sistema davvero troppo vecchio per impostarci un nuovo progetto. Poi ti devi costruire il gestore SMS (non è una banalità, va fatto bene perchè poi l'utente lo deve potere usare per mandare e ricevere i suoi SMS personali). Poi non potrai fare lo stesso discorso su Apple (impossibile gestire SMS) e pregiudicare da subito la portabilità della tua app nel mondo Apple mi sembra un vero peccato.
Se è una applicazione business puoi anche pensare di noleggiare un server cloud (es 13 euro al mese con
Aruba) scrivi un server B4J e lavori con i WebSocket. Ci sono dei metodi per tenere il dispositivo sempre sveglio e in ascolto, uno spunto lo puoi trovare
qui. Ma lato Apple va visto bene, non so dirti. E comunque alcuni dispositivi potrebbero non comportarsi come desideri.
Il padrone è sempre Android e il costruttore nel come lo ha implementato. Se decidono che una tua app o servizio in background debba essere segato per motivi di memoria/batteria, viene segata e basta. Zitto e muto.
Alla fine, accettando qualche compromesso e sperando che gli utenti utilizzino il telefono per non farlo entrare nel doze-mode, credo che la strada delle notifiche sia quella più semplice e valida da perseguire.
I miei due cents.