我有一个应用程序,其订阅服务相对复杂(大约80个订阅)。我正在尝试使用以下教程设置订阅价格:
一切都好开始。我找到我想要的价格,然后找到所有地区该价格的均衡。我遇到的部分如下:
要为另一个地区设置价格点,请使用 POST 再次 /v1/subscriptionPrices (创建订阅价格更改), 将 subscriptionPricePoint ID 替换为您的其他值 从 GET /v1/subscriptionPricePoints/{id}/equalizations 获取(列表 所有订阅价格点均等)。如果订阅是 在所有地区都可用,单独的 POST 每个地区都需要调用 /v1/subscriptionPrices。你可能会 考虑自动化此步骤。
如果我的应用程序在所有 160 个地区都可用,则我需要发出 160*80=12800 个发布请求。如果我尽可能快地发送帖子,我每秒就能收到几个帖子,这仍然需要一个多小时。但是,当我这样做时,我收到 429 错误:
{'错误':[{'状态':'429','代码':'RATE_LIMIT_EXCEEDED','标题': '已达到请求速率限制。', 'detail': "我们已收到 对此 API 的请求太多。请稍候重试或放慢速度 您的请求率。"}]}
当我通过应用程序商店连接 GUI 设置价格时,我可以非常快速地在所有地区设置价格。我似乎找不到它,但似乎必须有一种比执行 12K post 请求更快的方法。是否可以批量处理这些发布请求,或者允许我同时设置所有均衡的另一个端点? 任何帮助将不胜感激。
请按照以下步骤操作:-
/v1/subscriptions/{id}/pricePoints
获取所有价格的列表,过滤掉并保留下一个端点所需价格的价格id。/v1/subscriptionPricePoints/{id}/equalizations
,您将收到所有地区的价格 ID。/v1/subscriptionPrices
来设置价格,而是需要使用 PATCH 调用 /v1/subscriptions/{id}
意味着您需要修改您创建的订阅(使用此功能,我们可以一次添加所有地区的价格)
https://developer.apple.com/documentation/appstoreconnectapi/modify_an_auto-renewable_subscription我认为苹果文档上的信息含糊不清或者缺乏关于此事的明确细节:
要为另一个地区设置价格点,请使用 POST 再次 /v1/subscriptionPrices (创建订阅价格更改), 将 subscriptionPricePoint ID 替换为您的其他值 从 GET /v1/subscriptionPricePoints/{id}/equalizations 获取(列表 所有订阅价格点均等)。如果订阅是 在所有地区都可用,单独的 POST 每个地区都需要调用 /v1/subscriptionPrices。你可能会 考虑自动化此步骤。
这不是一个很好的解决方案,但可能是给定 API 的最佳解决方案。您可以使用以下方法确定 api 请求的速率限制:
https://developer.apple.com/documentation/appstoreconnectapi/identifying_rate_limits
在我的例子中,限制是 3600,所以我必须限制为每秒 1 个,并让它运行 3.5 小时。
苹果通过收取 30% 的应用内购买费用赚取了数十亿美元,他们甚至不关心编写清晰的文档。 在第一步中,最好从 PricePoint 开始:调用端点 /v1/subscriptions/{id}/pricePoints 来获取所有价格的列表,过滤掉并保留下一个端点所需价格的价格 ID。我正在寻找 PricePoint id。需要什么ID?整个过程既愚蠢又令人沮丧!