应用内结算:ProductID和SubscriptionID是否相同?

时间:2017-11-11 21:28:44

标签: android in-app-purchase in-app-billing google-play-developer-api

我目前正在设计我的实施策略,以便在应用内结算中进行可能的状态更新(从已购买的状态到已取消的状态等等),这真是令人头疼,并且存在一个混乱:

我在应用中获取getPurchases()。这会为INAPP_PURCHASE_DATA提供包含Table 6setDT(ta) # first we aggregate the data, by applying the function paste, we get 6 rows ta[,cTweet:=paste(Tweet,collapse=","),by=Created_Date] # I'm removing the Tweet column ta1<-ta[,.(cTweet,Created_Date)] # using a key on the table and unique() I only extract unique values setkey(ta1,Created_Date) unique(ta1) Created_Date cTweet 1: 2014-01-03 iphone is overpriced, but I love it,Siri is very sluggish,iphone's maps app is poor compared to Android 2: 2014-01-04 the iphone is magnificent,the iphone's screen is poor,I will always use Apple products 字段:

  

autoRenewing,orderId,packageName,productId,purchaseTime,   purchaseState,developerPayload,purchaseToken。

我想将一些变量发送到我的服务器(虽然只是buyToken似乎很有用),但我有些不清楚的事情:
在服务器端,我想不断检查购买是否有效。我打算用https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/get

执行此操作

但此请求需要 packageName,subscriptionId 令牌。令牌是来自 getPurchases() purchaseToken ,但来自 getPurchases()<的 subscriptionId productId /强>

当您invoke the manual for creating a product list in Google Play时,您会在此处的标题中看到在项目列表中逐项添加项目 点击创建被管理产品或创建订阅视情况而定。并且您必须在步骤5设置 productId

如果 productId == subscriptionId ,为什么会有两个Google Play Developer API请求,一个用于&#34;产品&#34;一个用于&#34; ;订阅&#34;,订阅不是产品吗?参见:

https://developers.google.com/android-publisher/api-ref/purchases/products/get https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/get

第一个请求使用 productId ,但第二个请求是 subscriptionId ,除了productId和subscriptionId相同之外,我没有。 这非常令人困惑。

1 个答案:

答案 0 :(得分:11)

差不多5个月后,我在我的应用程序和后端服务器上完成了整个应用程序内计费实施。 我现在可以确认productId == subscriptionId == sku。