Cómo proteger correctamente una aplicación que utiliza compras dentro de la aplicación y bases de datos locales

Actualmente estoy desarrollando un juego de rompecabezas para Android y me gustaría tener las siguientes funciones cuando se complete:

Juego gratuito (con publicidad), por lo que se requiere una conexión activa a Internet (no se puede jugar si no se pueden mostrar anuncios)Opción de compra en la aplicación para eliminar anuncios y verificar la conectividadCompras en la aplicación para contenido adicional

Sin embargo, me doy cuenta de que hay muchas preguntas que surgen de mis requisitos ...

¿Es una buena idea tener una versión única y ofrecer la opción de eliminar los anuncios a través de una compra desde la aplicación en lugar de tener 2 versiones del juego en Play Store? Tal vez sea una mejor idea tener 2 aplicaciones separadas, pero entonces, ¿cómo podría compartir datos entre las 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 de pago.

¿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 contenido nuevo no debe incluirse en 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 ponerse en contacto con un servidor para obtener datos y luego agregarlos a la base de datos local.

La única forma que veo para implementar la versión 'sin anuncios y sin conexión' (sin tener 2 versiones distintas en Play Store) es mediante la actualización de un campo simple en la base de datos local, pero esto no parece ser una solución inteligente porque entonces el usuario experto en tecnología podría simplemente cambiar este bit por sí mismo para desbloquear la versión sin publicidad, ¿cuál es la mejor manera de evitar esto?

¡Gracias!

PD. Bueno, las respuestas no se están vertiendo ... ¡Mejora esta pregunta para tener más visibilidad si quieres que se responda!

Respuestas a la pregunta(1)

Su respuesta a la pregunta