使用Google APIs创建Google应用内产品

3

我的请求是

`{
  "packageName": "com.test.package",
  "sku": "title",
  "status": "inactive",
  "subscriptionPeriod": "P1M",
  "purchaseType": "subscription",
  "listings": {
    "en-US": {
      "title": "title",
      "description": "title"
    }
  },
  "defaultLanguage": "en-US",
  "defaultPrice": {
    "priceMicros": "100000000",
    "currency": "SGD"
  }
 }`

针对插入产品的帖子调用(参考:[https://www.googleapis.com/androidpublisher/v2/applications/packageName/inappproducts]),获取此请求的错误响应。

`{
  "error": {
    "errors": [
      {
        "domain": "androidpublisher",
        "reason": "inAppProductRegionsMissingPricing",
        "message": "Must provide a price for each region the app has been published in."
      }
    ],
    "code": 403,
    "message": "Must provide a price for each region the app has been published in."
  }
}`

有人能解释一下这个错误吗?因为我已经设置了默认价格。 另外,我如何从Google Play控制台获取应用程序发布的所有国家列表及其货币信息?

2个回答

1

转到您在https://play.google.com/apps/publish/中的应用程序的价格和分发页面。

在国家/地区中找出您为此应用程序选择了多少个地区。

插入应用内产品时,您必须为所选所有地区提供价格。

因此,假设您已选择巴基斯坦作为地区

  • PK(每个价格数组中每个区域的2字母ISO国家代码作为密钥)

那么您的请求应该是

{ "packageName": "com.test.package", "sku": "title", "status": "inactive", "subscriptionPeriod": "P1M", "purchaseType": "subscription", "listings": { "en-US": { "title": "title", "description": "title" } }, "defaultLanguage": "en-US", "defaultPrice": { "priceMicros": "100000000", "currency": "SGD" }, "prices": { "PK": { "priceMicros": "100000000", "currency": "SGD" } } }


1
谢谢您的回复。是否有任何方法可以通过Google API获取应用程序发布的所有国家?因为有几个国家被标记了。 - Sri
我不这么认为,我还没有找到任何方法。由于您可以访问Google Play,因此您必须构建所有已检查国家的静态列表,并创建其ISO代码的数组,并循环遍历该数组并分配价格。 - HaroonAbbasi
好的,感谢你的所有努力!不管怎样,我希望谷歌也应该有这方面的规定。 - Sri

1

我希望你不要这样做,想象一下你必须把这个发送到大约150个国家。当插入或更新产品时,您可以解析['autoConvertMissingPrices' => true]以便Google进行转换。

在我的情况下,我这样做:{ 'autoConvertMissingPrices' => true }

$purchase = $service->inappproducts->update(
  'app.package.name',
  'product_sku',
  $product,
  ['autoConvertMissingPrices' => true]
);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接