studio programacion para libro edición desarrollo desarrollar aprende aplicaciones anaya android security design in-app-purchase google-play

programacion - libro android studio 2017



Preguntas sobre seguridad y diseño de la aplicación en la aplicación (1)

Tengo algunas preguntas relacionadas con la facturación en la aplicación de Android:

  1. ¿Es posible realizar una compra desde una aplicación que no es de Market? Entiendo que sería una vulnerabilidad, pero no tengo la oportunidad de averiguar si es posible o no.

  2. ¿Cómo puedo obtener el estado de compra para un producto en particular? Por lo que yo entiendo, se puede hacer usando la solicitud RESTORE_TRANSACTIONS , pero no se recomienda su uso con mucha frecuencia. Eso no es un problema teórico. Mi aplicación permite a los usuarios comprar contenido utilizando la facturación integrada en la aplicación. El contenido se puede descargar desde un servidor, y el servidor debe permitir la descarga de contenido solo si fue comprado. Pero no puede verificar si el contenido fue comprado o no sin usar una respuesta firmada de Android Market.

  3. ¿Cómo puedo obtener el precio y la descripción de un artículo de Android Market? Parece que sé la respuesta y es "no hay manera de que se pueda hacer", pero tal vez estoy equivocado. Sería muy útil tener la posibilidad de recuperar el precio del artículo.

Me resulta muy interesante cómo resolvió / resolverá estos problemas en sus aplicaciones. La respuesta a cualquiera de estas preguntas será apreciada.


En orden:

1- No. El proceso de facturación en la aplicación es parte de Market. Si la aplicación proviene de otra parte, no hay forma de que Market verifique el origen / autenticidad de la aplicación.

2- Es su responsabilidad almacenar el estado de compra de un producto en particular. Del doc :

Debe configurar una base de datos u otro mecanismo para almacenar la información de compra de los usuarios.

RESTORE_TRANSACTIONS debe reservarse para reinstalaciones o instalaciones por primera vez en un dispositivo.

3- Lamentablemente, en este momento tienes razón. ¡Presente una solicitud de función!

Mientras tanto, una opción es configurar un sitio web con appengine, listas de tiendas de todos tus contenidos y precios allí, y luego sincronizar manualmente los precios que figuran en tu servidor appengine con los precios actualizados en Market. Luego, haz que tu aplicación de Android obtenga los datos del servidor de App Engine. Esto es mucho mejor que los valores de precios de codificación rígida en la aplicación en sí, ya que no es necesario que todos actualicen la aplicación de inmediato para ver precios precisos cada vez que cambie algo. La única advertencia de este método es que si el usuario se encuentra en un país diferente, la facturación integrada en la aplicación mostrará un precio aproximado en su moneda original, y no hay manera de que usted determine exactamente qué precio se le mostrará.

Relacionado, uno de los Defensores de los Desarrolladores de Android está dando una charla sobre LVL / IAP en IO, llamada "Evadiendo Piratas y Deteniendo Vampiros usando la Biblioteca de Verificación de Licencias, Facturación In-App y App Engine". - Definitivamente valdría la pena mirar cuando lanzan los videos de la sesión en el sitio web.