Implementé una aplicación de prueba con la facturación en la aplicación de Android. He completado mi clave pública en el archivo Security.java. Todo funciona, pero cuando envío el pago, la aplicación falla. Recibo un error en LogCat que dice "Comprobación de la firma ha fallado", que corresponde a este trozo de código:Facturación dentro de la aplicación de Android: Security.java dice "Falló la verificación de la firma"
if (!sig.verify(Base64.decode(signature))) {
Log.e(TAG, "Signature verification failed.");
return false;
}
Si cambio que poco a devolver verdadero lugar de retorno falso, entonces todo funciona correctamente - puedo enviar pago y regreso seguro a la aplicación, pero supongo que algo más está mal, ya que probablemente debería cambiar eso para que sea cierto.
¿Alguna idea sobre qué podría estar causando esto?
El APK que inserte en su dispositivo de prueba también debe tener los mismos valores EXACTA de la versión que la APK que cargó en Developer Console. La Consola del desarrollador puede demorar hasta 6 horas para actualizar su versión de APK. –
A partir de hoy, base64PublicKey es el parámetro pasado a IabHelper, no está definido en Security.java – 18446744073709551615
¿No hay una manera más fácil de desarrollar el flujo de integración de facturación sin firmar, cargar, esperar, etc.? Estoy de acuerdo con que las pruebas se realicen lo más cerca posible de la producción, pero el ciclo de desarrollo es muy largo. Si equivocadamente hice un mal si o NPE, ¡tengo que volver a hacer toda la fase de publicación! –