ymx-gdt
    正在准备搜索索引...

    接口 YmxGdt

    腾讯营销联盟广告(广点通)

    提供开屏、激励视频、插屏广告的加载与展示。

    • 使用前需在 腾讯营销联盟开发者平台 创建媒体与广告位, 获取 APPID 与广告位 ID(POSID)
    • 使用前请先调用 initSdk 完成初始化(需在用户同意隐私协议后调用), 初始化后请尽快展示广告,否则可能影响广告填充,造成收入下降
    • 广告事件(加载、曝光、点击、关闭、激励达成、视频状态等)通过 setListener 异步回传, eventName 为 reward / interstitial / splash,见 EventData
    • 激励视频/开屏/插屏广告一次成功拉取的广告数据只允许展示一次
    const gdt = ymx.requirePlugin('ymx-gdt') as YmxGdt;

    // 设置监听器(广告事件异步回传)
    gdt.setListener((eventName, data) => {
    if (eventName === 'reward') {
    switch (data.action) {
    case 'onADLoad':
    console.log('激励视频加载成功');
    break;
    case 'onReward':
    // data.data 包含奖励校验参数与预估收益 ecpm(单位:分)
    console.log('奖励已达成:', data.data);
    break;
    case 'onError':
    console.log('广告错误:', data.data);
    break;
    }
    }
    });

    // 确认隐私协议之后初始化 SDK(初始化后 SDK 开始采集设备信息,必须在用户同意隐私协议后执行;
    ymx.onConfirmPrivacy(async (isAgreed) => {
    // 同意了隐私协议
    if (isAgreed) {
    await gdt.initSdk({ appId: 'your_app_id' });
    }
    });

    // 加载并展示激励视频广告
    await gdt.reward({
    codeId: 'your_pos_id',
    volumeOn: true,
    userId: 'user_1234',
    extraInfo: 'any_extra_info'
    });

    // 加载并展示插屏广告
    await gdt.interstitial({ codeId: 'your_pos_id' });

    // 加载并展示开屏广告
    await gdt.splash({ codeId: 'your_pos_id' });
    interface YmxGdt {
        id: string;
        version: string;
        initSdk(data: InitSdkData): Promise<InitResult>;
        interstitial(data: AdBaseData): Promise<void>;
        removeListener(): Promise<void>;
        reward(data: RewardVideoData): Promise<void>;
        setListener(
            listener: (eventName: string, data: any) => void,
        ): Promise<void>;
        splash(data: SplashData): Promise<void>;
    }

    层级

    • JsApiBase
      • YmxGdt
    索引

    属性

    id: string

    获取插件 ID

    version: string

    获取插件版本,如 1.2.3

    方法

    • 初始化广告 SDK

      手动初始化,需在用户同意隐私协议后调用并传入 APPID;已初始化时直接返回。

      参数

      返回 Promise<InitResult>

      初始化结果(code 为 0 表示成功)

      // 确认隐私协议之后初始化 SDK(初始化后 SDK 开始采集设备信息)
      ymx.onConfirmPrivacy(async (isAgreed) => {
      // 同意了隐私协议
      if (isAgreed) {
      const res = await gdt.initSdk({ appId: 'your_app_id' });
      console.log(res.code, res.msg);
      }
      });
    • 全屏插屏广告(视频)

      加载并展示全屏插屏广告(加载成功后自动展示)。 广告事件通过 setListener 回传,eventName 为 interstitial

      参数

      • data: AdBaseData

        广告位参数(codeId 必填)

      返回 Promise<void>

      广告加载已发起(实际结果通过监听器回传)

      await gdt.interstitial({ codeId: 'your_pos_id' });
      
    • 移除监听器

      返回 Promise<void>

    • 激励视频广告

      加载并展示激励视频广告(加载成功后自动展示),用户完整观看后可获得应用内奖励。 广告事件通过 setListener 回传,eventName 为 reward

      参数

      返回 Promise<void>

      广告加载已发起(实际结果通过监听器回传)

      await gdt.reward({
      codeId: 'your_pos_id',
      volumeOn: true,
      userId: 'user_1234',
      extraInfo: 'any_extra_info'
      });
    • 设置监听器,接收 eventName 事件名称,data 事件数据

      注意: 此接口为覆盖操作,仅保留最后一个监听器,最后的 listener 才能收到事件通知。

      参数

      • listener: (eventName: string, data: any) => void

      返回 Promise<void>

    • 开屏广告

      加载并展示开屏广告(加载成功后自动展示),以 App 启动作为曝光时机,提供 5s 可感知广告展示。 广告事件通过 setListener 回传,eventName 为 splash

      参数

      • data: SplashData

        开屏广告参数(codeId 必填)

      返回 Promise<void>

      广告加载已发起(实际结果通过监听器回传)

      await gdt.splash({ codeId: 'your_pos_id' });