iOS:插页广告
把 useFacebookAds 设为 true,并在 Config.swift 的 facebookAdsID 中填入您的 Placement ID。可以按定时器显示广告(useTimedAds 配合 showFBAdsEveryNSeconds,建议 120 秒或更长),也可以在 URL 包含 fbadstriggerurls 中的触发词(例如 /thank-you/)时显示。
Claude Code + Meta 广告
如果您的受众主要活跃在 Facebook 和 Instagram 上,Meta Audience Network 可以作为 AdMob 的替代方案。WebViewGold 集成了原生 Audience Network SDK:iOS 上提供定时或由页面触发的插页广告,Android 上提供横幅和插页广告,在 Config.swift 和 Config.java 中配置,并由您的 Claude Code 应用控制。下面介绍设置步骤、隐私方面的文书工作,以及广告类应用容易被拒的地方。
每个平台一次性 $109 起,或由我们的团队全程代劳,$698 起。
把 useFacebookAds 设为 true,并在 Config.swift 的 facebookAdsID 中填入您的 Placement ID。可以按定时器显示广告(useTimedAds 配合 showFBAdsEveryNSeconds,建议 120 秒或更长),也可以在 URL 包含 fbadstriggerurls 中的触发词(例如 /thank-you/)时显示。
设置 USE_FACEBOOK_ADS(它会取代 AdMob),在 Config.java 中开启横幅广告和全屏广告,选择点击多少次后出现插页广告(SHOW_AD_AFTER_X),并在 strings.xml 中填入您的 Meta 广告 ID。
在 Android 上,disableads:// 会为当前用户关闭广告,enableads:// 则重新开启,例如在 您自己的 API 路由、无服务器函数或 Supabase 中记录到一笔购买之后。在 iOS 上,请使用触发词广告,并让付费用户不会进入这些页面。
个性化 Meta 广告需要 App Tracking Transparency 提示。您的 Web 应用在调用 user-disable-tracking:// 后,通过 trackingDisabled 读取用户的选择,而 Config.swift 中的 ATTDeniedShowAds 决定用户选择“不允许”后是否仍显示广告。
把这段粘贴到 Claude Code 中以实现 Web 应用端。检查结果,发布,然后在 WebViewGold 应用中测试。
给 Claude Code 的提示词:阅读 https://www.webviewgold.com/llms-full.txt 中的 Facebook Audience Network(iOS 和 Android)和 User Tracking Decision 两节。然后:1) 创建一个广告模块:在 Android 应用内(自定义 WebViewGold User-Agent 以及 Android),只在状态变化时用 disableads:// 和 enableads:// 同步高级版状态;在 iOS 应用内,每个会话导航一次到 user-disable-tracking://,然后读取 window.trackingDisabled。2) 为插页广告添加间歇点路由,让高级版用户跳过它们,并列出我应该填入 fbadstriggerurls 的触发词。3) 在跟踪授权决定之前,不加载任何营销或归因脚本。4) 起草一句 Privacy - Tracking Usage Description、一节写明 Meta Audience Network 的隐私政策,以及一份关于广告的 App Privacy 和 Google Play 数据安全答案清单;标出所有需要我对照 Meta 当前 SDK 数据披露说明核实的内容。5) 为广告模块编写测试,并在 CLAUDE.md 中记录这些规则。

我很高兴购买了这个应用!非常简单,文档也很棒。联系客服后,他们回复很快且非常友好,一天之内就解决了我的问题。10/10,值得推荐。
| 问题 | Meta Audience Network | AdMob |
|---|---|---|
| WebViewGold 中的广告格式 | iOS:插页广告。Android:横幅和插页广告 | 两个平台都支持横幅、插页和激励广告 |
| 开始赚钱之前 | Meta 当前的快速入门指南要求应用已在 App Store 或 Google Play 上架,才能在 Monetization Manager 中注册 | 上架前即可创建广告单元;应用在商店上架后,AdMob 会对其进行审核 |
| 广告如何售出 | 仅限竞价;填充率取决于 Meta 对您的受众和地区的需求 | Google 的广告需求 |
| 激励广告 | 不在文档所述的 Meta 集成范围内 | displayrewardedad:// |
| 高级版用户免广告 | Android:disableads://;iOS:仅限触发词页面 | disableads:// 和 enableads://(文档仅针对 Android) |
| 隐私方面的工作 | ATT 提示、App Privacy、数据安全表单、广告声明 | 同上,另加 Google 的同意表单(askForAdConsent) |
几个小时,外加等待商店上架的时间。
Meta 当前的 Audience Network 快速入门指南指出,Monetization Manager 只为已在商店上架的应用注册资产(property),而 WebViewGold 的 iOS 文档提到,您可以连接一个尚未发布的应用用于测试。请按两步规划上线:先发布第 1 版,再在后续更新中开启 Meta 广告。
在 Monetization Manager 中创建一个资产,连接 iOS 和 Android 应用,并创建版位(placement)。把 Placement ID 复制到 facebookAdsID(iOS),把广告 ID 复制到 strings.xml(Android)。
在您的 Claude Code 应用中挑选自然的间歇点(完成一项任务后、做完一个测验后、确认页面上),并给它们单独的 URL,让触发词只在那里匹配。绝不要放在登录、结账、删除账号或用户正在输入的时候。
在 Info.plist 中写一段清晰的 Privacy - Tracking Usage Description(例如“我们会用它为您展示相关广告,让应用保持免费”),在 Web 应用中读取 trackingDisabled,并且在用户选择“不允许”后绝不限制任何功能。
按照 iOS 文档的说明:使用真实 iPhone(不是模拟器),将其注册为测试设备,安装并登录 Facebook 应用,并关闭“限制广告跟踪”。发布前请关闭测试模式,否则真实用户看到的会是测试广告。
App Store Connect:在 App Privacy 中申报 Meta SDK 收集的数据(设备 ID、广告数据、产品交互;用于跟踪时列在“用于跟踪您的数据”下)。Google Play:勾选“包含广告”,填写数据安全表单和广告 ID 声明。如果 Monetization Manager 为您显示了相应的条目,请在您的开发者网站上发布 app-ads.txt。
每当套餐变化时调用 syncAds(),在加载任何像素或归因脚本之前调用 withTrackingDecision()。YourAppToken 是您的自定义 User-Agent。
var ua = navigator.userAgent;
var inApp = ua.indexOf("YourAppToken") !== -1;
var isAndroidApp = inApp && /Android/.test(ua);
var isIOSApp = inApp && /iPhone|iPad/.test(ua);
// Android:高级版用户关闭广告,降级后重新开启(仅在状态变化时调用)
function syncAds(isPremium) {
if (!isAndroidApp) return;
var wanted = isPremium ? "off" : "on";
if (localStorage.getItem("adsState") === wanted) return;
localStorage.setItem("adsState", wanted);
window.location.href = isPremium ? "disableads://" : "enableads://";
}
// iOS:每个会话读取一次 App Tracking Transparency 的授权决定
function withTrackingDecision(callback) {
if (!isIOSApp) { callback(false); return; }
window.location.href = "user-disable-tracking://";
setTimeout(function () { callback(window.trackingDisabled === true); }, 500);
}
withTrackingDecision(function (denied) {
if (!denied) { loadMarketingPixels(); } // 您自己的函数;用户选择“不允许”后完全跳过
});个性化 Meta 广告属于跟踪。用清晰的用途说明显示系统提示,尊重用户的“不允许”,绝不奖励或强制用户选择“允许”,并让 App Privacy 与 SDK 的实际行为保持一致。
广告必须适合应用的年龄分级,不得针对敏感数据投放,插页广告需要一个容易找到、清晰可见的关闭按钮。小组件、扩展或通知中不得出现展示类广告。
把 Meta Audience Network 列为广告合作伙伴,说明个性化广告以及如何退出,并链接到 Meta 的隐私政策。
声明应用包含广告,列出 Meta SDK 收集的数据类型(其中包括设备或其他 ID),并避免打断正常使用的插页广告,Google 会把这类广告视为干扰性广告。
如果您的目标受众包括儿童,则只允许使用通过 Google Play 家庭政策认证的广告 SDK;启用前请先确认 Meta 在这方面的最新状态。
Meta 当前的 Audience Network 快速入门指南指出,Monetization Manager 只为已在商店上架的应用注册资产,所以大多数应用会先上架,再在后续更新中开启 Meta 广告。在已注册的测试设备上,测试广告可以更早运行;具体流程请以 Monetization Manager 中的最新说明为准。
在 Android 上,USE_FACEBOOK_ADS 会用 Meta 取代 AdMob,所以文档所述的设置只能二选一。请测试哪个广告网络对您的受众和地区填充得更好;在文档所述的配置中,两者之间没有内置的聚合(mediation)。
在 iOS 上投放个性化广告时需要。未获许可时,广告的定向效果较差,收益通常会下降,所以请写一段清晰的用途说明,并在系统提示之前向用户解释其中的取舍。Android 上没有这样的提示,但需要填写数据安全表单和广告 ID 声明。
按照 iOS 文档的说明:使用真实 iPhone,在 Monetization Manager 中把它注册为测试设备,安装并登录 Facebook 应用,并关闭“限制广告跟踪”。在正式环境中,填充率取决于 Meta 的竞价,流量较少的新应用起初填充率往往较低。
在 Android 上,购买信息到达 您自己的 API 路由、无服务器函数或 Supabase 后调用 disableads://,降级后调用 enableads://。在 iOS 上,文档所述的 Meta 选项是定时或由 URL 触发的插页广告,所以请关闭定时广告,只在高级版用户永远不会访问的触发页面上显示广告。
结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 7×24 小时人工支持。
$109 每个平台,一次性付费
WebViewGold 许可证:一个现成的 Xcode 或 Android Studio 项目。粘贴您的 URL,设置名称和图标,开启所需功能,构建并提交。永久免费更新。
在主页查看方案$349 每个许可证,一次性附加购买
无需 Mac、Xcode 或 Android Studio:在浏览器中完成配置,我们在云端构建两个应用,并将其交付到 App Store Connect 和 Play Console。
Cloud Builder 如何运作 试用免费演示$698 每个平台 $798
把您的 URL 和图标发给我们。我们的团队在 72 小时内完成配置、构建并交付您的应用,白标,附源码项目。两个平台共 $1,158。
Full Service 详情 服务提供方:冬季特惠价格有效期至 2026年12月31日。
App Store & Google Play 审核通过保证 – 否则 14 天内退款
想直接交给我们?Full Service:我们在 72 小时内完成配置、构建并交付,每个平台 $698 起。有疑问?通过 7×24 小时在线聊天联系我们。
退款依据我们 FAQ 中列出的条件:应用因非内容原因被 Apple 和/或 Google 拒审,并在购买后 14 天内提出申请。