fix: support legacy TapADN rewarded scene slots

This commit is contained in:
2026-06-17 18:15:02 +08:00
parent 9c99482b2d
commit 3f527fa94d
6 changed files with 120 additions and 7 deletions

View File

@@ -100,9 +100,10 @@ ADManager.Instance.Init(callback, userId, adConfig, new TapadnAdController());
激励视频支持按游戏场景路由不同 TapADN SpaceId。项目层继续调用 `ADManager.EnterAdScenario(AD_Type.AwardVideo, sceneId)``ADManager.AsyncPlayAD(AD_Type.AwardVideo, sceneId, callback)`TapADN adapter 会按 `sceneId` 查表:
* 命中 `tapadn.rewarded_scene_slot.<scene_id>` 或批量配置时,使用该场景 SpaceId。
* 命中 `tapadn.rewarded_scene_slot.<scene_id>`、批量配置,或 `CommonKeyValues``scene_id=SpaceId` 的兼容配置时,使用该场景 SpaceId。
* 未传场景、场景为空、场景未配置、配置的 SpaceId 非法时,回退到 `BaseAwardAdKeyValue.value` 默认激励视频广告位。
* 手动 load/show 模式下,缓存按 SpaceId 隔离A 场景加载的激励视频不会被 B 场景误认为 ready。
* Editor/样例调试时,进入场景、加载和播放请求会在 Console 输出当前解析到的 SpaceId 及来源,格式类似 `slot=200101, source=scene`
单项配置示例:
@@ -114,6 +115,16 @@ adConfig.CommonKeyValues.Add(new AdKeyValue
});
```
兼容已有业务配置示例:
```csharp
adConfig.CommonKeyValues.Add(new AdKeyValue
{
key = "PlantUnlock",
value = "200101"
});
```
批量字符串配置示例:
```csharp