Android – ¿Cómo comprobar si se renueva la suscripción?
Tengo una aplicación para Android con suscripciones mensuales renovables. En esta aplicación quiero notificar al usuario alguna información cuando su subcripción continúa en el próximo mes.
Como puedo ver las renovaciones en el centro comercial (orderId termina con, por ejemplo,. 0,. 1), pero al consultar el inventario de mi pedido de pedido es idéntico a antes de eq.
- La facturación en la aplicación, no puede hacer que RESULT_DEVELOPER_ERROR desaparezca
- Error en la autorización de facturación del operador con facturación en la aplicación de Google
- ¿Cómo determinar el número de suscriptores de facturación en la aplicación?
- Hacer donaciones a través de la facturación en la aplicación
- ¿Cómo usar la Facturación en la aplicación con MonoDroid?
{ "orderId": "GPA.XXXX-YYYY-XXXX-ZZZZZ", "packageName": "my.packageName", "productId": "my.sku", "purchaseTime": 1456398623654, "purchaseState": 0, "developerPayload": "mypayload", "purchaseToken": "token", "autoRenewing": true }
Lo que más me molesta es que purchaseTime tampoco cambia.
Así que mi pregunta es: ¿Si hay alguna manera de detectar en la aplicación que la renovación se produjo?
Editar:
Estoy utilizando Google Play Developer API para obtener información de suscripción y luego calcular el número de renovaciones yo mismo.
- Android: cómo actualizar una aplicación de Android con facturación inapp?
- Error al consultar el inventario: Error al actualizar el inventario
- ¿Qué utilizar como carga útil del desarrollador en las API de facturación de Google In-App?
- La compra en la aplicación utiliza una cuenta incorrecta después de la actualización
- Android: problema con facturación en la aplicación
- Las compras en la aplicación realizadas a través de códigos promocionales devuelven la cadena de carga útil del desarrollador vacía
- ¿Dónde está el paquete de facturación de Google Play?
- Android en la facturación de la aplicación: la compra sigue recibiendo el usuario de la respuesta -1005 cancelado
El ID de pedido para todas las recurrencias se devuelve en el campo orderId
campo JSON INAPP_PURCHASE_DATA
(en V3) con cada transacción recurrente anexada por un entero.
Números de pedido de suscripción
Para ayudarle a realizar un seguimiento de las transacciones relacionadas con una suscripción determinada, los pagos de Google proporcionan un número de pedido de comerciante básico para todas las recurrencias de la suscripción y denota cada transacción recurrente añadiendo un número entero de la siguiente manera:
GPA.1234-5678-9012-34567 (base order number) GPA.1234-5678-9012-34567..0 (first recurrence orderID) GPA.1234-5678-9012-34567..1 (second recurrence orderID) GPA.1234-5678-9012-34567..2 (third recurrence orderID) ...
Sin embargo, debido al almacenamiento en caché local, es posible que no obtenga la información más reciente. Así que intente borrar la caché del administrador de aplicaciones para ver primero si obtiene la información correcta de compra.
Dado que la consulta de compra de esta manera no es fiable, tiene más sentido llamar a Google Play Developer Purchases.subscriptions: obtener API desde un backend para obtener el recurso Purchases.subscriptions que devolverá expiryTimeMillis
de la suscripción actual.
{ "kind": "androidpublisher#subscriptionPurchase", "startTimeMillis": long, "expiryTimeMillis": long, "autoRenewing": boolean, "priceCurrencyCode": string, "priceAmountMicros": long, "countryCode": string, "developerPayload": string, "paymentState": integer, "cancelReason": integer }
Los datos de compra de las suscripciones sólo se devuelven cuando la suscripción está activa. Si la suscripción caduca, no obtendrá estos datos de compra cuando consulte el inventario.
Extracto del enlace
Si falla un pago periódico (por ejemplo, porque la tarjeta de crédito del cliente se ha convertido en no válida), la suscripción no se renueva. El método getPurchases () no devuelve suscripciones erróneas o caducadas.