在哪里获得订阅ID

时间:2019-08-23 12:58:09

标签: android in-app-subscription

我想获取自动续订订阅的详细信息,因此我可以关注以下官方 DOCUMENT

在本文档中,第一步是授权。并且我完成了所有步骤,并得到了 refresh_token access_token

现在主要部分是有一个API可以获取续订详细信息: API:https://www.googleapis.com/androidpublisher/v3/applications/packageName/purchases/products/productId/tokens/token

此api中需要三个数据:

  1. PackageName-我从AndroidManifest.xml添加的
  2. SubscriptionId:我在哪里可以获得Subscription ID?
  3. 令牌:我可以从授权步骤中获取。

主要问题是我在哪里获取订阅ID 。产品ID是订阅ID还是什么?

如果SubscriptionId为ProductId,则我的API无法正常工作。 API响应为:

{
"error": {
    "errors": [
        {
            "domain": "global",
            "reason": "invalid",
            "message": "Invalid Value"
        }
    ],
    "code": 400,
    "message": "Invalid Value"
}
}

有人解决吗?或有关订阅ID的信息?

1 个答案:

答案 0 :(得分:0)

订阅ID 是SKU的另一个术语。您可能还会看到它列为产品ID 。它们是您首次列出产品时在Play Developer Console中输入的ID

https://play.google.com >> [choose an app] >> Store presence >> In-app products >> subscriptions >> Name & ID

您看到的ID是订阅ID。

另一种查找SKU(又称订阅ID,产品ID)的方法是通过SkuDetails#getSku()在您从Android客户端中从querySkuDetailsAsync(params)获得的SkuDetails列表上。

使用javascript / typescript代码段更新

async function getSubscriptionPurchaseFromPlay(sku: string, purchaseToken: string) {
    const params = {
        packageName: PACKAGE_NAME,
        subscriptionId: sku,
        token: purchaseToken
    };
    const response = await playDeveloperApi.purchases.subscriptions.get(params);
    console.log("getSubsPurchaseFromPlay response:: ", response);
    return response.data;
}

您必须在要求提供productId或subscriptionId的所有地方使用SKU。例如: