我遇到了应用内结算库(使用BillingClient)和应用内结算API(使用IInAppBillingService)都用于管理订阅,我的问题是在什么情况下必须使用哪个。我正在使用In-appBillingAPI进行测试并检查应用程序启动画面上的订阅状态。我的逻辑很简单,使用getPurchases()方法获取购买状态。如果getPurchases()返回空,我认为“未购买状态”否则“购买状态”。如果出现以下标准,这会解决吗?1.延迟计费2.购买过期如果定期付款失败(例如,因为客户的信用卡失效),则订阅不会续订。getPurchases()方法不会返回失败或过期的订阅。是什么意思Bu
我一直在玩Dungeons应用程序和我自己的计费代码,除了一个奇怪的地方外,几乎一切正常。似乎无论我做什么我都无法让DEVELOPER_PAYLOAD出现在JSON签名的响应中。如果我没看错,文档似乎说我应该在JSON市场响应中看到developer_payload。Dungeons应用程序似乎认为它也应该在json中看到developer_payload。我还没有让它在我的代码中工作,而且它在我手机上的地下城示例中似乎也没有工作。这是我的一些代码fragment:Bundlerequest=makeRequestBundle("REQUEST_PURCHASE");request.p
我已经在我的应用中实现应用计费v3大约一周了。我使用了很多android的示例代码来简化集成。我经常记录我似乎无法重现的崩溃:ExceptionType:java.lang.RuntimeExceptionReason:Unabletodestroyactivity{[package].billing.BillingActivity}:java.lang.IllegalArgumentException:Servicenotregistered:[package].billing.util.IabHelper$1@40646a70它似乎在这条线上中断了:if(mContext!=nul
我在应用内购买时使用Android应用内结算。在极少数情况下,我的一些用户会报告此错误:"Errorretrievinginformationfromserver.[RPC:S-7:AEC-0]"这是在生产中发生的,而不是在测试中发生的。而且我无法在本地重现此内容以进行调试。这个错误是什么意思,如何解决? 最佳答案 您可能想看看ThisPreviousQuestionCheckifyouareusinglatestversionofGooglePlay.ORFollowingthestepsbelow.RPC:AEC:0errori
使用AndroidIABV3续订时,购买token是否保持不变?依赖购买token作为后端服务器上的用户ID是不是一个坏主意?(假设在订阅过期时丢弃他们的数据没什么大不了的) 最佳答案 根据这个答案thisanswer,它保持不变。所以依赖它应该没问题,请记住,如果用户取消然后再次购买订阅,情况会有所不同。 关于android-使用AndroidIn-AppBillingV3续订订阅时,purchaseToken是否保持不变?,我们在StackOverflow上找到一个类似的问题:
步骤如下:构建并运行InAppV3示例TrivialDrive示例选择购买选项点击后退按钮尝试再次购买在2013年1月的版本中,您可能会收到Can'tstartasyncoperation(launchPurchaseFlow)becauseanotherasyncoperation(launchPurchaseFlow)isinprogress.然后你不能使用IabHelper类的购买或库存方法,因为异步标志不会清除,除非你终止你的应用程序。这里有一个可能的解决方案:我公开了flagEndAsync方法并在onRestart方法中调用它。问题是:这是一个安全的解决方案吗?还有其他人看
我在谷歌商店的应用程序崩溃报告中收到很多异常。有人可以帮我解决这个问题吗?我正在使用android:targetSdkVersion=19java.lang.SecurityException:RequiresREAD_PHONE_STATE:Neitheruser10131norcurrentprocesshasandroid.permission.READ_PHONE_STATE.atandroid.os.Parcel.readException(Parcel.java:1546)atandroid.os.Parcel.readException(Parcel.java:1499)
所以我正在编写一个带有特殊应用内货币的Android应用。您可以通过应用程序内结算以1、5、10等包的形式购买这种货币。以下是我的实现方式:使用托管产品(当应用程序启动时,我使用IabHelper查询购买的产品)购买完成后立即消费消费完成后,向服务器发送购买token服务器通过playAPI检查,然后为账户提供币种我的问题是,如果第3步失败怎么办?如果连接被切断或其他原因,购买token将永远不会到达我的服务器。在那种情况下,用户将支付货币,但他们的帐户不会得到它。当我的应用再次启动并运行1a时,它不会找到购买的商品,也不会重新使用它。这个推理正确吗?如果是这样,我是否需要在andro
我有一个使用GCM和计费的应用程序。为了使其成为AndroidM-ready,我正在尝试实现新的permissionmodel.很遗憾,我找不到任何关于GCM和计费权限的信息。它们没有出现在normalpermissionlist中并且显然不适用于Manifest.permission.*,因为它们不在android.permission命名空间下。尽管如此,我们仍然必须在list中声明它们那么应该如何处理这些权限?它们是自动授予的吗? 最佳答案 这些权限在安装时自动授予:checkSelfPermission("com.andro
我正在将应用内计费集成到我的Xamarin.Android应用程序中。我使用Google测试产品(android.test.purchased等)测试了API,它运行良好。进行一些测试后,我开始在OnInAppBillingError事件中收到以下错误。错误:com.example.appname不支持应用内结算版本3com.example.appname是我的应用程序的bundleid。我在互联网上发现了这个错误(thisistheclosestmatch),解决方案是更新GooglePlay客户端。我有最新的GPC(版本5.9.12)。奇怪的是,我在一些成功的测试后开始收到这个错误