如何在不经过信用卡处理的情况下为某些用户免费提供应用内购买高级功能

时间:2013-09-27 17:24:31

标签: android in-app-purchase

目前,为了检查用户是否购买了高级功能,我们在onQueryInventoryFinished中执行了以下查询。

请注意,出于安全考虑,我们不会在本地存储应用内购买状态。我们在应用启动期间每次都对Google应用内购买服务器执行查询。 到目前为止,这项工作非常精细,没有客户抱怨。

// Do we have the premium upgrade?
Purchase premiumPurchase = inventory.getPurchase(org.yccheok.jstock.gui.billing.Utils.SKU_PREMIUM);
boolean mIsPremium = (premiumPurchase != null && org.yccheok.jstock.gui.billing.Utils.verifyDeveloperPayload(premiumPurchase));

最近,由于营销活动,我们希望为某些忠实用户免费提供此高级功能。例如,用户与20个人共享此应用程序。

我们是否可以通过编程方式访问Google应用内购买服务器,以便我们可以为某些用户设置SKU_PREMIUM,而无需通过信用卡处理?

如果没有,这是我们能够想到的唯一方法。 但是,我们不希望我们自己的服务器用于可靠性目的。我们希望通过与Google应用内购买服务器进行通信来完成整个高级功能检查。

  1. 通过查询我们自己的服务器,检查此用户是否与20个人共享此应用
  2. 如果是,请在Android应用中启用mIsPremium标记。
  3. 如果没有,请与Google应用内购买服务器联系,执行onQueryInventoryFinished
  4. 执行正常的应用内购买状态查询流程

    在高级功能状态查询期间,我们可以尝试其他方式而不涉及我们自己的服务器吗?

0 个答案:

没有答案