Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿La clase IabHelper no funciona?

He implementado la clase IabHelper en mi proyecto android y dice que el 'getBuyIntentToReplaceSkus' no puede ser resuelto. El método completo:

buyIntentBundle = mService.getBuyIntentToReplaceSkus(5, mContext.getPackageName(),oldSkus, sku, itemType, extraData); 

He implementado en la facturación de aplicaciones en mi proyecto, pero todavía no he creado ningún artículo para ser comprado, aunque el resto de los métodos no tienen ningún problema.

  • Pruebas de facturación en la aplicación con cuentas de prueba
  • Error de compra de la aplicación en códigos estáticos
  • Facturación en aplicaciones v3 imposible de consultar elementos sin conexión de red o en modo avión / vuelo
  • Obtener el ID de Google utilizado para descargar la aplicación
  • facturación en la aplicación para países no compatibles
  • Compras en la aplicación para Android: ¿necesitas comprobar el permiso com.android.vending.BILLING cuando orientas Android 6?
  • ¿Cómo se vencen las suscripciones de Google Play?
  • ¿Diferencia entre el producto administrado y no administrado en la aplicación Android?
  • One Solution collect form web for “¿La clase IabHelper no funciona?”

    La ayuda en el proyecto de ejemplo de Google es diferente que el archivo aidl incluido en el SDK adicional de Google Play Billing. No tengo ni idea de por qué pensaban que era una buena idea. Simplemente reemplace la ayuda en su proyecto con la que se incluye en el proyecto de ejemplo. Esto contiene las referencias de método faltantes. También puede copiar y pegar el siguiente código en su archivo aidl en la parte inferior:

      /** * This API is currently under development. */ int stub(int apiVersion, String packageName, String type); /** * Returns a pending intent to launch the purchase flow for upgrading or downgrading a * subscription. The existing owned SKU(s) should be provided along with the new SKU that * the user is upgrading or downgrading to. * @param apiVersion billing API version that the app is using, must be 5 or later * @param packageName package name of the calling app * @param oldSkus the SKU(s) that the user is upgrading or downgrading from, * if null or empty this method will behave like {@link #getBuyIntent} * @param newSku the SKU that the user is upgrading or downgrading to * @param type of the item being purchased, currently must be "subs" * @param developerPayload optional argument to be sent back with the purchase information * @return Bundle containing the following key-value pairs * "RESPONSE_CODE" with int value, RESULT_OK(0) if success, appropriate response codes * on failures. * "BUY_INTENT" - PendingIntent to start the purchase flow * * The Pending intent should be launched with startIntentSenderForResult. When purchase flow * has completed, the onActivityResult() will give a resultCode of OK or CANCELED. * If the purchase is successful, the result data will contain the following key-value pairs * "RESPONSE_CODE" with int value, RESULT_OK(0) if success, appropriate response * codes on failures. * "INAPP_PURCHASE_DATA" - String in JSON format similar to * '{"orderId":"12999763169054705758.1371079406387615", * "packageName":"com.example.app", * "productId":"exampleSku", * "purchaseTime":1345678900000, * "purchaseToken" : "122333444455555", * "developerPayload":"example developer payload" }' * "INAPP_DATA_SIGNATURE" - String containing the signature of the purchase data that * was signed with the private key of the developer * TODO: change this to app-specific keys. */ Bundle getBuyIntentToReplaceSkus(int apiVersion, String packageName, in List<String> oldSkus, String newSku, String type, String developerPayload); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.