Consumible de Android: "ya posee ese elemento", pero inventory.hasPurchase () es falso
Estoy atascado con Google In App v3 – He probado una compra sin consumo (por ejemplo, cuando falla la aplicación entre comprar y consumir) – ahora no encontrar una salida.
Si intento comprar otra vez, él dice que "usted posee ya ese artículo". Pero cuando pruebo la propiedad, dice que no la tengo:
- ¿Cómo configurar proguard para amazon iap?
- En la API de facturación de la aplicación v3 INAPP_PURCHASE_DATA es nulo en el paquete cuando onActivityResult se llama
- Reembolso a la compra de aplicaciones en Android
- Compra de Android en la aplicación
- Compra en la aplicación con el servidor
Inventory inv = mHelper.queryInventory(false, null); inv.getPurchase(sku); // null inv.hasPurchase(sku); // false
No puedo consumir algo tampoco, ya que no tengo una compra para consumir. ¿Cómo proceder aquí?
EDITAR Reproduce como lo siguiente: compra de consumibles en la aplicación, a continuación, desactive la conexión a Internet. Después de eso, no podrá volver a comprar el producto durante algunas horas. Sólo probado con una aplicación popular de la tienda de juegos (Diamond Digger Saga), tuve el mismo comportamiento. ¿No hay realmente la posibilidad de evitar / resolver esto?
- LibGdx Gdx-Pay extensión obtener el precio del artículo
- Android IAP getBuyIntentToReplaceSkus no está cancelando la antigua suscripción
- En la aplicación de facturación V3
- Facturación en la aplicación (v3) - IllegalArgumentException: Servicio no registrado:
- Expiración de facturación dentro de la aplicación
- ¿Es posible con la suscripción mensual de compra en la aplicación de Android?
- ¿Es posible detectar de forma fiable en tiempo de ejecución qué tienda instaló una aplicación de Android (Google Play o Amazon Market)?
- Android - ¿es posible usar la compra en la aplicación para descargar contenido?
Me encontré con este problema exacto. Tenía dos cuentas de Google en el teléfono, una que era la cuenta del revelador (con la cual utilicé tontamente mi cuenta personal para) y otra que era la cuenta de la prueba que registré en la consola del revelador. Yo había eliminado y agregado de nuevo la cuenta de desarrollador de mis cuentas en el teléfono, lo que me permitió hacer compras de prueba desde mi aplicación, pensando que si la cuenta de desarrollador era la segunda de esta lista usaría la primera para compras.
Por desgracia, después de un par de ejecuciones de la aplicación me encontré con su problema. Dejé de intentar tener ambos y quitar la cuenta de desarrollador de mi teléfono. Aunque increíblemente incómodo, esto se deshizo de este problema y me permitió probar la compra, consumir, consultar, etc
Si está haciendo todo correctamente y su código está bien, lo más probable es que el problema se encuentre en los datos de los servicios de Google Play en caché.
Por ejemplo, cuando realiza una compra de prueba en su dispositivo A: en su dispositivo B (con la misma cuenta de Google conectada), seguirá recibiendo el inventory
sin su compra durante algún tiempo. Y tu inventory.getPurchase(sku)
devolverá null
y inventory.hasPurchase(sku)
devolverá false
;
Para solucionar este problema, intenta abrir Google Play y cerrarlo con el botón de Aplicaciones recientes (haz clic en él y luego desliza la aplicación), esto terminará la aplicación más rápido de lo habitual. A continuación, apague el dispositivo durante un par de minutos.
Nuestro objetivo aquí es hacer que Google Play actualice su caché.
Asegúrese de que está en wifi porque puede actualizar rara vez si está en datos móviles. Eventualmente los datos serán actualizados y usted conseguirá su compra. En mi caso sucedió después de 5 minutos o smth.
- SwipeRefreshLayout: Desplazar la animación de progreso
- ViewPager desactiva el desplazamiento a una dirección determinada