You've already forked Commercialization.tapadn
release: 1.0.4
This commit is contained in:
52
README.md
52
README.md
@@ -9,7 +9,7 @@
|
||||
```json
|
||||
{
|
||||
"com.foldcc.cc-framework.commercialization": "http://private.lightyears.ltd:18650/foldcc/CC-Framework.Commercialization.git#1.0.15",
|
||||
"com.commercialization.tapadn": "http://private.lightyears.ltd:18650/foldcc/Commercialization.tapadn.git#1.0.3"
|
||||
"com.commercialization.tapadn": "http://private.lightyears.ltd:18650/foldcc/Commercialization.tapadn.git?path=/Assets#1.0.4"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -73,6 +73,10 @@ ADManager.Instance.Init(callback, userId, adConfig, new TapadnAdController());
|
||||
* `tapadn.rewarded_max_load_attempts`
|
||||
* `tapadn.rewarded_load_retry_delay_ms`
|
||||
* `tapadn.rewarded_show_timeout_ms`
|
||||
* `tapadn.rewarded_scene_slot.<scene_id>`(激励视频场景广告位映射,值为对应 SpaceId)
|
||||
* `tapadn.rewarded_scene_slots`(激励视频场景广告位批量映射,格式 `scene_a=10001,scene_b=10002`)
|
||||
* `tapadn.rewarded_scene_slots_json`(激励视频场景广告位 JSON,格式见下方)
|
||||
* `tapadn.rewarded_cache_max_age_seconds`(可选本地缓存年龄上限;默认 `600` 秒,设为 `0` 表示只使用 SDK `IsValid` 判断)
|
||||
* `tapadn.interstitial_auto_load`
|
||||
* `tapadn.interstitial_prewarm_on_init`
|
||||
* `tapadn.interstitial_max_load_attempts`
|
||||
@@ -92,6 +96,52 @@ ADManager.Instance.Init(callback, userId, adConfig, new TapadnAdController());
|
||||
|
||||
默认激励、插屏、开屏都使用手动 load/show;如无特殊策略验证需求,不建议开启 auto-ad。若要做 auto-ad AB 测试,再将对应 `*_auto_load` 设为 `true`。
|
||||
|
||||
### 激励视频场景广告位
|
||||
|
||||
激励视频支持按游戏场景路由不同 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。
|
||||
* 未传场景、场景为空、场景未配置、配置的 SpaceId 非法时,回退到 `BaseAwardAdKeyValue.value` 默认激励视频广告位。
|
||||
* 手动 load/show 模式下,缓存按 SpaceId 隔离;A 场景加载的激励视频不会被 B 场景误认为 ready。
|
||||
|
||||
单项配置示例:
|
||||
|
||||
```csharp
|
||||
adConfig.CommonKeyValues.Add(new AdKeyValue
|
||||
{
|
||||
key = "tapadn.rewarded_scene_slot.level_clear",
|
||||
value = "200101"
|
||||
});
|
||||
```
|
||||
|
||||
批量字符串配置示例:
|
||||
|
||||
```csharp
|
||||
adConfig.CommonKeyValues.Add(new AdKeyValue
|
||||
{
|
||||
key = "tapadn.rewarded_scene_slots",
|
||||
value = "level_clear=200101,daily_bonus=200102"
|
||||
});
|
||||
```
|
||||
|
||||
JSON 配置示例:
|
||||
|
||||
```json
|
||||
{
|
||||
"Mappings": [
|
||||
{ "Scene": "level_clear", "SlotId": "200101" },
|
||||
{ "Scene": "daily_bonus", "SlotId": "200102" }
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
生命周期策略按官方文档保持保守:
|
||||
|
||||
* `DirichletAdNative` 仍由每个 TapADN player 统一持有,不在每个场景重复创建。
|
||||
* 手动加载返回的 `DirichletRewardVideoAd` 按 SpaceId 缓存;展示关闭、展示失败、SDK `IsValid == false` 或超过 `tapadn.rewarded_cache_max_age_seconds` 后销毁。
|
||||
* 官方文档没有给出固定过期秒数;本模块默认 10 分钟未消费主动销毁,同时每次 ready/show 前仍调用 SDK `IsValid`。
|
||||
* Android auto-ad 仍交给官方 `ShowRewardVideoAutoAd` / `PreLoad` 的 native 缓存管理;iOS/Editor fallback 仍是 load 成功后立即 show,不承诺 native 缓存语义。
|
||||
|
||||
### 智能预加载(实验)
|
||||
|
||||
默认会按“场景进入次数 + 场景播放请求次数”维护一个小样本统计:
|
||||
|
||||
Reference in New Issue
Block a user