Il service dell'app che deve ricevere i messaggi MQTT deve essere attivo, altrimenti li perdi.
Questa è la principale differenza con Firebase.
Non c'è un broadcast cui puoi agganciare la tua app mqtt-based e sperare che venga svegliata da Android all'arrivo di un messaggio; se non è in ascolto, il messaggio è perso.
Ah ok, yessa, sapevo che Firebase fosse in grado di attivare l'app (a meno che tu non la chiuda del tutto, ad esempio togliendola dalle recenti). Chiesi per supportare qualcuno, rispose uno a caso... Erel.