Bidding Android iOS 快应用 SDK H5 SDK Media API 常见问题

开发者自渲染

自渲染广告接入方式参考下方内容。

自渲染简介

开发者可以使用自渲染为应用打造自定义的广告布局样式。

权限等级:开放

适用场景:您可自行定义广告布局样式。

接入步骤

整体接入步骤如下:

  1. 安装 SDK 并初始化;
  2. 请求自渲染广告,拿到自渲染广告实例;
  3. 引入 ylh-ad 组件,并为组件添加 ad-id 等属性和方法;
  4. 按需引入 ylh-ad-clickableylh-ad-video 等组件,并为组件添加 ad-id 等属性和方法;

1. 安装 SDK 并初始化

按照快应用 SDK 接入文档操作,完成 SDK 接入和初始化。

2. 请求自渲染广告,拿到自渲染广告实例

请求自渲染广告,主要涉及2个方法:

建议在 onInit 周期中执行 onYlhReady ,并在 onYlhReady 内调用 loadFeedAd :

export default {
  onInit() {
    // 调用 onYlhReady,等待 SDK ready
    this.$app.$def.ylh_sdk.onYlhReady(() => {
      const params = {
        count: 1,
        appId: '1200540367',
        placementId: '4035655463419657',
        recommendation: 0,
      }
      // 调用 loadFeedAd 加载广告数据
      this.$app.$def.ylh_sdk.loadFeedAd(params).then(res => {
        this.feedAd = res[0]
        this.adId = feedAd.id
        console.log('FeedAd广告接口请求成功', this.feedAd, this.feedAd.getECPM())
      }).catch(err => {
        console.log('err', { err })
      })
    })
  },
}

loadFeedAd(params) 参数说明:

名称 类型 是否必填 默认值 说明
placementId string - 广告位ID
count number 1 指定期望加载的广告数量。取值范围为1-10
recommendation number - 是否关闭广告个性化推荐
赋值不等于1: 开启推荐;
赋值等于1: 关闭推荐;

注意:

广告实例属性

名称 类型 默认值 说明
id string - 广告的唯一标识
patternType string - 广告样式:
NATIVE_NORMAL:常规大图广告;
NATIVE_3IMAGE:三小图广告;
...
title string - 广告的标题
desc string - 广告的描述
avatar string - 广告主头像 URL
adLogo string - 广告的logo
img string - 广告大图 URL
imgs array - 数组length = 3,每一项(可能为空)为string类型。partternType为三小图时,该字段用于存放图片地址
imgWidth int - 广告大图 宽度
imgHeight int - 广告大图 高度
hasVideo boolean - 广告是否包含video素材
videoWidth int - video素材宽度
videoHeight int - video素材高度
videoDuration int - video素材播放时长, 单位ms
isApp boolean - 当前广告是否为下载类App广告
btnText string - 按钮默认文案。App类广告位“立即下载”,其他广告为“查看详情”
appName string - 应用的名称
author string - 应用开发者名称
appVersion string - 应用版本信息
pkgSizeBytes int - 应用apk包的大小,单位byte
permissionsUrl string - 应用权限信息url
privacyAgreement string - 应用隐私政策url
descriptionUrl string - 应用功能介绍url(仅在下载类App广告,即isApp为true时有值)

广告实例方法

方法名 说明
isValid() 展示广告前判断广告是否有效
getECPM() 获取广告ecpm,单位:分

3. 引入 ylh-ad 组件,并为组件添加 ad-id 等属性和方法

loadFeedAd 方法获取的广告实例 id 值,需要作为属性(ad-id)传递会给 ylh-ad 等组件。
ylh-ad 为自定义组件,其内部封装了广告曝光处理、点击处理、反作弊等功能。为避免消耗异常,请务必按照文档接入。接入方式如下:

<import name='ylh-ad' src='ylh-quick-app-ad-sdk/ads/YlhAd'></import>

<template>
  <div class='wrapper'>
    <ylh-ad
      class='ad-wrapper'
      ad-id='{{ adId }}'
      if='{{ adId }}'
      on-ad-click='onAdClick'
      on-ad-expose='onAdExpose'
      on-app-status-change='onAppStatusChange'
    >
      <div>...</div>
    </ylh-ad>
  </div>
</template>

ylh-ad 组件属性

名称 类型 是否必填 默认值 说明
ad-id string - 自渲染广告实例 id

ylh-ad 组件方法

方法名 回调参数 说明
ad-click - 广告被点击时执行(如何指定元素可点击,参见 ylh-ad-clickable 组件)
ad-expose - 广告曝光时执行
app-status-change {status: number, progress: number} App类广告状态变化时执行。
status
0:未下载且未安装;
1:已安装;
4:正在下载;
8:下载完成,待安装;
16:下载失败;
progress:已经下载的百分比值,范围为:0-100

注意:

4. 按需引入 ylh-ad-clickableylh-ad-video等组件

ylh-ad-clickableylh-ad-video 等自定义组件,为 ylh-ad 提供了额外功能,可按需引入。

<import name='ylh-ad-clickable-area' src='ylh-quick-app-ad-sdk/ads/YlhAdClickableArea'></import>
<import name='ylh-ad-video' src='ylh-quick-app-ad-sdk/ads/YlhAdVideo'></import>

<template>
  <div class='wrapper'>
    <ylh-ad
      class='ad-wrapper'
      ad-id='{{ adId }}'
      if='{{ adId }}'
      on-ad-click='onAdClick'
      on-ad-expose='onAdExpose'
      on-app-status-change='onAppStatusChange'
    >
      <ylh-ad-clickable-area ad-id='{{ adId }}'>
        <div class='ad-bottom'>
          <image src='{{adInfo.adLogo}}' class='ams-logo'></image>
        </div>
      </ylh-ad-clickable-area>

      <ylh-ad-video
        class='ylh-ad-video-container'
        ad-id='{{ adId }}'
        on-prepared='onVideoCallback("onPrepared")'
        on-start='onVideoCallback("onStart")'
        on-pause='onVideoCallback("onPause")'
        on-finish='onVideoCallback("onFinish")'
        on-error='onVideoCallback("onError")'
        on-videoready='onVideoCallback(videoready)'
      >
      </ylh-ad-video>

    </ylh-ad>
  </div>
</template>

ylh-ad-clickable-area 组件

ylh-ad-clickable-area 包裹的元素,在该元素被点击后,SDK内部会触发广告点击事件,同时会执行 ylh-ad 组件里开发者传递的 ad-click 回调方法。

ylh-ad-clickable-area 组件属性
名称 类型 是否必填 默认值 说明
ad-id string - 自渲染广告实例 id

注意:

ylh-ad-video 组件

ylh-ad-video 为视频组件。视频预览海报 poster 和视频 src ,在 ylh-ad-video 内部会进行自动赋值。

ylh-ad-video 组件属性
名称 类型 是否必填 默认值 说明
ad-id string - 自渲染广告实例 id
muted boolean 视频是否静音播放
autoplay boolean 视频是否自动播放
videoWidth string auto 视频宽度
videoHeight string auto 视频高度
ylh-ad-video 组件方法
方法名 参数 说明
prepared {duration: number} 视频连接成功时触发
start - 开始播放时触发
pause - 暂停时触发
finish - 播放结束时触发
error - 播放失败时触发
videoready {$video: video实例} video实例准备好时触发,可在此回调中拿到video实例

videoready 回调中拿到video实例后,可按需执行video实例的方法。
实例方法:

export default {
  onVideoCallback(type, evt) {
    console.log('callback: onVideoCallback', type, evt.detail);
    if (type === 'videoready') {
      this.$video = evt.detail.video;
    }
    setTimeout(()=> {
      this.$video && this.$video.start();
    });
  },
}

注意:

 文档反馈

腾讯公司 版权所有