3

目前,为了检查用户是否购买了高级功能,我们在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. mIsPremium如果是,请在 Android 应用中打开标志。
  3. 如果没有,则与 Google 应用内购买服务器对话,执行正常的应用内购买状态查询流程,通过执行onQueryInventoryFinished

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

4

0 回答 0