Files
Commercialization.tapadn/README.md

103 lines
3.2 KiB
Markdown
Raw Normal View History

# Commercialization.tapadn
`Commercialization.tapadn` 是 TapADN / Dirichlet 聚合广告平台在 `CC-Framework.Commercialization` 抽象层上的实现包。
## 接入定位
业务项目只需要同时引入:
```json
{
"com.foldcc.cc-framework.commercialization": "http://private.lightyears.ltd:18650/foldcc/CC-Framework.Commercialization.git#1.0.14",
"com.commercialization.tapadn": "http://private.lightyears.ltd:18650/foldcc/Commercialization.tapadn.git#1.0.0"
}
```
项目层继续面向 `ADManager``ADConfig``AD_Type` 工作,不直接依赖 TapADN SDK API。
## 初始化方式
推荐让本模块创建 controller 并初始化广告管理器:
```csharp
var config = TapadnCommercialization.CreateConfig(
mediaId: "100000",
mediaKey: "media-key",
mediaName: "GameName",
rewardSlotId: "200000",
interstitialSlotId: "200001",
splashSlotId: "200002");
TapadnCommercialization.InitADManager(
onCallback: () => Debug.Log("AD ready"),
userId: userId,
adConfig: config);
```
如项目已有 `ADConfig` 资产,也可以直接调用:
```csharp
ADManager.Instance.Init(callback, userId, adConfig, new TapadnAdController());
```
`ADConfig` 字段约定:
* `Id`: TapADN MediaId。
* `Key`: TapADN MediaKey。
* `Key2`: MediaName。
* `BaseAwardAdKeyValue.value`: 激励视频广告位 SpaceId。
* `BaseInteractionAdKeyValue.value`: 插屏广告位 SpaceId。
* `BaseSplashAdKeyValue.value`: 开屏广告位 SpaceId。
## 配置 key
可通过 `ADConfig.CommonKeyValues``InitADManager(..., args)` 中传入 `IDictionary` 覆盖:
* `tapadn.media_id`
* `tapadn.media_key`
* `tapadn.media_name`
* `tapadn.channel`
* `tapadn.sub_channel`
* `tapadn.debug`
* `tapadn.tap_client_id`
* `tapadn.shake_enabled`
* `tapadn.custom_config_json`
* `tapadn.data_json`
* `tapadn.atags`
* `tapadn.allow_idfa_access`
* `tapadn.request_permission_on_init`
* `tapadn.reward_name`
* `tapadn.reward_amount`
* `tapadn.rewarded_auto_load`
* `tapadn.rewarded_prewarm_on_init`
* `tapadn.rewarded_max_load_attempts`
* `tapadn.rewarded_load_retry_delay_ms`
* `tapadn.rewarded_show_timeout_ms`
* `tapadn.interstitial_auto_load`
* `tapadn.interstitial_prewarm_on_init`
* `tapadn.interstitial_max_load_attempts`
* `tapadn.interstitial_load_retry_delay_ms`
* `tapadn.interstitial_show_timeout_ms`
* `tapadn.splash_auto_load`
* `tapadn.splash_prewarm_on_init`
* `tapadn.splash_max_load_attempts`
* `tapadn.splash_load_retry_delay_ms`
* `tapadn.splash_show_timeout_ms`
* `tapadn.express_width`
* `tapadn.express_height`
默认激励、插屏、开屏都使用 TapADN Android auto-ad 接口。若遇到渠道缓存策略差异,可将对应 `*_auto_load` 设为 `false`,切换为手动 load/show。
## Android 构建
包内包含官方 `DirichletMediation` SDK、Android AAR、iOS bridge、EDM4U 依赖声明和构建后处理。
构建后处理会自动补齐:
* TapADN 所需权限。
* TapADN `TapADFileProvider``tapad_ad_file_path.xml`
* 微信 OpenSDK `WXEntryActivity``queries`、本地 `wechat-sdk-android-6.8.34.aar`
* `android.useAndroidX=true``android.enableJetifier=true`
包内不默认暴露可视化编辑面板;调试样例通过 `Samples~` 作为可选导入内容。