que estoy usando licencias de Android como se describe aquí:Correlación de usuarios de Google Checkout para respuestas de licencias de Android
http://developer.android.com/guide/market/licensing/index.html
(... para comprobar que mis clientes para mi aplicación Android en realidad han pagado por la aplicación.) Mi aplicación tiene un componente de servidor en la web, y para mayor seguridad estoy haciendo la validación de la licencia en este servidor.
Todo funciona bien. Ahora, a mi problema. Dado que cada nuevo usuario ata recursos en mi servidor central, en realidad soy un poco reacio a tener usuarios que no pagan. He visto algunas pruebas de que los usuarios siguen usando la aplicación después de haber obtenido un reembolso (por el período de gracia normal de 15 minutos).
Para controlar este comportamiento, sería genial si hubiera alguna forma de asignar el pago de los usuarios en Google Checkout a los usuarios reales de mi sistema. es posible?
El ResponseData que recibo del servidor de la licencia de Android contiene un campo llamado "userId", pero esto no parece corresponderse con ninguna información en Google Checkout. (Consulte http://www.androidadb.com/source/skylight1-read-only/GoogleLVL/src/com/android/vending/licensing/ResponseData.java.html para obtener la definición de ResponseData).
¿Es posible determinar qué pago en Checkout se asigna a qué aplicación de instalación?
No puedo creer que esta pregunta haya sido votada dos veces y no haya recibido respuesta en los últimos nueve meses. Aunque esto podría explicar mucho ... En cualquier caso, ¿puede decirnos cómo descubre que los usuarios continúan usando su aplicación después de obtener un reembolso? A través de otros datos que no sean el iserId? ¿Y no debería la información de licencias de Google Play reflejar el hecho de que un usuario obtuvo un reembolso? –
La razón por la que sé/sospecho que mi servicio ha sido utilizado por usuarios no abonados es porque he visto en mis registros de servidor que los usuarios se han registrado como nuevos usuarios y luego uso mi servicio durante 45 minutos, en un día en que realmente no hay ventas en absoluto (mi aplicación no es tan popular :-)). No es un gran problema, pero me sorprendió que la solución obvia de dejar que el servidor verifique que los usuarios hayan pagado no es posible. –
Al mirar el campo userId, descubrí que es Base64 encriptado, y revsering proporciona una cadena como esta B @ XXXXXXXX, donde X ... X es un número de 8 dígitos hexadecimales, como una dirección de algún tipo? ¿Alguien que pueda comentar sobre esto, podría ayudarnos a identificar a los usuarios? – 3c71