2

我已经在我的应用中实施了订阅类型应用内产品,例如1个月或2个月的包裹,一旦用户订阅产品,我让服务器知道并处理他/她相应地工作得很好。如何使用应用产品购买中的订阅类型

据谷歌在认购期结束后:

谷歌自动削减信贷和更新包。

我的问题:我该如何了解下一个月的付费用户?

回答

1

您可以从Google Play获得有效购买清单,然后相应地更新您的服务器(例如每天)。

IInAppBillingService service = ...; 
Bundle items = service.getPurchases(API_VERSION, PACKAGE_NAME, "subs", null); 
int response = getResponseCodeFromBundle(items); 
if (response != RESULT_OK) { 
    // handle error 
} 
ArrayList<String> productIDs = items.getStringArrayList("INAPP_PURCHASE_ITEM_LIST"); 
// update server with active product ids 
+1

如果订阅已过期,它将不在列表中? – user3819810

+1

返回订阅的历史记录或只是活动的订阅? – user3819810

3

回答问题:您不能使用订阅。您只能使用inapps。从文档

报价:

Important: Unlike in-app products, subscriptions cannot be consumed. 来源:https://developer.android.com/google/play/billing/api.html

该网页会导致这两个: https://developer.android.com/google/play/billing/billing_subscriptions.html https://developer.android.com/google/play/billing/billing_integrate.html#Subs

还要注意的是,提供订阅时,最好是允许用户恢复订阅。例如,如果用户在您的应用中登录,购买了订阅,然后使用其他用户名登录,那么订阅也应该在那里可用,因为它已附加到用户的Google Play帐户。

要做到这一点,你应该查询购买的指数如marmor

+0

如果用户使用其他帐户登录,为什么订阅必须可用?如果我的应用程序连接到服务器,并验证了它的订阅,那么将订阅附加到当前的gmail帐户而不是我的应用程序用户帐户是不合逻辑的。用户订阅是否附加到用户上并不重要:如果用户尝试使用其他帐户登录到我的应用中,则订阅必须不同,因为他/她是不同的用户。 –

+0

它在Google Play的指导方针中。 – lxknvlk

+0

-1因为我认为这是错误的。该帐户与Google Play捆绑销售。如果您有其他帐户,那么您还有另一个Google Play实例。这些是完全不同的用户,不需要有任何共同点。我怀疑是否有指导方针告诉我必须与不同(甚至未知)的用户共享订阅。但是,也许你可以向我们展示这部分指南? – Bevor

相关问题