目前,为了检查用户是否购买了高级功能,我们在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应用内购买服务器进行通信来完成整个高级功能检查。
mIsPremium
标记。onQueryInventoryFinished
在高级功能状态查询期间,我们可以尝试其他方式而不涉及我们自己的服务器吗?