【问题标题】:Android: how to update an Android app with inapp billing?Android:如何使用应用内计费更新 Android 应用?
【发布时间】:2011-11-11 20:14:05
【问题描述】:
另一种提问方式:如何让应用内计费适用于我的应用的所有版本?
我有一个应用内计费的应用。我要更新它。
我在开发者控制台上的活动 apk 是版本 1。我的问题如下:
- 当我使用 adb 在我的设备上安装更新的应用程序(签名包)版本 2 时,我收到以下消息:“此版本的应用程序包未配置为市场计费”
- 当我在我的设备上安装版本 1(与控制台上的版本相同)的更新应用程序(始终签名的程序包)时(我在控制台上无法执行的操作...我必须增加版本号!)使用 adb,一切正常...
因此,应用内计费似乎仅适用于应用的一个版本:在控制台中处于活动状态的应用。我想我的用户会遇到同样的问题:只有最后一次更新应用的用户才能执行应用内计费……其他人会收到错误。
有人知道如何解决这个问题吗?我怎样才能让我在世界上已经安装的所有应用都能够进行应用内计费,无论版本号是什么??
谢谢!!!
【问题讨论】:
标签:
android
in-app-purchase
google-play
in-app-billing
【解决方案1】:
您所说的“控制台”是指您发布商的帐户吗?
我认为这不是错误,而是设计的功能。如果您尝试购买 没有 4 个 android.test.* 项目 ID 之一的购买,并且它正在运行调试版本,甚至是发布版本比您发布的版本更新,您将收到此错误:
例如,如果您在您的设备上运行 Release 模式,该模式比市场上的版本高一个版本并且您尝试购买 真正的 项(不是android.test.* 项),您将收到上述错误。
进一步澄清:如果您运行的应用程序的 versionCode 高于 AndroidMarket 中的应用程序(当然具有相同的包名称),如果您 成功“进行购买”使用 4 个android.test.* 项目 ID 之一。
请注意,这是基于我自己的经验和观察,因为关于这方面的完整文档还有待改进。
【解决方案2】:
这是我在使用 In-App-Billing 时观察到的情况。
【解决方案3】:
我面临这个错误。解决方案:请上传签名 apk 并使用您的产品 ID 进行测试:com.test.purchased 并设置为应用内产品。
(1) 使用带有签名 apk 的导出在您的手机上运行。
(2)如果发生错误,请等待 1-2 小时,因为有时 google 会延迟响应。