使用AndroidInAppPurchase创建采购订单时,有时Google市场无法及时发送确认消息。我们已经看到这样的情况,即在购买后仅几个小时就发送了确认,从而使用户处于他们的信用卡已结帐的状态,但他们在我们的产品中看不到购买。参见:http://code.google.com/p/marketbilling/issues/detail?id=14#makechanges 最佳答案 事实证明,“恢复交易”请求还会发回未验证您的产品已收到这些交易的非托管交易。这是一个适用于托管和非托管产品的解决方案:当用户想要购买时,首先设置一个
编辑***仍在寻找我原来问题的答案。为什么Android不会看到该商品之前已经购买过,而是让用户再次付款?设置SharedPreferences是个不错的主意,但如果用户卸载了怎么办?他们将不得不再次购买。我不希望用户这样做。谢谢。我试图弄清楚为什么该应用程序无法正确清点,我从TrivialDrive中获取了它并试图将其变成我自己的。我想我删除了所有消费,我只有一件商品要购买;高级升级。这应该只买一次,永远不要收费两次。当我在我的平板电脑上编译并运行该应用程序时,我成功地通过了购买过程并且一切似乎都很好,直到我使用任务管理器关闭该应用程序并重新打开它。重新打开后,它会要求再次购买pre
In-Apppurchaseresponse,作为购买时间,如何将这个timestamp转换成date格式,我遇到的问题是timestamp的值超过了longdatatypelimit?请解释在这种情况下如何从时间戳中确定日期? 最佳答案 您正在尝试使用不正确的格式字符串“MMddyyHHmmss”通过SimpleDateFormat解析时间戳。返回的时间戳值以“自纪元(1970年1月1日)以来的毫秒数”表示。将字符串解析为其long值并直接从中创建一个Date对象:Datedate=newDate(Long.parseLong(t
我正在使用静态响应在我的应用中测试应用计费https://developer.android.com/google/play/billing/billing_testing.html我正在使用android.test.purchased来测试我的购买,这是我第一次能够假装购买它,但现在它列为已购买,我无法再对其进行测试。有没有办法重置购买状态? 最佳答案 如果您使用的是API版本3,它会将所有产品作为托管产品进行处理。托管意味着它是一次性购买的。所以这意味着您需要先消费该产品并告诉谷歌购买的商品已消费。然后它将再次可供购买。请访问h
我们的测试版应用程序使用android.test.purchased,因此客户可以免费测试。但最近在消费这些测试产品时出现了一些问题。购买过程仍然正常,但当我们尝试消费时:intresponse=ms.consumePurchase(3,mContext.getPackageName(),token);这现在总是返回RESULT_DEVELOPER_ERROR==5。传递的数据似乎有效,token是inapp:com.lootworks.swords:android.test.purchased,我认为这对于静态测试产品是正确的。同时,我们所有早期的应用程序版本也停止工作,我们没有更改
我已经通过标准助手发送了测试购买意向:StringSKU="android.test.purchased";mHelper.launchPurchaseFlow(this,SKU,10001,mPurchaseFinishedListener);购买成功,但当我尝试使用以下方式消费购买的商品时:mHelper.consumeAsync(inv.getPurchase(SKU),mConsumeFinishedListener);我收到以下错误:Errorwhileconsuming:IabResult:Errorconsumingskuandroid.test.purchased(re
我已经在我的应用程序中实现了应用内购买,但有时它会给我NPE,下面是堆栈跟踪。如果有人感兴趣,我也可以发布代码。java.lang.RuntimeException:Unabletostartservicecom.market.BillingService@48400380withnull:java.lang.NullPointerExceptionatandroid.app.ActivityThread.handleServiceArgs(ActivityThread.java:3063)atandroid.app.ActivityThread.access$3600(Activit
这是我第一次在Android中使用InAppBilling。我的目标是为应用程序创建类似于专业版解锁的可购买项目。我的问题是它一直给我这些错误。请注意许可证key是正确的,我的谷歌帐户已经作为测试人员添加到控制台中,产品sku已经存在并且apk的alpha版本已经上传到控制台。这是我的代码,publicclassProVersionActivityextendsAppCompatActivity{publicstaticfinalStringTAG="ProVersionActivity";publicstaticfinalStringSKU_PRO_VERSION="vollvers
我目前正在开发一款应用内计费应用。一切正常。我已经在Betachannel中发布了该应用程序,并让测试用户使用真实元素对其进行了测试,并且它可以正常工作。然而,在调试时,我正在使用android.test.purchased项目,当我按下购买按钮时,我的游戏商店崩溃了。我收到以下错误:E/AndroidRuntime:FATALEXCEPTION:mainProcess:com.android.vending,PID:25463java.lang.NullPointerException:Attempttoreadfromfield'com.google.android.finsky.
我正在尝试为我的应用实现应用内结算。我正在关注谷歌的TriviaDrive示例应用程序中使用的实现,以及开发者网站上的相关文档。我的代码按预期工作但是当我尝试"QueryItemsAvailableforPurchase",生成的Inventory对象包含0个对象,即使我已经创建了一个产品。我使用GooglePlay开发者控制台创建了一个ID为paid_version的托管产品,如下图所示:文档指出“要检索产品详细信息,请在您的IabHelper实例上调用queryInventoryAsync(boolean,List,QueryInventoryFinishedListener)。”