Android应用内结算,缺少购买

Android应用内结算,缺少购买,第1张

概述我的 Android应用程序正在使用Google的应用内结算. 我使用了Google的IabHelper课程,因为他们的计费似乎非常复杂. 我的问题是我想知道购买是否成功.我认为我正在正确地跟踪该过程,但在我的日志中,我看到很多用户进行升级,但是我的Google Play付款帐户中的购买从未出现过. (即免费升级). 我正在记录GP订单ids,有时它的数字, GPA.1234-5678-9123- 我的 Android应用程序正在使用Google的应用内结算.

我使用了Google的IabHelper课程,因为他们的计费似乎非常复杂.

我的问题是我想知道购买是否成功.我认为我正在正确地跟踪该过程,但在我的日志中,我看到很多用户进行升级,但是我的Google Play付款帐户中的购买从未出现过. (即免费升级).

我正在记录GP订单IDs,有时它的数字,

GPA.1234-5678-9123-1234

但有时它的样子,

1234567891234.1234567891234

通常我认为它的非GPA订单不收取费用.

另外我想你可以通过订单,然后取消它,还是得到升级?

你如何确保用户真正付款?

码:

IabHelper.OnIabPurchaseFinishedListener mpurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() {    public voID onIabPurchaseFinished(IabResult result,final Purchase purchase) {        if (result.isFailure()) {            showMessage("Google Billing Purchase Error");                               return;        } else if (purchase.getSku().equals(sku)) {            IabHelper.queryInventoryFinishedListener mReceivedInventoryListener = new IabHelper.queryInventoryFinishedListener() {                public voID onqueryInventoryFinished(IabResult result,Inventory inventory) {                    if (result.isFailure()) {                        showMessage("Google Billing Error");                        return;                    } else {                        if (inventory.hasPurchase(sku)) {                            showMessage("Thank you for upgrading");                            grantUpgrade();                            // ** This line gets call,but no payment occurs.                        }                    }                }            };            mHelper.queryInventoryAsync(mReceivedInventoryListener);        }    }};mHelper.launchPurchaseFlow(this,sku,10001,mpurchaseFinishedListener,"");

***更新以检查“inventory.hasPurchase(sku)”,但仍然看到获得升级但不支付的用户.

**也许用户正在使用Freedom Hack?反正要防止这个?

解决方法
if (result.isFailure()) {    //If the user aborts or any other problems it will jump here   }  else {    //The user purchased some item,check out which it is     mIsPremium = inventory.hasPurchase(SKU_ANY_ITEM);          }

所以关于你的问题,这段代码已经验证用户是否真的购买了这个项目!

总结

以上是内存溢出为你收集整理的Android应用内结算,缺少购买全部内容,希望文章能够帮你解决Android应用内结算,缺少购买所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1132847.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存