Skip to content

接口说明

AdRequest

广告请求参数。

名称类型必填说明
placementIdstring广告位ID
userIdstring用户ID
optionsRecord<string, string>自定义参数,主要用于激励服务端回调回传信息使用
adCountnumber请求的广告数量,出原生广告外,其它广告类型均为1, 原生广告范围在[1, 5]
adWidthnumber请求广告时期望的创意宽度,单位vp(仅原生、横幅)
adHeightnumber请求广告时期望的创意高度,单位vp(仅原生、横幅)

AdDisplayOptions

广告展示参数。

名称类型必填说明
sceneIdstring广告播放场景id
sceneDescstring广告播放场景描述信息
optionsRecord<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;
  }
}