2012-08-09 10 views
6

Attualmente sto sviluppando un gioco di puzzle per Android e mi piacerebbe avere le seguenti caratteristiche una volta completato:Come proteggere correttamente un'applicazione che utilizza gli acquisti in-app e DB locale

  • libero di giocare (ad -supportati) quindi è necessaria una connessione Internet attiva (in grado di giocare, se in grado di visualizzare gli annunci)
  • in-app opzione di acquisto per rimuovere gli annunci e verificare la connettività
  • acquisti in-app per i contenuti aggiuntivi

Tuttavia mi rendo conto che ci sono molte domande che derivano da mie esigenze ...

  1. E 'una buona idea avere un'unica versione e offrendo la possibilità di rimuovere gli annunci tramite un acquisto in-app piuttosto che avere 2 versioni del gioco sul Play Store? Forse è un'idea migliore avere 2 app separate ma poi, come posso condividere i dati tra i 2? per esempio. se un utente acquista contenuti aggiuntivi nella versione gratuita e decide quindi di acquistare la versione senza pubblicità, mi piacerebbe che il contenuto che ha acquistato nella versione gratuita fosse disponibile anche nella sua versione a pagamento.

  2. Quali sono le migliori pratiche per garantire che il gioco non possa essere "hackerato" per ottenere liberamente i contenuti aggiuntivi? Comprendo che i nuovi contenuti non devono essere inclusi nell'app originale e devono essere scaricati separatamente una volta effettuato l'acquisto, ma cosa posso fare per evitare che un utente che ha acquistato del contenuto non possa ridistribuirlo liberamente? Dopotutto, "scaricare contenuti aggiuntivi" è semplicemente contattare un server per ottenere i dati e quindi aggiungerli al DB locale.

  3. L'unico modo in cui vedo implementare la versione 'senza pubblicità e riproduzione offline' (senza avere due versioni distinte sul Play Store) è aggiornando un semplice campo nel DB locale, ma questo non sembra un soluzione intelligente perché quindi un utente esperto di tecnologia potrebbe semplicemente cambiare questo bit da solo per sbloccare la versione senza pubblicità, qual è il modo migliore per prevenirlo?

Grazie!

p.s. Bene, le risposte non si stanno facendo ... Rispondi a questa domanda per maggiore visibilità se vuoi che risponda!

+0

ti preoccupi persone mettendo in ore di lavoro per rompere il vostro gioco di non dover pagare un paio di dollari ? – mach

+0

sì, questo è quello che finalmente sono arrivato alla conclusione lol. Eppure, un problema interessante. – ibiza

+0

puoi utilizzare queste tecniche [collegamento] (https://www.airpair.com/android/posts/adding-tampering-detection-to-your-android-app) –

risposta

1

Beh, è ​​molto improbabile che un utente normale abbia una partizione in eccesso/dati (dati dell'applicazione), ma se è possibile giocare in sicurezza; è possibile utilizzare SqlCipher (crittografia AES a 256 bit trasparente dei file di database).

È possibile controllare, è esempio a:

http://sqlcipher.net/sqlcipher-for-android/

Grazie, Munish

Problemi correlati