SÍ, he leído todos los documentos @ developer.android.com y entiendo todo con una excepción básica: para qué se introdujo.Android InApp Billing: ¿para qué sirven realmente?
Dado que todas las respuestas de pedidos de Google Play vienen firmadas por clave privada inaccesible por cualquier persona y están siendo verificadas por clave pública emparejada (en mi caso en servidor externo, por lo que también es inaccesible para tercera persona) simplemente (casi) no hay forma de burlar.
Todos estos nonces son solo una forma redundante de asegurar las compras. Y lo que es más, los documentos no dicen nada sobre la situación, cuando:
- Compro un artículo;
- Generar nonce y enviarlo a Google Play;
- Have a crash, así que todos mis conocidos nonces se pierden;
- Tengo mi aplicación reiniciada y recibí una devolución de llamada de Google Play;
- ... Y rechazar esta llamada debido a no haber reconocido nonce!
En situación descrita anteriormente el usuario paga por un artículo y nunca lo consigue, lo que es vergonzoso. Por supuesto, puedo almacenar nonces en algún archivo y volver a leerlo cuando mi aplicación vuelva, pero viola todos los principios de nonces.
En mi humilde opinión, alguien acaba de decir "Oye, el proceso de verificación es demasiado simple, vamos a añadir algo más con la aleatoriedad, ¡será mucho más genial!". Así que alguien lo hizo.
O, ¿me abriría la puerta a otro caso de uso que me falta? De lo contrario, eliminaré toda la parte nonces de mi código.
Si las compras se gestionan, recuerda que siempre hay la posibilidad de restaurar las compras , que los usuarios necesitarán si alguna vez 1. obtienen un nuevo dispositivo, 2. tienen que restablecer el dispositivo de fábrica. – weston
Tienes razón, me olvidé de ellos ya que no tengo ninguno, pero ¿cómo está conectado con nonces? –
Simplemente su escenario de "el usuario paga por un artículo y nunca lo consigue" no es un problema si utiliza compras administradas, por lo que no debe preocuparse por perder nonces en ese caso. No estoy diciendo que sea una respuesta, ¡solo un comentario! – weston