2011-06-16 51 views
2

我在Android上的游戏中测试应用内结算。我可以购买被管理的产品,并从服务器获得预期的响应。但是,当我尝试重新购买被管理产品或请求RESTORE_TRANSACTIONS时,我没有得到回应。重新购买托管的应用内商品或请求RESTORE_TRANSACTIONS时的响应

当再次购买时,我收到弹出消息“已购买的商品”,但没有回应。所以我可以重新解锁购买的物品,我应该得到一个回应,如果我不应该?即使使用测试帐户进行测试?

回答

1

您的问题没有说明您为什么试图重新购买被管理产品。你是否卸载/重新安装你的应用程序,然后尝试恢复/重新购买它?或者您是第一次点击“购买”后再次点击“购买”?

Google提供的BillingService/ResponseHandler旨在只回拨onPurchaseStateChange。这意味着如果你刚买了这个产品,没有什么改变,所以没有回调。但是,如果您清除应用程序的数据(使用“管理应用程序”设置面板或通过卸载/重新安装应用程序),那么当您执行RESTORE_TRANSACTIONS时,您应该得到onPurchaseStateChange回调。如果没有,我猜你的代码中有一个错误。

+0

谢谢你,这让我疯狂!我一直认为我们必须使用'onRestoreTransactionsResponse',但这从来没有任何意义,因为它没有提供具体的信息。 – Tom 2012-04-09 20:40:22