È possibile farlo in molti modi, a seconda di quando si desidera che l'utente sia in grado di vedere che è disponibile un aggiornamento.
Se si desidera che l'utente conosca l'aggiornamento all'avvio dell'app, è sufficiente creare un metodo di utilità (all'interno del metodo onCreate
della propria principale/prima attività) che verifica se è disponibile una versione più recente in Google Play. In tal caso, visualizza una finestra di avviso con un messaggio pertinente e un'intenzione che apre l'app in Google Play quando l'utente fa clic sul pulsante positivo della finestra di avviso. Se si aggiorna l'app regolarmente, l'utente continuerà a ricevere questa finestra di avviso ogni volta che l'app viene avviata e, di conseguenza, potrebbe irritarsi. Quindi, questo non è l'approccio migliore.
Se si desidera che l'utente ottenga una notifica sul telefono (e non quando l'utente avvia l'app), è possibile utilizzare la classe AlarmManager
per pianificare un servizio in background che verifica un aggiornamento a intervalli regolari. Se il servizio rileva che un aggiornamento è effettivamente disponibile, pubblica una notifica con l'intento che apre la tua app in Google Play.
Naturalmente, un altro approccio è quello di lasciarlo al sistema operativo stesso. Se l'utente non ha impostato la preferenza "Aggiorna automaticamente" per la tua app, l'utente riceverà regolarmente una notifica relativa a un aggiornamento disponibile per la tua, così come per qualsiasi altra app. Ma non tutti gli utenti abilitano i dati in background sui loro dispositivi, quindi questo non è completamente affidabile.
Alla fine, è necessario rispettare le preferenze degli utenti. Se l'utente non desidera aggiornare automaticamente l'app o non desidera visualizzare una finestra di dialogo fastidiosa ogni volta che avvia l'app, non avvisare l'utente dell'aggiornamento.
A mio parere, è necessario creare un PreferenceActivity
con preferenza come "Verifica periodicamente gli aggiornamenti", che è possibile impostare dall'interno dell'app. Se è impostato, fai il necessario nel tuo servizio. Può anche dare all'utente la possibilità di selezionare il periodo dopo il quale il servizio verificherà l'aggiornamento.
Spero che questo aiuti!
Per quanto ho visto, di solito è fatto in-app, vale a dire. quando l'app lo avvia, verifica una nuova versione e visualizza una notifica all'utente da aggiornare. –
Questo progetto GitHub open source (MAHAndroidUpdater) fornisce completamente funzionalità di aggiornamento. Provalo, molto semplice. https://github.com/hummatli/MAHAndroidUpdater –