Skip to content

商店踩坑 #6:有内购就不能叫免费

2026-06-07

Tags: Windows · Microsoft Store · 商店踩坑


我在添加内购之前写了商店介绍文案,但是忘了回去更新。

发生了什么

我的应用免费下载,所有核心功能都免费。唯一的内购是一个可选的 Supporter Edition 升级,会加一个徽章。仅此而已。

但描述里还写着:

ICO Unpacker is a lightweight, free Windows desktop tool...

认证报告回来了:

10.1.4.3 App Quality - Description

Claims made about pricing in the description must be true and clearly understandable. Please clarify or remove the claims from the description. Your product is not fully free because it involves an opportunity to spend money separate from the initial acquisition of the app (contains in-app purchases, relies on subscription whether that is obtained inside or outside the app or its metadata).

Pricing Claim: "ICO Unpacker is a lightweight, free Windows desktop tool"

Found in the following languages listings: All provided languages

所有语言。所有 "free" 的地方。

政策规定

认证报告引用了 10.1.4.3(App Quality - Description)。这个子代码在公开的 Store Policies 页面上找不到,但它的上级章节 10.1.4 写道:

Your product must have distinct and informative metadata and must provide a valuable and quality user experience.

还有一个更直接相关的章节。10.8.4 规定了元数据中的定价透明度:

Your product and its associated metadata must provide information about the types of in-product purchases offered and the range of prices. You may not mislead customers and must be clear about the nature of your in-product promotions and offerings including the scope and terms of any trial experiences.

注意关键短语:"You may not mislead customers." 如果你的应用提供内购,在描述里写 "free" 就与实际定价模型矛盾——即使内购完全可选。

认证报告对什么算 "not fully free" 说得更明确:

Your product is not fully free because it involves an opportunity to spend money separate from the initial acquisition of the app (contains in-app purchases, relies on subscription whether that is obtained inside or outside the app or its metadata).

任何花钱的机会——无论是否可选——都意味着应用不是 "fully free"。

为什么这很重要

从用户角度很好理解。如果我在描述里看到 "free",然后在应用里遇到购买界面,我会觉得被误导了——即使这个购买完全可选。商店本身已经在产品页上显示了价格标签:"Free" 下方标注 "In-app purchases"。你的描述不应该和商店自己告诉用户的信息相矛盾。

我做了哪些修改

把它想成 code review:当你的 reviewer 标记了一处 bug,你不会只改那一行——你会检查整个 PR 里有没有同样的模式。认证报告只引用了某一行,但 "free" 这个词散布在多个字段和全部 10 个语言变体中。我只能把整个商店介绍审查一遍。

以下是我找到并修复的:

字段修改前修改后
描述"a lightweight, free Windows desktop tool""a lightweight Windows desktop tool"
功能列表"Lightweight and free, ready to use""Lightweight, ready to use"
简短描述"Free ICO icon decomposition tool""ICO icon decomposition tool"

3 个字段 × 10 种语言 = 30 处修改,都来自同一个根因。审核员只引用了一行,但问题无处不在。

小结

如果你的应用有任何形式的内购:

  • 不要写 "free"——描述、简短描述、功能列表、截图或其他任何元数据里都不能出现——10.8.4 规定不得在定价方面误导用户
  • 商店会自动在产品页显示 "Free with in-app purchases"——定价标签交给商店就好
  • 如果你在写好商店介绍之后才添加了内购,记得回头检查每种语言有没有残留的 "free"

最简单的思路:让商店自己的价格标签说话。 描述应该解释应用做什么,而不是它多少钱。


本文属于商店踩坑系列。