App Store 新定价机制 - 2023年最全版

8,919 阅读13分钟

作者:iHTCboy

本文介绍了苹果 App Store 的新定价机制,是 App Store 在 15 周年之际推出的最重要价格升级。 文章通过“为什么,是什么,怎么办”的方法论,让读者从根本原理上理解新机制的意义、背后的原因以及应对方式。对苹果 App Store 新定价机制最全面和最详尽的解读,相信会让关注的苹果开发者能快速了解,因此本文力求让开发者们从容应对新的价格系统,并掌握 App Store 新定价机制。

一、前言

大家好!我们在上一篇文章 《关于 App Store 苹果商店价格的那些事(历上最全版)》 介绍了苹果 App Store 价格的历史,2023 年 3 月 9 日苹果正式上线新的 App Store 的定价机制,有非常多的朋友表示对新机制一知半解,好像懂又好像完全不懂,因为苹果这次升级是完全推翻了之前的价格等级(Price Tier),颠覆了大家对它的认知,推出新的 “自定义价格”(customer Price),这正是本文要解答的重要内容之一。

App Store 新定价机制 是苹果 App Store 在 15 周年之际推出的最重要价格升级!我们之前文章已经提及其中一部分的原因,本文我们就一起重新学习!从入门到精通新定价机制的原理,充分了解新机制背后的原因和解决的问题,从而可以轻松应对新的风险和机遇。

注:本文很多内容,是假设读者已经阅读过 《关于 App Store 苹果商店价格的那些事》 的前提下展开编写,所以本文会多次提及前文内容但不会细讲,所以未看过的读者,建议先阅读,再读本文。

本文会从“为什么,是什么,怎么办”的思路编写,让大家知道为什么改变,改变了什么内容,这些内容更新和配置会带来什么影响,开发者怎么适配等等,从而认每位开发者都能全面地掌握 App Store 定价机制。

所以本文就带大家一起深入浅出地学习!如果喜欢本文,记得点个赞呗~

二、App Store 旧的定价机制

首先,我们先了解一下 App Store 平台的商业模式:

  • 付费 App
  • 免费 App 内的广告
  • 免费 App 的内购(IAP)
  • 订阅(IAP)

所以,App Store 的价格设置,主要是 2 个维度,App 级别和 IAP 级别。 记得这个级别的区别,后续讨论的配置都是基于这个前提的。

2023-App-Store-Pricing-System-01.jpeg

2.1 为什么要增加新价格

为什么要增加新价格? 或者这样反问:现有价格点不能满足那些需求呢?

跨国差异。举例来说,假设一款应用程序在美国的价格为 2.99,在印度的价格也是2.99,在印度的价格也是 2.99,但由于汇率和购买力等因素的影响,在印度,该应用程序的售价可能过高,当地顾客就会觉得太贵,导致销售量下降。有没有办法让不同地区的价格不一样,我们之前文章说过,2014 年苹果在中国大陆推出 备用等级 “1 元区”,正是针对中国大陆的用户习惯,当年大家买一份报纸就是 1 元!

而如今 2023 年,全球那么多国家和地区,如果都单独增加一些特殊价格的 备用等级,理论上是可行的,但为什么不这样做,可能当年中国区 1 元价格是因为中国市场是巨大的(事实上也证明了),所以其它国家/地区苹果没有动力做?

缺乏灵活性。另一个例子,最近全球汇率波动大,各个国家或地区的税率政策变化频繁,正如我们之前文章说过,仅 2022 年苹果价格调整就有高达 4 次,这么频繁的调价对于一般 App 可能影响没有这么大。但如果是对于量级大的 App 或游戏,因为价格的调整,会导致 App 充值生态、结算和对账混乱等问题,影响的范围会非常的深远!

2.2 ”价格等级”(Price Tier)

那么,苹果新定价机制升级了那些内容呢?我们先从 价格点(Price Points)说起,了解旧价格机制,对比新价格机制,然后说明新价格机制的优缺点。

我们之前文章说过,苹果一直以来都是根据 产品定价等级表 来设置付费 App 和 IAP 内购商品的价格,例如:

产品定价等级价格(USD)价格(CNY)等级说明
10.996等级 1
21.9912等级 2
32.9918等级 3
4.........
5.........

简单来说,如果开发者设定价格为:产品定价等级 1 ,则表示价格在 USD(美元)结算的国家或地区,用户支付金额为 0.99 美元,在中国大陆 CNY(人民币)则是 6 元。(注:未考虑税费问题)

苹果这个定价等级关系,同一个定价等级在不同货币之间是一一对应的关系,开发者不能改变映射的价格关系。也就是说,产品定价等级 1 的 USD 0.99 美元价格不能设置 CNY(人民币)为 12 元。也不支持,自定义设置价格,比如产品定价等级上没有的价格,例如 USD 1.68 美元、CNY 4 元、CNY 9 元等等。

扩展知识:为什么美元 USD 不是只有美国才用?因为苹果在 175 个国家和地区的商店,目前只有 45 种货币为产品定价。也就是有 130 个国家或地区使用的是美元(USD)或欧元(EUR)等等同一种货币结算。

综上,苹果旧的 ”价格等级”(Price Tier) 机制,已经不能完全适应如今的市场需求。“自定义价格”(Customer Price) 应运而生!

三、App Store 新的定价机制

2023 年 3 月 9 日苹果正式上线新的 App Store 的定价机制,大概更新的内容:

  • 更为灵活的价格点。
    • 可在 900 个价格点中选择定价 — 比此前付费 App 和一次性 App 内购买项目的可选价格点数量增加了近 9 倍。这些选项也提供了更高的定价灵活度,价格点按价格区间逐渐递增 (如在 RMB 10 以下每档相差 RMB 0.5;RMB 10 到 RMB 200 之间每档相差 RMB 1 等)。
  • 增强的全球定价机制。
    • 全球均衡价格遵循了各个国家或地区最常见的定价方式。采用全球均衡价格,你可以提供更适用于当地顾客的定价。
  • 根据基准价格提供全球定价形式。
    • 针对付费 App 和一次性 App 内购买项目,指定你熟悉的国家或地区,以之为基础为其他 174 个国家或地区的店面以及 43 种货币生成全球均衡价格。你为这个基准店面设定的价格,Apple 不会根据税款或外汇变化进行调整。此外,你也可以按个人喜好为每个店面自行设定价格。
  • 为上架产品提供地区性定价方案。
    • 针对不同国家和地区的店面决定 App 内购买项目 (包括订阅) 的销售范围,因此你可以为各个市场分发定制的内容和服务。

下面,我们就一个一个来讲解。

3.1 更为灵活的价格点 --- “自定义价格”(customer Price)

怎么理解 更为灵活的价格点

从现在开始,我们要摒弃 ”价格等级”(Price Tier) 的理念,从今世间再无价格等级表!

苹果全新的“自定义价格”(customer Price) 矩阵表:

2023-App-Store-Pricing-System-02.jpeg

注:因为价格矩阵表过大,上图只展示部分国家/地区的部分价格点,用于本文参考示例。

扩展知识:苹果针对不支持当地货币的国家或地区,统一使用美元来结算,如上图中的中国澳门 MAC(USD)

从上图片可以直观看出,使用 自定义价格(customer Price) 来统称价格点。我们以美国(美元)为基准时,可以得到以下结论:

价格点按价格区间逐渐递增

2023-App-Store-Pricing-System-03.jpeg

注:上图价格点区间图表,下载链接 www.apple.com.cn/newsroom/pd…

价格点区间,规则说明示例:

  • 中国(人民币):在 RMB 10 以下每档相差 RMB 0.5;RMB 10 到 RMB 200 之间每档相差 RMB 1 等。
  • 美国(美元):在 USD10以下每档相差USD 10 以下每档相差 `USD 0.1;USD$ 10 到 USD$ 50 之间每档相差 USD$ 0.5` 等。

注:为什么是 USD$ 呢?在 $ 前增加 USD,是因为 $ 不只是美元。我们之前在 游戏出海本地化概述 文章中有讨论过:

“$” dollar 使用的国家或地区:

  • 港币: HongKong dollar
  • 台币: New Taiwan dollar
  • 新西兰元: New Zealand dollar
  • 澳元: Australian Dollar
  • 新币(新加坡币): Singapore dollar
  • 加元(加拿大元): Canadian dollar

以上这些价格点的区间,大家可以不用记住,大概了解最低和最高价格点,然后在苹果 ASC(App Store Connect,下文统一简称 ASC) 后台下载 “自定义价格”(customer Price) 矩阵表,就能查看所有国家或地区的价格点。下载的方法有 2 个:

  • 价格与销售范围 -> 价格时间表 -> 所有价格和货币 -> 可用价格(按国家或地区) -> 下载所有价格和货币
  • App 内购买项目 -> 价格时间表 -> 所有价格和货币 -> 可用价格(按国家或地区) -> 下载所有价格和货币

苹果总计有 900 个价格点,其中在 “自定义价格”(customer Price) 矩阵表里面有 800 个价格点,从 USD0.29 USD 0.29 ~ USD 1000(人民币 RMB 1 ~ RMB 7499)。另外 100 个高价价格点可通过 申请 (需要登陆开发者账号)获得。100 个高价格点是从 USD1099.99 USD 1099.99 ~ USD 10000(人民币 RMB 7997 ~ RMB 74999)。

3.2 增强的全球定价机制 --- 全球均衡价格

全球均衡价格遵循了各个国家或地区最常见的定价方式。采用全球均衡价格,你可以提供更适用于当地顾客的定价。

那么什么是 全球均衡价格 呢?在 ASC 后台,价格与销售范围(或 App 内购买项目) -> 价格时间表 -> 所有价格和货币,可以打开下面的页面:

2023-App-Store-Pricing-System-04.jpeg

我们选择一个国家或地区价格点后,苹果将根据最新的外汇汇率自动计算所有 175 个国家或地区的价格和收入。

我们在来对比一下 “自定义价格”(customer Price) 矩阵表,以下,我们以美国 USD$ 0.99 价格点来分析一下:

2023-App-Store-Pricing-System-05.jpeg

从上图我们有 2 种颜色,分别是 USD0.99USD 0.99 和 USD 1.99,对应的部分国家和地区的全球均衡价格:

USA (USD)CHN (CNY)HKG (HKD)TWN (TWD)MAC (USD)JPN (JPY)KOR (KRW)
0.9988300.891001100
1.991518601.993003300

可以看出来,USD$ 0.99 价格点,现在苹果的全球均衡价格系统,认为在中国的价格是人民币 RMB¥8。(注:如果用以前的价格等级(Price Tier)是 CNY¥6,JPY¥160)

所以,开发者需要注意!“自定义价格”(customer Price) 矩阵表,不再是一一对应关系,列表上的不同国家或地区,可以映射为价格相差很大的不同价格点! 那么怎么配置不同的价格点映射,下文会讲到,这里先跳过。

所以,现在明白苹果说的以下 2 点内容了吧:

  • 遵循各个国家或地区最常见的定价方式
  • 提供更适用于当地顾客的定价

3.3 根据基准价格提供全球定价形式 --- 基准国家或地区

针对付费 App 和一次性 App 内购买项目,指定你熟悉的国家或地区,以之为基础为其他 174 个国家或地区的店面以及 43 种货币生成全球均衡价格。你为这个基准店面设定的价格,Apple 不会根据税款或外汇变化进行调整。此外,你也可以按个人喜好为每个店面自行设定价格。

怎么理解 基准店面设定的价格 呢?

我们以前配置 App Store 价格,是以价格等级(Price Tier) 美元为基准。很简单就可以明白,那现在我们怎么选择国家/地区和货币为基准呢?

答案就是:根据我们上面介绍的 “自定义价格”(customer Price) 矩阵表和全球均衡价格系统。苹果现在允许我们选择 3 种定价方案策略:

  1. 全球价格调整:Apple 将为所有国家或地区提供相应价格,并可能根据税率或外汇汇率的变化在未来调整部分价格。
  2. 临时价格调整:若想在特定国家或地区进行一段时间的促销,建议采用此方法。在此期间,Apple 不会调整任何价格。
  3. 自定价格调整:你可以手动管理所有国家和地区的价格,或只管理特定国家或地区的价格。

2023-App-Store-Pricing-System-06.jpeg

3.3.1 全球价格调整

简单来说,就是苹果根据全球均衡价格系统,自动帮你调整不同国家或地区的更适用于当地顾客的定价,你不用操心!?

那么,怎么做到苹果自动调整定价呢,就要开发者设定一个基准国家或地区。比如设置:

  • 基准国家或地区:中国大陆(CNY)
  • 基准价格:人民币 RMB¥8

那么苹果的全球均衡价格系统,就会计算剩下的其他 174 个国家或地区的店面以及 43 种货币生成全球均衡价格。

这就是自动定价~ 但需要注意,此时,中国大陆作为基准,所以中国大陆的价格,并不会随着全球汇率的变化而价格调整,因为,其它 174 个国家或地区的价格,要通过中国大陆的价格来计算汇率从而自动调整,明白了吧?

3.3.2 自定价格调整

就是你可以自由的不同国家或地区的价格点:

  • 全部国家或地区,开发者自己选择自定的价格点
  • 部分国家或地区,开发者自己选择自定的价格点,剩下的国家和地区,根据全球均衡价格系统自动调价

自定价格,可以理解为“固定”价格,相当于开发者写死的价格,它不会跟进汇率和全球均衡价格系统的价格调整。

3.3.3 临时价格调整

如促销或汇率变化等原因,开发者可以选择一段时间的一些国家或地区的价格调整,调整的方法为 自定价格调整

以上就是 基准国家或地区 的作用!

3.4 提供地区性定价方案 --- 销售范围

针对不同国家和地区的店面决定 App 内购买项目 (包括订阅) 的销售范围,因此你可以为各个市场分发定制的内容和服务。

以前,苹果 IAP 购买并不能限制购买的用户所在的国家或地区,IAP 配置只有一个勾选或不勾选“准许销售”,用来决定内购商品是可以购买或不能购买。

现在苹果允许开发者选择 IAP 上架的国家或地区:

2023-App-Store-Pricing-System-07.jpeg

没有勾选的国家或地区所在地的苹果账号,不能购买此 IAP 商店。(注:具体的规则和效果,下文会单独讲解。)

苹果建议:

如果你计划更改 App 内购买项目的销售范围,请考虑用户可能会受到的影响,以及如何妥善地通知用户。

为确保用户体验,建议你先完成以下准备工作,再下架 App 内购买项目:

  1. 通知用户 App 内购买项目即将下架,并至少提前 31 天停止在 App 内销售要删除的 App 内购买项目。这一步的目的是让用户有时间充分使用之前购买的消耗型 App 内购买项目产品。你可以通过电子邮件、网站公告和 App 内消息等方式来通知用户。
  2. 结束相应的推广活动,以免更多用户购入该 App 内购买项目。
  3. 将下架 App 内购买项目的计划告知 Apple。Apple 有权要求你为未完成的 App 内购买项目提供退款。

详细参考:为 App 内购买项目设置销售范围

以上,就是苹果 App Store 的新定价机制的全部内容!你理解了吗,给一个点赞吧~

3.5 总结 App Store 新定价机制

新的 App Store 的定价机制的优点

  • 为了给开发者提供更多的定价选择和灵活性,可以根据不同的国家或地区、市场需求和消费能力来设置合适的价格。
  • 为了让开发者更容易管理汇率波动、税率变化等因素,避免造成收入损失或不公平。
  • 为了让用户有更多的选择空间和体验,增加他们对 App 的兴趣和满意度。

缺点/不足:

  • 价格点太多,如果上架多个国家或地区,配置流程复杂
  • 2023 年 5 月 9 日后不再保留和支持使用 “价格等级”(Price Tier)

四、App Store 新定价机制的配置和规则

注意! 现在开发者,就可以针对已经上架或者准备上架的 App 设置价格,选择基准国家或地区或销售国家/地区等。

前面,我们提到,配置价格,有2个级别:

  • 付费 App
  • App 内购买/订阅(IAP)

而定价方案,开发者可以选择 2 个价格配置:

  • 全球价格:根据全球均衡价格系统,自动调价
  • 自定价格:开发者手动设置固定的价格点

下面,我们将从 3 个维度,分析不同场景下的配置区别:

  1. 开发者什么都不配置(不处理)
  2. 开发者只设置 App 级别的基准国家或地区
  3. 开发者设置 App 级别和 IAP 级别的基准国家或地区

4.1 开发者什么都不配置(不处理)

如果开发者现在已上架的 App 什么都不处理,到 2023 年 5 月 9 日,现有 App 和一次性 App 内购买项目还没有完成价格更新,那么苹果 将以产品当前在美国店面的价格为基础,为它们生成相应的更新价格。

简单来说,就是以美国(美元)为基准国家或地区,根据以前的价格等级(Price Tier)的美元价格,通过全球均衡价格系统,分别设置不同的国家或地区的价格。

4.2 开发者只设置 App 级别的基准国家或地区

如果开发者修改了 App 级别的 “基准国家或地区”,那么未设置 IAP 基准国家或地区会继承使用 App 级别的基准国家或地区

App 级别的 “基准国家或地区”,是指 ASC 的 App 下面的 价格与销售范围 标签下配置。

那么这个 App 下的所有未设置 IAP 基准国家或地区的内购买商品(IAP),都将以 App 级别的基准国家或地区,来自动计算不同国家或地区的全球价格。

举例来说:

  • IAP 商品档位 Tier 1: USD $0.99,对应人民币 CNY ¥6
  • 基准国家或地区:App 级别设置为 中国;IAP 级别(未选择)
  • 自定价格的国家或地区:无配置

以上的 IAP 商品,当 App 级别的基准国家或地区设置为中国大陆 时,IAP 的价格不会马上进行调整。

当有新的价格平衡生效(全球均衡价格系统价格调整),例如目前苹果确认 2023 年 5 月 9 日会生效!

根据目前苹果全球均衡价格矩阵表,可以查到以中国大陆基准国家或地区 CNY ¥6最新的价格矩阵:

  • 美国 (USD):$0.99
  • 日本 (JPY):¥100

注:“全球均衡价格矩阵表”可参考 3.2 全球定价机制章节

所以,2023 年 5 月 9 日(新的价格平衡生效),这个 IAP 商品在美国还是 USD $0.99,但日本从等级价格(Tier 1 )原来的 JPY ¥160,变成全球均衡价格系统给出的 JPY ¥100。其它的国家或地区类似推导。

简单来说,要先设置 IAP 商品的基准国家或地区。然后决定是否要使用全球均衡价格。否则,苹果默认使用全球均衡价格系统,自动算各国家地区的价格,新价格可能会比原价格高,或者低,所以开发者需要自行检查和决定。大家明白这个意思了吧?

4.3 开发者设置 App 级别和 IAP 级别的基准国家或地区

如果开发者设置了 IAP 内购买的基准国家或地区,则 IAP 内购买会以当前 IAP 的基准国家或地区为准。并且如果选择全球均衡价格时,各国家地区的价格,会马上生效!!!

举例来说:

  • IAP 商品档位 Tier 1: USD $0.99,对应人民币 CNY ¥6
  • IAP 基准国家或地区:IAP 级别设置为 中国
  • 自定价格的国家或地区:无配置

根据目前苹果全球均衡价格矩阵表,可以查到以中国大陆基准国家或地区 CNY ¥6最新的价格矩阵:

  • 美国 (USD):$0.99
  • 日本 (JPY):¥100

注:“全球均衡价格矩阵表”可参考 3.2 全球定价机制章节

注意此时此刻,这个 IAP 商品的各国家和地区的价格会马上生效! 如在美国还是 USD $0.99,但日本从等级价格(Tier 1 )原来的 JPY ¥160,变成全球均衡价格系统给出的 JPY ¥100。其它的国家或地区类似推导。

简单来说,目前苹果的全球均衡价格系统已经可用啦!开发者设置 全球价格调整,则价格会根据全球均衡价格马上调整并生效!

4.4 基准国家或地区的规则总结

所以,关于基准国家或地区的生效规则 总结:

  • App 级别的基准国家或地区没有设定:以美国为准
  • 如果设置了 App 级别的基准国家或地区,则 IAP 内购买会以 App 级别的基准国家或地区为准【新的价格平衡时生效】
  • 如果设置了 IAP 内购买的基准国家或地区,则 IAP 内购买会以当前 IAP 的基准国家或地区为准【马上生效】

4.5 销售范围的规则

目前 ASC 后台最新支持配置的销售范围,有 2 个级别:

  • App 级别的销售范围
  • App IAP 内购买项目的销售范围

4.5.1 App 级别的销售范围

  • 只是针对 App Store 是否可以下载的配置,跟内购商品是否可以购买无关
  • 在苹果新机制实行前,内购商品是无限制地区,所有地区都能购买。(以前只能开发者自己根据用户 ip 或苹果账号地区等限制购买)

4.5.2 IAP 内购买项目的销售范围

  • IAP 内购商品的销售范围 是新增的配置项
  • 此配置项,与 App 级别的完全单独,相互不影响。
  • IAP 内购商品的销售范围配置,是每个内购商品单独配置,相互不影响。
  • 只有勾选的国家或地区,对应的用户 Apple ID 账号才能购买和支付成功,否则无法购买。

4.6 App Store Connect API 支持

以上讲到的配置,如果是全球发行的 App,那么在 ASC 后台人工一个个配置会非常繁琐,所以可以通过 App Store Connect API 进行配置:

  • 管理基准国家或地区
  • 管理付费 App 或 IAP 生效的国家或地区
  • 管理价格价格时间表
  • 读取有效价格信息
  • 添加、修改或删除 IAP

App Store Connect API version 2.3 支持以上新价格机制功能的自动化配置,另外可以下载 OpenAPI 规范文档 了解接口的参数和格式要求等。

注:我们后续会单独写一篇文章来说明新 API 的使用示例,敬请期待和关注我们~

五、测试和疑问解答

5.1 苹果全球均衡价格系统(新的价格平衡)调整的时间节奏

答:目前苹果最新的调整时间为 2023 年 5 月 9 日。后续可能是每个季度调整一次,需要注意的是,不是每个国家或地区都会有价格调整,苹果会定期在各地区根据税款和外币汇率变化更新定价,会根据金融数据机构提供的公开汇率信息更新定价,确保 App 内购买内容的定价在所有商店中保持平衡。

App Store 的全球平衡工具将为开发者提供简单便利的方式,在国际市场中管理定价。当然,开发者可随时根据税款和外币汇率的变化自行调整定价。

5.2 订阅类型价格调整

苹果在去年 2022 年 5 月 16 日的 订阅通知更新 公告中说明:当自动续期订阅提价时,订阅者必须在 App 提价之前选择接受。

所以,根据苹果全球均衡价格系统,如果自动调整价格是涨价会怎么样呢?

【2023-04-21】更新 之前的回答有错误,苹果的新价格机制,不会影响到自动续期订阅产品! 管理自动续期订阅的定价

汇率变化和税务调整会如何影响自动续期订阅的价格?

Apple 不会对你的自动续期订阅产品进行价格调整。Apple 可能会针对税务变化和重大汇率变动调整零售价格,但价格调整不涉及自动续期订阅。请注意,由于你的收益和 Apple 的佣金均在扣除增值税(VAT)之后计算,因此 VAT 税率变化会影响你的收益。你可以选择调整你的订阅价格,以减少税务或外汇变化对你的收益造成影响。

所以,关于自动续期订阅产品不会使用全球均衡价格系统,也不会自动涨价。而提高自动续期订阅价格,全权由开发者决定,需要订阅者同意的情况:

  • 订阅者所在的地区要求任何价格变动都需要征得订阅者的同意。
  • 价格涨幅:
    • 超过当前价格的 50%,并且每期的价格变动超过下方列出的门槛值。
    • 门槛值:非年度订阅约为 5 美元,年度订阅约为 50 美元。
    • 对于不使用美元定价的地区,门槛值将按当前汇率换算得出。请注意,门槛值会随外汇汇率和税务政策的变化而变动。查看 各个国家或地区的价格涨幅门槛值
  • 在过去 12 个月内,订阅者经历过一次该订阅的价格上调。

详细参考官方文档:管理自动续期订阅的定价

5.3 新创建的 App 或 IAP 项目的配置

新创建的 App 或 IAP 内购买项目,苹果默认都没有配置销售范围和价格时间表,需要开发者按最新的定价规则进行配置:

2023-App-Store-Pricing-System-08.jpeg

5.4 限制销售范围

如果苹果后台配置了限制地区,当限制地区的用户点击 App 内购买项目支付时,苹果 StoreKit 会有相应的异常错误,表示用户当前账号地区不在销售范围内。

笔者使用线上 App 的 IAP 项目测试,结果如下:

  • App 级别有选择的地区,但 IAP 项目不在销售的地区:不能购买
  • App 级别有选择的地区,且 IAP 项目在销售的地区: 可以发起支付
  • App 级别没有选择的地区,且 IAP 项目不在销售的地区:不能购买
  • App 级别没有选择的地区,但 IAP 项目在销售的地区: 可以发起支付

所以,一句话总结,IAP 项目不在销售的地区,该地区的苹果账号无法完成购买支付!

苹果 StoreKit 会有相应的异常错误,会在 2 个支付环节报错:

  1. productsRequest(_:didReceive:) 方法回调的 SKProductsResponse 中有一个 invalidProductIdentifiers 属性,当数组有值时,里面包含的 IAP 项目就是不在当前用户登陆的 App Store 商店账号的国家或地区销售的 IAP 项目。
  2. paymentQueue(_:updatedTransactions:) 方法回调的 SKPaymentTransaction 中有一个属性 SKPaymentTransactionState ,当状态为 .failed 时,从 error 属性会有一个 "不提供此项目。" 错误异常。

以下是 SKPaymentTransactionState 报错内容的示例:

print("paymentQueue: error: \(transaction.error)");

中文环境:

<SKPaymentQueue: 0x2824b0250>: Payment completed with error: Error Domain=ASDServerErrorDomain Code=3502 "不提供此项目。" UserInfo={storefront-country-code=CHN, client-environment-type=Sandbox, AMSServerErrorCode=3502, NSLocalizedDescription=不提供此项目。}

日文环境:

<SKPaymentQueue: 0x2809d5d30>: Payment completed with error: Error Domain=ASDServerErrorDomain Code=3504 "このアイテムは見つかりませんでした。" UserInfo={storefront-country-code=JPN, client-environment-type=Production, AMSServerErrorCode=3504, NSLocalizedDescription=このアイテムは見つかりませんでした。}

为什么会在 2 个支付环节报错呢?

因为这样才能保证不会存在支付漏洞,很多开发者或非法用户,可能跳过 productsRequest(_:didReceive:) 方法查询当前 IAP 项目是否在用户地区销售,但如果开始时,用户登陆了 AppStore 账号,而且是销售的地区时,是可以查询到商品的信息,苹果不会回调 invalidProductIdentifiers,所以当时用户购买时,苹果系统还会验证一次最终用户登陆的账号是否在销售地区里。

另外,苹果这次是调整价格机制,对于 StoreKit Original API 还是 StoreKit 2,字段和收据都没有变化!使用的字段都是以前就存在。另外,StoreKit 2 products(for:) 大家可以自行测试,原理类似通过 StoreKitErrorProduct.PurchaseError.productUnavailable 获取异常错误。

5.5 销售范围的生效时间

  • 从非销售地区,添加到销售地区
  • 从销售地区,移除为非销售地区

答:目前测试发现大概 30 分钟左右生效。(线上和测试环境)

5.6 汇率差问题解决了吗

答:汇率差解决了,但开发者需要注意价格漏洞

因为,现在开发者可以设置不同国家或地区的价格,如果你的 App 是全球销售,并且你设置的不同国家的价格点有很大的差异,比如 USD $9.99,而 CNY ¥6,那么必然用户或黑产,会大部使用中国大陆地区进行购买。

这里需要注意,黑产囤货,比如内购收据会大批量保留不消耗,然后销售给用户的问题。

所以,现在开发者设置不同国家或地区的价格点,需要考虑清楚销售的国家或地区,还有销售的价格。

5.7 获取真实的本地化货币

通过 StoreKit 查询到的商品本地化信息是否可靠?比如用户登陆的 App Store 账号登出,购买 IAP 时,系统会要求用户重新登陆账号,此时前后账号的国家地区不一样,就会导致查询到的货币不一样。

答:虽然苹果发布了新的价格机制,并且推出苹果全球均衡价格系统,本质就是计算各国的汇率换算,但是目前为止,苹果依然没有提供汇率换算的 API,当然也包含当前购买的本地化货币。所以,目前并没有 100% 可靠方案。

六、总结

2023 年 3 月 9 日发布,到 2023 年 5 月 9 日新的价格平衡生效,苹果提供了 2 个月的过渡期。所以建议开发者:

  • 了解最新的 “苹果全球均衡价格” 矩阵表
  • 为 App 或 IAP 设置 “基准国家或地区” (可选)
  • 为需要特定国家或地区设置 “自定价格” (可选)

如果在这 2 个月内,开发者什么都不设置,那么过渡期间现在的所有国家和地区的价格不会变化。直到 5 月 9 日新的价格平衡生效,苹果会自动设置基准国家或地区为“美国”,并使用全球均衡价格调整各个国家和地区的价格点。

所以,在这段过渡期,开发者需要思考如何配置适合的价格点,从而提高你的 App 的销售和用户满意度,进一步推动业务增长。

从本文读者们可以看出来,App Store 定价机制涉及面非常广!本文只是从整体上让大家掌握原理,不可能面面具到详细介绍。所以,还有一些细节或疑问,欢迎大家在评论区一起交流~

App Store 问世以来,凭借领先的交易和支付机制,帮助开发者便捷地在全球范围内为其产品和服务进行定价与销售。从为用户提供顺畅结算和明晰收据到强大的营销工具、税务与防欺诈服务以及退款管理,App Store 的交易和支付机制为开发者提供了不断拓展的功能和工具,帮助他们发展业务。

如今新的价格机制,相信开发者现在可以应对自如啦!让我们提升用户的付费体验吧!


欢迎大家评论区一起讨论交流~

欢迎关注我们,了解更多 iOS 和 Apple 的动态~

参考引用

本文使用 ChatGPT 、New bing 和 NotionAI 参与创作! 如果内容有抄摘或复制,反馈则删除。感谢大家的阅读~