结算:isBillingSupported始终不可用

Dus*_*san 6 android

我正在三星Galaxy Tab 2 7.0上测试应用内结算,当我尝试检查结算是否可用时,我总是得到响应3 - BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE (Billing API version is not supported for the type requested).

int response = payService.isBillingSupported(3, getPackageName(), "inapp");
Run Code Online (Sandbox Code Playgroud)

我创建了草稿应用程序,在开发者控制台中上传了已签名的APK并添加了测试帐户的电子邮件(在仪表板的LICENSE TESTING字段中,该字段指出这些帐户也用于计费测试).此外,我的设备使用此测试帐户作为主帐户.我在Eclipse中调试应用程序.

编辑:同样在HTC Evo 3D上测试,响应总是返回3.

编辑:测试帐户是否必须关联谷歌钱包或其他东西才能测试应用程序?我的位置是塞尔维亚,这可能是问题吗?

是什么导致了这个问题,如何解决?

Dus*_*san 13

我现在可以确认这是一个真正的问题,与我的设备或代码无关.问题出在Google Play商店和我在塞尔维亚的位置.

以下是Google发布此问题的官方详细信息:

目前,塞尔维亚的用户报告他们无法再在Google Play上购买Android应用.我们正在努力解决此问题,以便该国家/地区的用户可以再次下载付费应用; 但是,目前还没有针对该问题的解决方法.

如果您在塞尔维亚并且在尝试购买时遇到错误,或者您根本没有看到付费应用,那么您就会遇到这个已知问题.我们将继续通过开发更新此页面,请稍后再回来查看.

问题首先报道:2012年2月1日

最后更新日期:2013年4月10日

现在,我的目的是简单地测试应用程序计费而不是真正购买任何东西,但这是不可能的,因为Play Store总是像生产环境一样,并且与塞尔维亚有一些问题,当然,这也影响了开发人员.

解析度

  1. 通过标准VPN连接将设备连接到外国互联网(在我的情况下是比利时)
  2. 在位置设置中,关闭所有内容(GPS,Wi-Fi协助,...)
  3. 如果正在运行,请停止(终止)Play商店应用
  4. 在应用程序设置中,清除Play商店应用程序的缓存(不是数据)
  5. 启动Play商店应用 - 它现在加载针对VPN所针对的国家/地区的不同内容

Play商店定位到不同的国家/地区后,我的代码就开始完美运行了.

我写这个答案是为了帮助其他人,如果他们遇到类似的问题 - 谁知道,也许是在其他国家,其他时间.