2011-04-04 15 views
5

Estoy tratando de implementar la facturación en la aplicación. He iniciado sesión en una cuenta de prueba registrada en Market y he actualizado mi clave pública en el código. Puedo comprar uno de los ID de productos de prueba.Facturación en la aplicación de Android: datos en blanco recibidos después de la compra

Sin embargo, parece que una firma en blanco se envía en el intento PURCHASE_STATE_CHANGED. El registro aparece como tales:

INFO/BillingReceiver(21437): notifyId: android.test.purchased 
WARN/ActivityManager(2513): Duplicate finish request for HistoryRecord{47de4b38 com.android.vending/.billing.InAppBuyPageActivity} 
INFO/BillingService(21437): handleCommand() action: com.app.GET_PURCHASE_INFORMATION 
DEBUG/BillingService(21437): GetPurchaseInformation 
ERROR/BillingService(21437): getPurchaseInformation received RESULT_OK 
DEBUG/BillingService(21437): request id: 4241021538346688898 
INFO/BillingService(21437): handleCommand() action: com.android.vending.billing.RESPONSE_CODE 
DEBUG/BillingService(21437): RequestPurchase: RESULT_OK 
INFO/BillingService(21437): handleCommand() action: com.android.vending.billing.PURCHASE_STATE_CHANGED 
INFO/Security(21437): signedData: {"nonce":-3927284292945900504,"orders":[{"notificationId":"android.test.purchased","orderId":"transactionId.android.test.purchased","packageName":"com.app","productId":"android.test.purchased","purchaseTime":1301944310410,"purchaseState":0}]} 
INFO/Security(21542): signature: 
INFO/Security(21437): Purchase not verified 
INFO/Security(21437): Purchase count = 0 
INFO/BillingService(21437): handleCommand() action: com.android.vending.billing.RESPONSE_CODE 
DEBUG/BillingService(21437): GetPurchaseInformation: RESULT_OK 

la "Compra no verificado" se debe al código de saltarse la verificación de la firma (porque está en blanco) y tirar que la compra del producto.

¿Alguna idea? No veo en los documentos que la firma esté en blanco o cuál sea el motivo.

Fwiw, esto sólo ocurre en mi Samsung Vibrant Galaxy S (2.2.1). Funciona bien en un Droid (2.2.2).

EDIT: Cuando llego a la Intención PURCHASE_STATE_CHANGED como el resultado de una operación de restauración de transacciones, consigo este lugar en los registros:

INFO/BillingService(24010): handleCommand() action: com.android.vending.billing.PURCHASE_STATE_CHANGED 
ERROR/Security(24010): data is null 

Esto indica que no hay carga útil firmado fue enviado a todos.

EDIT: En la prueba adicional parece que esto ocurre cuando las versiones de la aplicación subido y la aplicación instalada difieren. http://code.google.com/p/marketbilling/issues/detail?id=15

Respuesta

2

también me encontré con este problema. Aumenté el código de versión de la aplicación, lo firmé correctamente pero luego obtuve estas respuestas nulas del mercado.

Para solucionarlo he subido el nuevo APK como borrador para el mercado, entonces me dieron respuestas válidas.

+0

Interesante. He tenido la misma experiencia, aunque cada vez que subo una nueva APK el problema parece repetirse. He archivado un error: http://code.google.com/p/marketbilling/issues/detail?id=15 – sehugg

Cuestiones relacionadas