2009-10-03 12 views
7

Sono vicino alle fasi finali dello sviluppo di un'applicazione per iPhone e la rilascerò sia come versione "lite" (supportata dalla pubblicità) che come '(versione senza pubblicità, probabilmente con funzionalità aggiuntive ad un certo punto).Gestione della migrazione dei dati dalla versione "lite" alla versione "pro" dell'app per iPhone

Ho seguito suggerimenti qui e altrove sulla creazione di più target, ecc. E sono in grado di creare questi senza alcun problema.

Ma questo fa venire in mente una domanda: qual è il modo migliore, più user-friendly e accettato in cui gestire la transizione da una versione lite di un'app a una versione pro?

come la vedo io - e vi prego di correggermi se qualcuno dei miei presupposti sono sbagliato - ci sono potenzialmente due modi per farlo:.

  1. Dare ad ogni applicazione proprio identificativo Bundle (cioè com.companyname .fooapplite e com.companyname.fooapppro). Ciò comporterà che entrambi vengano trattati come entità completamente separate. I dati non vengono migrati automaticamente se un utente si sposta da uno all'altro ed entrambi potrebbero benissimo averli entrambi installati sullo stesso iPhone nello stesso momento.

  2. Assegnare a ciascuna applicazione lo stesso identificativo di pacchetto (ad esempio com.companyname.fooapp), in modo che vengano trattate come essenzialmente la stessa applicazione. La versione lite dell'applicazione verrà sovrascritta dalla versione pro se viene scaricata e installata. I dati della versione lite vengono mantenuti nella versione pro.

Quest'ultimo sembra l'ideale per me - non riesco a immaginare qualcuno che vuole mantenere una versione lite dopo che hanno appena acquistato una versione pro - ma questo porta in primo piano alcune domande:

  • Apple autorizza l'opzione n. 2?

  • L'utilizzo dell'opzione # 2 si tradurrà in qualsiasi sciocchezza di cui dovrei essere a conoscenza, vale a dire. le due versioni si susseguono in qualche modo.

  • Se non è consentito, esiste una pratica suggerita per migrare i dati da quelle che sono fondamentalmente due applicazioni completamente diverse? Sono a conoscenza di StoreKit, ma non è supportato su applicazioni gratuite.

Così com'è, questa applicazione corrente non realmente generare dati di valore enorme e la cosa peggiore che accadrà è gli utenti dovranno reinserire alcune credenziali di autenticazione, passando a pro. Ma in futuro, se dovessi sviluppare un'app simile che memorizza dati preziosi a livello locale, mi piacerebbe sapere come ottimizzare al meglio gli utenti e i loro dati in modo trasparente.

Grazie,

  • Jeff
+1

Apple non consente l'opzione n. 2; quando tenti di inviare la seconda app, iTunes si lamenterà. –

+0

Ciao, anch'io sto affrontando una situazione simile. Come posso passare dalla versione lite alla versione pro della mia app senza perdere i dati che ho salvato. Per favore aiuto. – arundevma

risposta

1

non ho provato io stesso, ma una terza opzione per lo scambio di piccole quantità di dati è quello di utilizzare l'API portachiavi. Le app che condividono uno stub identificatore - com.companyname.foo come genitore su com.companyname.foo.fooapp e com.companyname.foo.fooapplite - possono presumibilmente scrivere sul portachiavi da un'app e leggere dall'altro. Non ho visto questo fatto, ma molte persone affermano che è possibile.E in ogni caso, il portachiavi è probabilmente un buon posto in cui archiviare cose come le credenziali di autenticazione.

L'opzione 4 prevede che l'app lite memorizzi alcuni dati utente su un server in uso e l'app completa la recuperi da lì, ma ci sono tutti i tipi di problemi con tale approccio.

+0

Grazie per la rapida risposta! Idea interessante con l'approccio portachiavi. Non avevo considerato questa opzione e potrebbe essere applicabile al mio progetto attuale. Per quanto riguarda la memorizzazione dei dati su un server centralizzato, questo è (in poche parole) cosa sto facendo con questa app su cui sto lavorando e perché non è incredibilmente importante salvare qualcosa localmente con questa app. Lo scenario a cui sto pensando è, ad es. un'app per appunti, in cui vengono create quantità significative di dati utente che potrebbero legittimamente voler conservare. –

3

Un'altra opzione è lo scambio di dati dalla versione Lite alla versione completa tramite un URL. Registrare un URL myFullApp con la versione completa e fare in modo che l'app Lite presenti un'opzione di aggiornamento che chiami quell'URL con i vari dati che si desidera scambiare in esso codificati.

Ciò richiede all'utente di accendere la versione Lite e premere un pulsante, ma è anche abbastanza semplice.

+2

Mobile Orchard ha in realtà un articolo su questo approccio: http://www.mobileorchard.com/lite-to-paid-iphone-application-data-migrations-with-custom-url-handlers/ –

Problemi correlati