我已尝试根据http://developer.android.com/google/play/billing/billing_integrate.html#billing-download中的步骤让应用内计费示例应用程序正常工作。
我将在最后指定我所做的一切+添加日志。我希望有人能够告诉我我做错了什么。
这是我所做的一切(我知道它很长......但我想确保我没有忘记任何事情):
我将 Dungeons 项目导入我的工作区,并将我的 Google 公钥导入 Security.java 的 base64EncodedPublicKey 变量。我从添加到我的 Google 开发者帐户的新应用程序中获得了该公钥。
我根据要求更改了应用程序包的名称,因此它没有 com.example 前缀
我构建应用程序并通过“Android 工具”->“导出签名的应用程序包...”登录
我将该 APK 上传到我在开发者帐户中创建的新应用程序(我从中获取公钥的那个)
我将应用产品添加到新应用中,并使用与地下城项目中相同的 ID(sword_001、postion_001)并激活它们。
我在“设置”->“具有测试访问权限的 Gmail 帐户”中向我的开发者帐户添加了一个测试帐户,该帐户不是我的开发者帐户,而是我创建的一个新帐户。
我在设备上安装了签名的应用程序,我将其恢复出厂设置并使用添加到开发者帐户的测试帐户登录。
我的设备
我在没有 SIM 卡的 android 2.3.4 设备上安装了该应用程序(这是我的测试设备)。谷歌播放版本:3.10.9
结果
当我尝试购买其中一种产品时,我收到“item not available”错误(实际上我收到了两次)。我尝试将 DEBUG 设置为 true,现在我收到“从服务器检索信息时出错。[RPC:S-5:AEC-0]”(两次...)
日志:
12-06 07:58:42.255: D/Finsky(1955): [7] MarketBillingService.getPreferredAccount: com.sakal.billingtest.merchant: Account from first account.
12-06 07:58:42.275: D/Finsky(1955): [7] MarketBillingService.getPreferredAccount: com.sakal.billingtest.merchant: Account from first account.
12-06 07:58:42.325: D/Finsky(1955): [27] MarketBillingService.getPreferredAccount: com.sakal.billingtest.merchant: Account from first account.
12-06 07:58:42.335: D/Finsky(1955): [27] MarketBillingService.getPreferredAccount: com.sakal.billingtest.merchant: Account from first account.
12-06 07:58:42.991: E/Volley(1955): [15] BasicNetwork.performRequest: Unexpected response code 500 for https://android.clients.google.com/fdfe/details?doc=subs:com.sakal.billingtest.merchant:potion_001
12-06 07:58:44.785: D/Finsky(1955): [1] MarketBillingService.sendResponseCode: Sending response RESULT_ERROR for request 8273178932293834331 to com.sakal.billingtest.merchant.
12-06 07:58:44.785: I/BillingService(3173): handleCommand() action: com.android.vending.billing.RESPONSE_CODE
12-06 07:58:45.551: E/Volley(1955): [14] BasicNetwork.performRequest: Unexpected response code 500 for https://android.clients.google.com/fdfe/details?doc=inapp:com.sakal.billingtest.merchant:potion_001
12-06 07:58:46.225: D/Finsky(1955): [1] MarketBillingService.sendResponseCode: Sending response RESULT_ERROR for request 2493329704825383333 to com.sakal.billingtest.merchant.
12-06 07:58:46.245: I/BillingService(3173): handleCommand() action: com.android.vending.billing.RESPONSE_CODE