跳转到内容

变现

发布于

PWA 通过广告、Web 支付、数字商品、订阅或联盟链接获得收入,而约束每条路径的规则取决于渠道,不取决于代码:同一个结账流程,在从浏览器安装的应用里不受限制,在同一个源装进 Trusted Web Activity 后就要遵守 Google Play 的结算政策。

商店政策附着在包上,不附着在源上。从浏览器安装的那份 PWA 只受广告网络与支付服务商条款约束;同一个源在 Play 或 Microsoft Store 中的那份,还要额外继承该商店的付款条款。

Google 的 AdSense 计划政策(2026-08-04 最近更新)允许 AdSense 代码放在网页上,禁止「integrated into a software application (does not apply to AdMob) of any kind, including toolbars」。同一政策列出了可以从应用内展示 Web 广告的查看框架:Android 上是「Chrome Custom Tabs and Trusted Web Activities」;普通 WebView 则必须通过 WebView API for Ads 配合 Google Mobile Ads SDK 注册。从浏览器安装的 PWA 是该浏览器渲染的网页,适用 Web 规则;TWA 是被点名的框架;套 WebView 的原生壳走 SDK 路径。逐网络的细节见广告网络。

在开放 Web 上,PWA 通过 Payment Request API、钱包(Apple Pay、Google Pay)或服务商的 JavaScript SDK 收款,没有商店抽成。代价是由浏览器而非商店决定有哪些支付方式:Firefox 的 Payment Request 默认关闭在 dom.payments.request.enabled 之后,Safari 只通过它呈现 Apple Pay。各方式的覆盖情况见支付。

Google Play 付款政策第 2 节要求「requiring or accepting payment for access to in-app features or services」的应用使用 Google Play 结算系统,除非第 3、8、9 节适用;第 3 节把实体商品、实体服务、账单、个人间转账与赌博列为例外。在 TWA 内,网页通过 Chrome 101 及以后的 Digital Goods API 访问 Play 结算:先调用 window.getDigitalGoodsService('https://play.google.com/billing'),再把同一字符串作为 supportedMethods 传给 PaymentRequest,方法数据为 { sku }。Microsoft Store 的范围更窄:政策 10.8.1(7.20 版,2026-10-22 生效)只要求游戏与 Xbox 主机产品使用 Store 应用内购买 API;其他 PC 产品可以使用「a secure third-party purchase API」。Apple 指南 3.1.1 要求用应用内购买解锁功能,但它只适用于 App Store 应用,而 PWA 没有 App Store 路径。

订阅属于 Play 要求使用 Play 结算的「subscription services」,所以 TWA 必须经 Digital Goods API 售卖,而浏览器安装的那份可以继续使用服务商的周期计费。联盟链接不需要任何 API,限制来自政策:Play 的垃圾内容政策拒绝「whose primary purpose is to drive affiliate traffic to a website」的应用,因此主要内容是外链优惠的 TWA 存在上架风险,尽管同一页面作为浏览器安装并无问题。

路径 浏览器安装 Trusted Web Activity(Play) Microsoft Store 包
广告 AdSense Web 规则 AdSense Web 规则(被点名的框架) AdSense Web 规则
一次性数字商品 任意 PSP 经 Digital Goods API 的 Play 结算 非游戏可用任意安全 PSP
订阅 任意 PSP 经 Digital Goods API 的 Play 结算 非游戏可用任意安全 PSP
实体商品 任意 PSP 任意 PSP(付款政策第 3 节) Payment Request 或第三方 API(10.8.2)
联盟链接 无规则 若为主要目的则触发垃圾内容政策 10.1.1 如实描述

同一指南指出 Play 路径的两项代价:PaymentRequest 要求提供 paymentDetails.total,但 Play 结算会忽略它;后端未确认的购买会在三天后退款并撤销。

← 返回生态总览。