2012-08-09 19 views
6

estoy desarrollando actualmente un juego de puzzle para Android y me gustaría tener las siguientes características cuando esté terminado:¿Cómo asegurar correctamente una aplicación que utiliza compras en la aplicación y base de datos local de

  • Libre para jugar (ad que reciben apoyo) lo que se requiere una conexión a Internet activa (no puede jugar si no puede mostrar anuncios)
  • opción de compra en la aplicación para evitar los anuncios y comprobación de conectividad
  • compras en la aplicación del contenido adicional

Sin embargo, me doy cuenta de que hay muchas preguntas que se derivan de mis necesidades ...

  1. ¿Es una buena idea tener una sola versión y ofreciendo la opción de eliminar los anuncios a través de una compra en la aplicación en lugar de tener 2 versiones del juego en Play Store? Tal vez es una mejor idea tener 2 aplicaciones separadas, pero entonces, ¿cómo podría compartir datos entre los 2? p.ej. si un usuario compra contenido adicional en la versión gratuita y luego decide comprar la versión sin publicidad, me gustaría que el contenido que compró en la versión gratuita también esté disponible en su versión paga.

  2. ¿Cuáles son las mejores prácticas para garantizar que el juego no pueda ser "pirateado" para obtener el contenido adicional libremente? Entiendo que el nuevo contenido no debe incluirse con la aplicación original y descargarse por separado una vez que se realiza la compra, pero ¿qué puedo hacer para evitar que un usuario que haya comprado algún contenido no pueda redistribuirlo libremente? Después de todo, 'descargar contenido adicional' es simplemente contactar a un servidor para obtener datos y luego agregarlos a la base de datos local.

  3. La única forma en que veo implementar la versión "sin publicidad y reproducción sin conexión" (sin tener 2 versiones diferentes en Play Store) es actualizando un campo simple en la base de datos local, pero esto no parece una solución inteligente porque entonces un usuario experto en tecnología podría simplemente cambiar este bit por su cuenta para desbloquear la versión sin publicidad, ¿cuál es la mejor manera de evitar esto?

Gracias!

p.s. Bueno, las respuestas no están llegando ... ¡Vota esta pregunta para obtener más visibilidad si quieres que se responda!

+0

te preocupas personas poniendo en horas de trabajo para romper su juego para no tener que pagar unos pocos dólares ? – mach

+0

sí, eso es lo que finalmente llegué a la conclusión jajaja. Aún así, un problema interesante. – ibiza

+0

puede usar estas técnicas [link] (https://www.airpair.com/android/posts/adding-tampering-detection-to-your-android-app) –

Respuesta

1

Bueno, es muy poco probable que un usuario normal pueda exceso/partición de datos (datos de aplicación), pero si puede jugar seguro; puede usar SqlCipher (cifrado AES transparente de 256 bits de archivos de base de datos).

Puede comprobar, es ejemplo en:

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

Gracias, Munish

Cuestiones relacionadas