Add iOS support for TapADN package

This commit is contained in:
2026-06-12 16:05:13 +08:00
parent fd98a7f541
commit e554c34327
8 changed files with 661 additions and 77 deletions

View File

@@ -147,6 +147,24 @@ ADManager.Instance.Init(callback, userId, adConfig, new TapadnAdController());
包内不默认暴露可视化编辑面板;调试样例通过 `Samples~` 作为可选导入内容。
## iOS 构建
iOS 侧通过 `DirichletMediationIOSPostProcessor` 在 Unity 导出 Xcode 工程后自动处理:
* 生成 `Podfile`,默认接入 `DirichletMediationSDK``DirichletMediationAdapterDRA``DirichletMediationAdapterCSJ``DirichletMediationAdapterGDT` 的 iOS `4.2.0.1` Pod。
* 将 Pods 放到 Unity Framework target避免 adapter 被 strip 后运行时找不到类。
* 补齐 `SKAdNetworkItems``NSUserTrackingUsageDescription``AppTrackingTransparency.framework``AdSupport.framework`
* 执行 `pod install`;若构建机没有 CocoaPods会在日志里给出手动执行路径。
* 将 GDT 的动态 framework 嵌入 App target。
可选覆盖:
* `DIRICHLET_IOS_SDK_VERSION``EditorPrefs("Dirichlet.iOS.SDKVersion")`:临时切换 iOS Pod 版本。
* `DIRICHLET_IOS_ATT_DESCRIPTION``EditorPrefs("Dirichlet.iOS.TrackingUsageDescription")`:替换 ATT 弹窗文案。
* `DIRICHLET_UNITY_FRAMEWORK_TARGET` / `DIRICHLET_UNITY_APP_TARGET`:极端自定义 Xcode target 名称时手动指定。
iOS 的 auto-ad 原生接口仍按官方口径视为 Android 能力;本模块在 iOS 上对激励、插屏、开屏做了“load 成功后立即 show”的兼容 fallback不承诺 native 缓存语义。正式联调仍需要用 TapADN iOS 媒体账号和 iOS 广告位做真机验证重点看初始化、ATT、三类广告 load/show/close/reward 回调,以及无填充/未 ready 的失败收口。
## 智能预加载敏感度验收(默认次留 35%
本模块包含一套本地仿真脚本,用于模拟 IAA 场景下不同 `PreloadThreshold``CooldownSeconds` 的收益差异,输出完整 CSV 与变化曲线。