traduccion test studio purchase library hack compras app android in-app-purchase in-app-billing

test - Android inventory.getSkuDetails() devolviendo un valor nulo



in app purchase traduccion (2)

Después de que publiqué mi apk alfa para jugar en google, la facturación comenzó a funcionar nuevamente.

Hola, estoy tratando de agregar las compras de aplicaciones a mi aplicación. He configurado mis compras de aplicaciones en la consola de desarrolladores que están configuradas para activarse. Luego, les pregunté qué ayer funcionaba perfectamente. Recuperé todos los detalles, pero hoy regresé como nulo Lo único que ha cambiado es que tuve que desinstalar la aplicación y volver a ejecutarla. He comprobado mis skus tanto en la aplicación como en la consola de desarrolladores que coinciden exactamente cuando ejecuto IabHelper start setup y obtengo un resultado de ok. Y luego llamo a IabHelper.QueryInventoryFinishedListener y el resultado es que está bien, pero cuando intento acceder a algo del inventario, vuelve como nulo. ¿Alguien sabe por qué? ¿O si estoy haciendo algo mal en mi código?

en mi en Crear ();

mHelper = new IabHelper(this, base64EncodedPublicKey); mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() { public void onIabSetupFinished(IabResult result) { if (!result.isSuccess()) { // Oh noes, there was a problem. Log.v("Menu", "Problem setting up In-app Billing: " + result); } // Hooray, IAB is fully set up! Log.v("Menu", "INAPP BILLING SETUP COMPLETE: " + result); ArrayList<String> skuList = new ArrayList<String> (); skuList.add("myapp.consumable.inapppurchase_id_1"); skuList.add("myapp.consumable.inapppurchase_id_2"); skuList.add("myapp.consumable.inapppurchase_id_3"); skuList.add("myapp.permanant.inapppurchase_id_6"); skuArray = new JSONArray(skuList); mHelper.queryInventoryAsync(true, skuList, mQueryFinishedListener); } });

Entonces heres mi código para el QueryListener

IabHelper.QueryInventoryFinishedListener mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() { public void onQueryInventoryFinished(IabResult result, Inventory inventory) { if (result.isFailure()) { Log.v("Menu", "RESULT FALIURE"); return; } Log.v("Menu", "this +" + skuArray); Log.v("Menu", "Inventory +" + inventory); for(int i = 0; i < skuArray.length(); i++){ try { String SKU = skuArray.getString(i); if(inventory.getSkuDetails(SKU) != null){ Log.v("Menu", "SKU = " + SKU); Log.v("Menu", "SKU" + SKU + "= " + inventory.getSkuDetails(SKU)); updateProductData("price",inventory.getSkuDetails(SKU).getPrice(),i); updateProductData("id",inventory.getSkuDetails(SKU).getSku(),i); }else{ Log.v("Menu", "SKU RETURNED NULL" + SKU); } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } };


Ok, hablé con Google sobre este tema. Y dicen que han realizado cambios que requieren que se publique el apk antes de agregar las compras de la aplicación que recomiendan subir el apk al canal de prueba alfa y publicar (no en modo borrador).

Voy a intentarlo y retroalimentar si funciona