Android应用内购买问题

Mar*_*le1 3 android in-app-purchase google-play

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

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

用户出现问题时:

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

然后:

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

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

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

我希望这有点可以理解.

提前致谢

Mar*_*le1 5

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

我会尝试解释解决方案而不使用任何代码:)

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

我仍然认为,当进行购买时(仅当用户通过Android Market启动应用程序时)用户被重新投入Android Market而不是我们的应用程序是奇怪的,但我似乎无法找到解决方案或解释.

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