Almacenamiento de configuraciones en Android después de la desinstalación de la aplicación

Estoy desarrollando una aplicación para Android. Esta app almacena preferencias (configuraciones de usuario) relativas a su funcionamiento, como calidad de imagen preferida, etc. etc. Y compras también.

Mi pregunta es: cómo almacenar estas configuraciones en Android de manera que permanezcan persistentes incluso si se elimina la aplicación.

Concretamente compras. Quiero que el usuario pueda comprar una función en la aplicación, desinstalar la aplicación y, si la vuelve a instalar y presiona el botón "Restaurar compras", se restaurará la función comprada anteriormente.

Actualmente estoy usando SharedPreferences de Android para almacenar esta configuración. Me gustaría algún comentario sobre si esto funcionará para mi propósito o no.

preguntado el 12 de junio de 12 a las 10:06

2 Respuestas

Si usa preferencias compartidas, no funcionará. No podemos almacenar datos de forma permanente utilizando las preferencias compartidas. La mejor manera es usar un servicio web como backend.

Respondido el 12 de junio de 12 a las 10:06

Esto es correcto en general, pero no es lo correcto en el caso de la facturación dentro de la aplicación, que es el escenario específico al que se enfrenta la persona que pregunta. - Darshan Rivka Whittle

Cierto, pero comentarios útiles de todos modos. Gracias - usuario1034697

La respuesta corta para su caso específico es usar el "administrado por cuenta de usuario" tipo de compra al configurar la facturación integrada en la aplicación.

Con respecto al caso general, su aplicación SharedPreferences se eliminan cuando se desinstala la aplicación, así que no, esto no funcionará. Los únicos datos que se conservan después de la desinstalación son los almacenados en un público directorio en el almacenamiento externo (por lo general, pero no siempre, una tarjeta SD). Se elimina el directorio privado de su aplicación en el almacenamiento externo, junto con sus bases de datos, SharedPreferences, etc. durante la desinstalación.

Sería deficiente (y poco confiable) usar un área pública de almacenamiento externo para tratar de guardar los datos del usuario para este propósito. La solución correcta al problema general de almacenar datos de usuario en dispositivos o ciclos de desinstalación/reinstalación es, como sugirió @anoop, enviarlo a un servidor.

Respondido el 12 de junio de 12 a las 10:06

Bueno, en este caso no hay necesidad de transferir los datos entre dispositivos. Solo en el mismo dispositivo después de la desinstalación/reinstalación. Entonces, ¿se mantendrá el tipo de compra "administrado por cuenta de usuario" si la aplicación se instala y reinstala? - usuario1034697

@VascoPatricio Debe leer la documentación para la facturación en la aplicación. Cuando configura la facturación integrada en la aplicación, puede elegir entre "administrado" y "no administrado". Administrado significa que cuando se reinstala su aplicación, puede preguntarle al servicio de facturación integrado en la aplicación qué elementos (si corresponde) tiene este usuario en particular. ya ha comprado. - Darshan Rivka Whittle

Veo. Yo no sabía acerca de eso. Gracias ! - usuario1034697

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.