接口说明
AdRequest
广告请求参数。
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| placementId | string | 是 | 广告位ID |
| userId | string | 否 | 用户ID |
| options | Record<string, string> | 否 | 自定义参数,主要用于激励服务端回调回传信息使用 |
| adCount | number | 否 | 请求的广告数量,出原生广告外,其它广告类型均为1, 原生广告范围在[1, 5] |
| adWidth | number | 否 | 请求广告时期望的创意宽度,单位vp(仅原生、横幅) |
| adHeight | number | 否 | 请求广告时期望的创意高度,单位vp(仅原生、横幅) |
AdDisplayOptions
广告展示参数。
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| sceneId | string | 否 | 广告播放场景id |
| sceneDesc | string | 否 | 广告播放场景描述信息 |
| options | Record<string, string> | 否 | 自定义参数 |
InitState
初始化状态
typescript
export enum InitState {
none = 0, //未初始化
initializing = 1, //初始化中
complete = 2, //初始化完成
failure = 3, // 初始化失败
}Location
地理位置信息
typescript
export interface Location {
/**
* 纬度
*/
latitude?: number;
/**
* 经度
*/
longitude?: number;
}PersonalizedAdvertising
个性化状态
typescript
export enum PersonalizedAdvertising {
on = 0, // 开启
off = 1, // 关闭
}Age
年龄状态
typescript
export enum Age {
adult = 0, // 成年人
child = 1, // 儿童
}AdSlotType
广告位类型
typescript
export enum AdSlotType {
none = 0,
rewardVideoAd = 1, // 激励视频
splashAd = 2, // 开屏广告
intersititial = 4, // 插屏
nativeAd = 5, // 原生广告
bannerAd = 7. // 横幅广告
}LoadingParam
加载参数
typescript
export enum LoadingParam {
loadId = 'load_id', // 聚合请求ID
adnId = 'adn_id', // 渠道广告位ID
slotId = 'slot_id', // 聚合广告位ID
price = 'price', // AND广告ECPM,单位分
currency = 'currency', //AND广告ECPM对应的货币类型,目前支持CNY、USD
adnRequest = 'request', // ADN广告的加载标识
}Currency
货币类型
typescript
export enum Currency {
CNY = 'CNY', // 人民币 CNY("CNY")
USD = 'USD', // 美元 USD("USD"),
EUR = 'EUR', // 欧元 EUR("EUR")
}Channel
渠道ID
typescript
export enum Channel {
sigmob = 9, // sigmob
csj = 13, // 穿山甲
gdt = 16, // 腾讯优量汇
kuaishou = 19, // 快手
baidu = 21, // 百度联盟
gromore = 22, // Gromore聚合
huawei = 25, // 华为
tobidAdx = 999, // tobid adx
}MaterialType
素材类型
typescript
export enum MaterialType {
unknow = 0, // 未知,模版渲染时,素材类型未知
video = 1, // 视频
largeImage = 2, // 小图
smallImage = 3, // 大图
groupImage = 4, // 三张小图
}RenderType
渲染类型
typescript
export enum RenderType {
template = 1, // 模版渲染
native = 2, // 自渲染
}NativeType
信息类类型
typescript
export enum NativeType {
feed = 1, // feed ads
drawVideo = 2, // vertical (immersive) video ads
}AdInteractionType
广告交互类型
typescript
export enum AdInteractionType {
unknow = 0,
download = 1,
h5 = 2
}TBInitializedConfig
typescript
export class TBInitializedConfig {
readonly context: common.UIAbilityContext; // 应用上下文,聚合初始化时由开发者传入
readonly windowStage: window.WindowStage; // 窗口管理器,聚合初始化时由开发者传入
appId: string; // 应用ID (自定义渠道请从extra中获取)
appKey: string; // 应用key (自定义渠道请从extra中获取)
adnId: number; // 渠道唯一ID
isCustom: boolean; // 是否自定义渠道
extra: Record<string, Object>; // 自定义参数
}TBParameter
typescript
export interface TBParameter {
/**
* 窗口管理器
*/
readonly windowStage: window.WindowStage;
transId: string;
/**
* 设备oaid
*/
getOaid: () => Promise<string>;
/**
* 渠道广告位信息
*/
element: tobid.ElementOptions;
/**
* 是否为竞价广告源
*/
readonly isHeaderBidding: boolean;
/**
* 广告加载数量 默认1条
*/
readonly adCount: number;
/**
* 竞价类型
* 0: s2s; 1: c2s
*/
readonly bidType: number;
/**
* 初始化传入的上下文信息
*/
readonly context: common.UIAbilityContext;
/**
* 服务端竞价响应信息
* 【自定义渠道不支持】
*/
readonly hbResponse?: tobid.HBResponse;
/**
* 广告的期望尺寸,单位vp
*/
readonly adSize: TBType.Size;
}TBAdInfo
typescript
export class TBAdInfo {
/**
* 聚合广告位ID
*/
readonly placementId: string;
/**
* 渠道id
*/
readonly networkId: TBType.Channel;
/**
* 渠道名称
*/
readonly networkName: string;
/**
* 渠道的广告位ID
*/
readonly networkPlacementId: string;
/**
* 三方代码位广告类型
*/
readonly networkAdtype: TBType.AdSlotType;
/**
* 瀑布流id / 策略分组ID
*/
readonly groupId: string;
/**
* 定向包ID
*/
readonly ruleId: string;
/**
* ab分组
*/
readonly abFlag: number;
/**
* 加载优先级
*/
readonly loadPriority: number;
/**
* 加载优先级
*/
readonly playPriority: number;
/**
* 单位分
*/
readonly eCPM: number;
/**
* 货币单位
*/
readonly currency: string;
/**
* 是否hb广告源
*/
readonly isHeaderBidding: boolean;
/**
* 每次加载广告时生成的独立ID,可用于排查问题
*/
readonly loadId: string;
/**
* app自己的用户体系的id,开发者传入
*/
readonly userId: string;
/**
* ToBid 平台定义广告源id,开发者可用于排序
*/
readonly aggrWaterfallId: string;
/**
* 当前广告类型
*/
readonly adType: TBType.AdSlotType;
/**
* 广告场景id,由开发者传入
*/
readonly scene: string;
/**
* 开发者在request中传入的options
*/
readonly options?: Record<string, string>;
/**
* 三方渠道数据信息
*/
readonly networkOptions?: Record<string, Object>;
}TBReward
export class TBReward {
/**
* 第三方交易ID
*/
transId?: string;
/**
* 奖励是否有效
*/
isRewardValid: boolean = false;
/**
* 奖励名称
*/
rewardName?: string;
/**
* 奖励数量
*/
rewardAmount: number = 0;
/**
* 奖励类型
*/
rewardType?: string;
}tbnode.Data
在广告展示或者开屏自定义品牌区域时,需要开发者实现对应方法的同时并返回tbnode.Data,里面包3个参数
wrap:全局@Builder作为wrapBuilder的参数返回WrappedBuilder对象,实现全局@Builder可以进行赋值和传递。
args:全局@Builder函数参数
controller:NodeController用于实现自定义节点的创建、显示、更新等操作的管理,并负责将自定义节点挂载到NodeContainer上。
注意:controller和wrap二选一即可,若两者同时传递,SDK优先使用NodeContainer方式
typescript
namespace tbnode {
export type Params = Record<string, Object | undefined>;
export interface Data {
wrap?: WrappedBuilder<[Params]>;
args?: Params;
controller?: NodeController;
}
}