Android应用内购买问题

时间:2012-01-04 14:40:17

标签: android in-app-purchase google-play

在我们在Android电子市场上提交第一个应用后,我遇到了一个奇怪的问题。该应用程序具有应用内购买功能,在发布之前已经过全面测试(或者至少我是这么认为的。)

我知道类似的问题可能已经存在,但我还没有找到它们,只用几句话就很难描述我的问题。

用户出现问题:

a)从Android Market下载我们的应用程序 b)通过Android Market中的OPEN链接下载后打开应用程序 c)开始购买,将用户带回Android Market d)取消或完成购买

然后:

用户不返回我们的应用程序,而是返回Android Market(显示我们应用程序的说明,其中包含用于打开应用程序的按钮等)。在LogCat中,响应代码从Android Market发送到Purchase Observer,但是我们的应用程序(现在在后台)没有收到代码,因此永远等待来自Android Market的响应。所以这实际上是两个问题,因为购买后用户应该返回Android Market屏幕并不是故意的 - 我们的应用程序应该在历史市场之前。

如果用户在Android电子市场之外打开我们的应用程序(例如主屏幕),一切正常。观察者收到取消或完整的响应代码。

我们已经使用Google自己的应用内结算示例作为我们的基础。

我希望这有点可以理解。

提前致谢

1 个答案:

答案 0 :(得分:5)

好吧,我终于找到了答案。

我会尝试在不使用任何代码的情况下解释解决方案:)

PurchaseObserver实例仅在我的活动处于活动状态时可用 - 但在上述示例中它不活动。我错误地认为PurchaseObserver是订单应保存在数据库中的地方 - 只是为了发现您在购买时无法确定PurchaseObserver是否存在。相反,我现在只使用Observer来更改UI,然后通过ResponseHandler处理订单信息和数据库,当在Android Market中进行购买时,它始终会被调用。

我仍然认为用户在购买时(仅当用户通过Android电子市场启动应用时)才会被重新投入Android电子市场而不是我们的应用程序,这很奇怪,但我似乎找不到解决方案或解释

如果没有Android Market上的应用程序,这是不可能测试或重现问题的 - 所以我希望这个解释可以帮助你们不要犯同样的错误;)