一段时间以来,我一直在为 Android IAB v3 苦苦挣扎。我让它在我的测试设备上始终如一地工作。但是,我的崩溃报告服务显示了两次重复发生的崩溃:一次是空指针异常,一次是非法状态异常。我尝试根据面临类似问题的 Stackoverflow 用户的大量建议更新 Google 示例代码。我经历了几次“阅读崩溃报告、进行研究、尝试修复崩溃、提交更新、再次查看相同的崩溃报告”循环。我认为是时候采用不同的方法了。
如果您今天开始使用 Android IAB,您会选择什么作为代码示例、修复、文档等的最新、正确的资源?
这不一定是单个资源。示例代码、来自 SO 帖子的补丁、博客帖子,甚至“使用 Android SDK 管理器更新”的任意组合都会有所帮助。理想情况下,我们可以为刚接触 IAB 的人创建一个资源,让他们免于尝试集成服务时的头痛和挣扎。
编辑 1:有关崩溃的更多信息
java.lang.IllegalStateException: Can't start async operation (refresh inventory) because another async operation(launchPurchaseFlow) is in progress.
at com.android.vending.billing.IabHelper.flagStartAsync(IabHelper.java:832)
at com.android.vending.billing.IabHelper.queryInventoryAsync(IabHelper.java:623)
at com.android.vending.billing.IabHelper.queryInventoryAsync(IabHelper.java:651)
...
java.lang.NullPointerException
at com.android.vending.billing.IabHelper.launchPurchaseFlow(IabHelper.java:398)
at com.android.vending.billing.IabHelper.launchPurchaseFlow(IabHelper.java:350)
...
这是两个异常(exception)。它们并不总是发生在 IabHelper 中的相同位置。我可能只是修补它们,但这似乎不是解决这个问题的正确方法。此外,它对其他任何人都没有帮助。
我使用的可能是来自 Google 的过时示例代码。但是,我搜索了很多,找不到更新的内容。
最佳答案
嘿,从 10 天开始,我还致力于 InApp Purchase,我已经成功地集成到我现有的应用程序中,并准备好让它上线。最初,当我开始这样做时,我从 here 下载了名为“Trivial Drive”的 Google InApp Billing Example。 .
但它对我没有太大帮助,因为它有很多问题和错误,所以我决定使用新的 v3 api 从头开始自己做,你可以找到 here .本教程有清晰的解释,可以帮助您,如果您有时间,请参阅 this youtube 视频,其中谷歌员工清楚地解释了如何集成它。
此外,如果您想要快速示例,我有一个示例应用程序,您可以从 here 下载.如果您有任何问题,请随时提出。
关于android - 当前的 Android IAB 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26185808/