phaser4-game-ad-integration
Phaser 4 AppLovin MAX 广告接入
适用范围与硬边界
本 Skill 只处理 Phaser 4 + TypeScript/Vite + Capacitor 移动项目的 Banner、插页与激励视频广告能力,聚合层固定使用 AppLovin MAX,接入实现固定使用 AppLovin 官方维护的 cordova-plugin-applovin-max,由 Capacitor 的 Cordova 兼容层加载。项目只在 TypeScript 侧建立业务门面和官方插件 API 适配,不自建 Android/iOS 广告插件,也不直接集成 MAX 原生 SDK。所有已配置广告位都必须独立维护状态并在后台静默预加载;全屏展示和 Banner 显隐触发只读取现有状态并立即返回,不在触发路径临时加载。每个广告位独立维护加载失败计数、retry deadline 和至多一个重试 timer,但使用相同分类、退避、暂停和恢复规则。开始任何设计、实施或审查前,必须先读取唯一细则合同 AppLovin MAX 接入合同,并以其中的状态、时序、失败和合规规则为准。
- Phaser Web、浏览器预览和小游戏不直接调用 MAX,也不加载原生广告 SDK;广告能力在这些运行目标上必须是明确的
unsupported/no-op,调用后立即返回并继续游戏。 - iOS 与 Android 只使用 AppLovin 官方
cordova-plugin-applovin-max。实施前必须按官方 Cordova 集成文档和官方仓库核对插件版本、Capacitor Cordova 兼容层、Android Gradle 与 iOS 包管理器;不兼容时阻断并报告,不回退到社区插件、自建 Capacitor 原生插件或业务代码直连 MAX SDK。 - 本 Skill 不替项目自动配置 MAX 控制台、广告网络账号、商店元数据或发布渠道。SDK key 与 ad unit ID 按环境从受控构建配置注入官方插件适配层,不手写进业务源码、示例、日志或提交记录;广告网络账号凭证与 Ad Review key 不得进入 Web 代码或公开产物。
- 广告只在自然中断点尝试展示;调用方永不等待广告加载、网络请求或展示完成。不可展示时必须按广告位当前状态立即返回结果,不得阻塞场景切换、输入、主循环或结算流程。后台加载、加载失败和重试保持静默,不弹 Toast。
- 视频广告位在用户触发展示但当前不可用,或官方插件接受展示后回调
displayFailed时,通过统一 UI 层弹出一次“视频广告暂不可用,请稍后再试”Toast;不得由插件适配层直接操作 Phaser UI,也不得因重复回调重复提示。 - Banner 初始化后创建为隐藏状态并静默加载,只有已 ready 且布局安全时才能立即显示;未 ready 时保持隐藏并立即返回,不弹 Toast、不占用错误高度、不等待加载。Banner 不使用视频 Toast 或全屏仲裁。
全局控制接入
$phaser4-game-workflow-control 是唯一的全局状态、风险门、任务范围和证据控制面。本领域可以在当前 Work Item、冻结的 Implementation Package、A 等级与路径范围内提出方案、审查现状并实施;所有计划、变更、测试证据和阻断项必须回到控制面登记和复核。任务内调整接口、路径或验证范围时同步更新 Work Item,不另建平行状态机。
涉及外部写入、付费、真实设备、商店提交、发布或不可逆操作的 A4-A6 动作,必须按对象取得控制面明确批准;本 Skill 不代为批准、执行或推送这些动作,也不自动发起真机运行验收。普通本地文档、桥接代码和单元测试按当前任务授权执行。