OnIabPurchaseFinished nunca llamado.
He estado intentando configurar la facturación en la aplicación para mi primera aplicación, y he estado usando el sku android.test.purchased. La compra viene a través, y consigo conseguir el SKU en mi inventario, pero, como el título dice, onIabPurchaseFinished, nunca se llama.
Creo que puede tener algo que ver con este registro: "No se pudo guardar qué vista tiene foco porque la vista enfocada com.android.internal.policy.impl.PhoneWindow$DecorView@406743d0 no tiene id". Eso aparece, justo antes de ir a Google Play. No estoy muy seguro de lo que eso significa …
- En la aplicación de facturación v3 cuando no hay red
- Cómo cambiar el mensaje de brindis que aparece después de la compra exitosa de un producto en la facturación en la aplicación
- Cómo eliminar el apk no publicado de la cuenta de la consola de Google Play
- Ofrecer recursos multimedia adicionales (gráficos / sonidos) como elementos facturados en la aplicación de Google Play
- ¿Cómo recuperar el correo electrónico del cliente en la transacción de facturación dentro de la aplicación?
Compra de lanzamiento:
mHelper.launchPurchaseFlow(this, sku, 10001, mPurchaseFinishedListener, "");
Y el oyente:
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() { @Override public void onIabPurchaseFinished(IabResult result, Purchase info) { System.out.println("Purchase Finish heard something"); if (result.isFailure()) { Log.d(TAG, "Error purchasing: " + result); return; } else{ Log.d(TAG,"Success!"); } } };
- Flujo de usabilidad de Android en la aplicación de facturación compra de un bien virtual
- Error de configuración de Sandbox en la aplicación de Android en un ID de Gmail concreto
- ¿Qué cuenta de Google Play utiliza IabHelper?
- Android In-App Billing - queryInventoryAsync devuelve 0 resultado
- ¿Cómo puedo firmar automáticamente las solicitudes de facturación?
- Android: en la facturación de la aplicación RESULT_SERVICE_UNAVAILABLE
- "Regalo" en una aplicación en Android de compra
- IAB firmó datos sin órdenes en él
Intente agregar esto a la actividad que llama a mHelper.launchPurchaseFlow(..)
:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Log.d(TAG, "onActivityResult(" + requestCode + "," + resultCode + "," + data); // Pass on the activity result to the helper for handling if (!mHelper.handleActivityResult(requestCode, resultCode, data)) { // not handled, so handle it ourselves (here's where you'd // perform any handling of activity results not related to in-app // billing... super.onActivityResult(requestCode, resultCode, data); } else { Log.d(TAG, "onActivityResult handled by IABUtil."); } }
Acabo de descubrir otra cosa importante: el requestCode que se utiliza para iniciar el flujo de compra tiene que ser> = 0!
I used "new Random () nextInt ()" para generar un requestCode aleatorio, ya veces funcionaba, a veces no lo hacía. Ahora he encontrado en la siguiente documentación, que el requestCode no debe ser un número negativo: