Come gestire gli aggiornamenti delle applicazioni da libero di versione a pagamento pur conservando tutti i dati

StackOverflow https://stackoverflow.com/questions/3011164

  •  26-09-2019
  •  | 
  •  

Domanda

Ecco il contesto. Voglio avere una versione gratuita e una versione premium della stessa applicazione. Quando la gente compra l'applicazione, voglio che siano in grado di "upgrade" senza perdere i propri dati, vale a dire la versione premium dovrebbe installare attraverso la versione gratuita. Voglio usare la stessa base di codice e basta passare un ambiente per costruire la versione premium. Andoid di mercato non mi permette di convertire un applicazione gratuita per un app a pagamento, quindi l'opzione banale non è disponibile.

Sono curioso di sapere se qualcuno ha provato questo successo. Come fa Android Market identificare un programma - sarà pensare che la versione Premium è un'applicazione diversa e basta installarlo in parallelo

?
È stato utile?

Soluzione 2

La risposta è: non è risolvibile con Android Market, perché il mercato non consente il caricamento di due applicazioni con lo stesso nome del pacchetto. Android non può essere ingannato a installare la versione premium rispetto alla versione gratuita e trattarlo come un aggiornamento.

La buona notizia: l'aggiunta di backup del database / ripristinare la funzionalità (la copia del database per la scheda SD e alla cartella app) richiesto solo poche righe di codice. I miei utenti dovranno installare entrambe le versioni in parallelo, il backup del database dalla versione gratuita e ripristinarlo alla versione Premium.

Altri suggerimenti

La mia idea è la seguente:

    android:versionCode
  • A carico di versione dovrebbe essere gratis! android:versionCode 1
  • Sia dovrebbe avere lo stesso pacchetto.

Quando è installata la versione a pagamento, che andrà a sostituire quello libero. In realtà lo aggiorna, in quanto ha una android:versionCode superiore.

Per quanto entrambi hanno lo stesso pacchetto, che sarà collocato nella stessa cartella (/data/data/your.package) in modo che l'app a pagamento sarà in grado di accedere all'applicazione db gratuito.

Invece di backup del database da e per la scheda SD (come suggerito da @cdonner), che richiede il permesso WRITE_EXTERNAL_STORAGE, l'applicazione gratuita può esporre un ContentProvider, che l'app a pagamento può utilizzare per trasferire i dati.

Assicurati di permessi uso per garantire la sua contenuti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top