Articles of 应用内购买

来自google developer api android的取消订阅产品的响应是什么?

我已在我的应用程序中实施了每月订阅,以激活我们的Web服务器上的用户。 我已在我的项目中成功实现了订阅代码。 如果用户从Google Play商店我的应用配置文件取消订阅,我想停用用户。 如果用户根据文档-1和文档-2取消订阅产品,我已实现了获取产品订阅详细信息。 问题是什么? 我无法根据文档测试订购产品的购买情况。 因此,我会将签名的版本提供给客户,他们将使用信用卡和实际产品购买进行检查。 但是,如何测试客户在订阅被用户取消时获得的响应是​​什么? 对于取消产品:我将服务设置为每天获取访问令牌并检查validUntilTimestampMsec是否大于零然后检查autoRenewing标志是否为假,如果两者都为真,则取消激活用户。 但不知道这种逻辑是对还是错。 if (validUntilDateInMilli > 0) { if ((System.currentTimeMillis() > validUntilDateInMilli) && (!autoRenewingFlag)) { // call web service to deactivate user new AsyncTaskDeActivateBusinessOwner().execute(); } } 我只从开发人员api的官方文档得到这个回复,如下所示: { “kind”: “androidpublisher#subscriptionPurchase”, “initiationTimestampMsec”: {long}, “validUntilTimestampMsec”: {long}, “autoRenewing”: {boolean} } 根据我在Google和StackOverFlow上搜索的内容,但没有文档我发现以下条件的响应是什么: what is the response 1) if the user currently […]

InApp购买RESTORE_TRANSACTIONS,我无法找出代码

我在我的编码中添加了一个应用程序内购买,它在购买时运行良好但是当我尝试在删除应用程序并再次安装时添加Restore_Transaction代码时出现错误并关闭应用程序,我在下面添加了编码 在onCreate我写道 startService(new Intent(mContext, BillingService.class)); BillingHelper.setCompletedHandler(mTransactionHandler); if (BillingHelper.isBillingSupported()) { BillingHelper.restoreTransactionInformation(BillingSecurity .generateNonce()); } 然后我叫处理程序使用 public Handler mTransactionHandler = new Handler() { public void handleMessage(android.os.Message msg) { if (BillingHelper.latestPurchase.isPurchased()) { showItem(); } }; }; private void showItem() { purchased = Purchased.getPurchaseInfo(getApplicationContext()); if (purchased == null) { Date d = new Date(); Toast.makeText(getApplicationContext(), “— Upgrated —“, Toast.LENGTH_LONG).show(); purchased […]

在App Billing getPrice()Android中

我已成功将应用程序计费实施到我的应用程序中,一切正常。 我现在正在尝试检索项目的价格(在开发者控制台中设置),以便我可以在我的应用程序中反映这些价格而无需硬编码值。 这个代码显然只收集通过库存购买的商品的价格,这不是我想要的: SkuDetails gasDetails = inventory.getSkuDetails(SKU_FULL); if (gasDetails != null){ alert(“Gas is ” + gasDetails.getPrice());} 我查了一些文档查询可供购买的项目,但很难理解它。 我认为Helper类会实现某种get price方法。 那么,我的问题是:有人能指出我正确的方向吗?

未设置IAB助手。 无法执行操作:queryInventory

我正在尝试在我的应用中实现应用内结算API,但是当我运行我的应用时,它会产生exception。 这是我第一次使用应用内结算API。 这是我得到的exception的日志: Process: koemdzhiev.com.quickshoppinglist, PID: 10604 java.lang.RuntimeException: Unable to start activity ComponentInfo{koemdzhiev.com.quickshoppinglist/koemdzhiev.com.quickshoppinglist.ui.MainActivity}: java.lang.IllegalStateException: IAB helper is not set up. Can’t perform operation: queryInventory at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2329) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389) at android.app.ActivityThread.access$900(ActivityThread.java:147) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693) Caused by: java.lang.IllegalStateException: IAB helper is not set […]

为早期买家提供免费function

我在Google Play商店中有一个付费应用。 我正在考虑降低该应用的价格(有些;并非一直免费),并提供其中一项function作为单独的应用内购买。 如果我这样做了,我就不想把这个function从任何已经购买它的人身上移开。 有没有办法弄清楚用户购买我的应用程序的日期,或他们购买的应用程序的原始版本,或类似的东西? 我想说的是,“如果应用程序在价格变化之前(按日期或按版本),他们应该免费提供该function;否则,需要IAP才能解锁该function。” 例如,iOS确实有这样的function; 应用程序收据包含“originalVersion”字段,可用于控制对function的访问。

应用内结算无效(您的请求无法处理)

今天我发布了我的应用程序,当我的朋友试图购买应用程序内容时,市场上说:“您的请求无法处理。请再试一次”。 一些澄清: 该应用程序已在10多个小时前发布,并在Google Play商店中可见。 使用谷歌静态代码DID的测试始终有效 购买帐户不是发布商帐户 大部分代码都是按照Google的应用内结算示例进行复制的 在尝试购买时,应用内商品正确显示。 买家有一张有效的信用卡 谢谢!

有没有办法从后端服务器消费谷歌播放应用内产品?

可以通过客户端应用程序( http://developer.android.com/google/play/billing/api.html#consume )轻松完成使用Google Play应用内商品的消费。 但是,我找不到有关从后端服务器执行此使用请求的任何信息。 Purchase Status API( http://developer.android.com/google/play/billing/gp-purchase-status-api.html )旨在从后端服务器使用,但它不提供任何消耗方法应用内商品。 有没有办法从后端服务器消费谷歌播放应用内产品?

Android应用程序内购买自由黑客 – 它是如何工作的?

观看此video: http : //www.youtube.com/watch?v = Z8sBSQh2kaE 有谁知道这个黑客是如何实现的? 从我所看到的,该应用程序正在使用PackageManager查询设备上所有需要android.vending.BILLING权限的应用程序,以列出支持应用程序内购买的所有应用程序,然后在启动应用程序之前继续执行某些操作当在Play上尝试进行应用内购买时,以某种方式显示FAKE信用卡。 由于这个hack要求设备被植根,我猜它是在运行时(?)以某种方式修补Play客户端来做它的事情。 这似乎不再适用于我尝试过的大多数应用程序 – 包括我刚刚使用应用程序内计费v3.0实现的应用程序(消费购买失败,这是一件好事)。 我仍然有兴趣知道它曾经如何工作(或者它是否有效)纯粹是出于学术兴趣。

在应用内结算(IAB版本3)android中恢复购买

Google已升级到IAB3(In App Billing版本3)。 首先,错过示例代码中的问题.. super.onDestroy() 。 我在http://developer.android.com/google/play/billing/billing_integrate.html的帮助下实施了v3 它在手机上测试,在模拟器中不起作用。它卡在模拟器中。 我的问题是,我没有看到用于恢复交易的API。 如何使用IAB3恢复购买? 是mService.getPurchases(apiVersion, packageName, type, continuationToken) 。 有没有人测试过这个? 这是从本地存储的商品返回购买的商品还是恢复购买的商品? 卸载应用程序没有continuationToken 。 它应该是null吗? 那么购买状态何时发生变化呢? 请帮忙! 提前致谢。 编辑: Google已更新In app计费库并解决了super.onDestroy()问题。 他们还增加了一些额外的function。

用户不符合此次购买Android inApp的条件

我在进行inapp安卓购买时遇到了问题。 我已经尝试了所有我可以但似乎卡在错误user is not eligible to this purchase 。 请引导我了解我做错了什么。 以下是我遵循的步骤 签名apk上传到Play商店 inapp产品处于已发布状态 用户在测试设备上 版本代码和版本名称与上传的apk相同 谢谢!