中文
登录
后可查看全部文档
开发测试/iOS集成文档/iOS直播拉流
iOS直播拉流
最近更新 2025-07-18 14:29:16

一、背景&收益

直播拉流类型(实时的电商直播流,即实时正在播放的直播预览流)预算在整体闭环预算中占比30%,支持后预计闭环预算消耗+10%-20%。目前穿山甲已支持IOS端直播拉流能力,开发者可按照下述流程完成接入,把握预算。

二、SDK接入

V6610及以上:请参考本章节接入

V6410-V6609:参考https://bytedance.larkoffice.com/docx/OLPIdHCubooQMOxE7lTcNNuFn8b接入

Cocoapods接入

方式一:动态库接入【推荐】

复制

方式二:静态库接入

静态库接入会引入FFMpeg组件,确保宿主App内部不包含任何FFMpeg组件,否则可能会在编译或者运行阶段发生冲突或者崩溃。若静态库接入有ffmpeg冲突,强烈建议通过方式一:动态库进行接入。

复制

手动接入

  1. 将穿山甲平台下载的BUAdLive拖入工程
  2. 下载TTSDK依赖包解压,将以下内容全部拖入工程。
TTSDK.zipTTSDK.zip
65.85 MB
2
  1. 设置Embed&Sign
    1. ffmpeg_dashdec.framework
    2. ttboringssl.framework
    3. ttcrypto.framework
    4. TTFFmpeg.framework

以下是完整的依赖库列表和设置方式

  1. 添加系统动态库库依赖

添加如下动态库

复制

标准库依赖

复制

三、自定义版本

  • 若媒体项目没有接入TTSDK,直接按照第二部分默认接入方式即可,不需要自定义版本;
  • 若本身有依赖TTSDK或TTSDKFramework,则需要参考本模块进行接入

什么情况下需要自定义版本?

  1. 此前接入过穿山甲直播拉流,升级穿山甲SDK不想修改依赖关系,或者不想修改TTSDK版本。(升级仍需要删除Onekit依赖)
  2. 项目中已经集成TTSDK / TTSDKFramework,或本身的业务依赖TTSDK(如直播功能)。
  3. 此前集成其他SDK已经依赖的TTSDK或TTSDKFramework(如穿山甲-内容输出DJXSdk)
  4. 需要某个特定的版本,清楚的理解TTSDK的依赖关系和版本信息。

注意:项目中只能存在一个TTSDK或者TTSDKFramework,如果需要自定义接入,请仔细检查项目依赖关系

自定义动态库版本

复制

自定义静态库版本

复制

四、联调测试

集成完成后,开发者可以集成测试工具后预览测试直播拉流类广告,有问题可即时向对接同学反馈

  • 注:使用测试工具前,需要先找穿山甲技术支持申请权限,加白后才能生效


五、FAQ

  • 直播拉流支持的广告位范围?
    • 激励视频:模板渲染
    • 插全屏:模板渲染
    • 信息流:自渲染、模板渲染
    • Draw:自渲染、模板渲染 [6133,6200) 、[6206 版本以上)
  • 测试看不到直播拉流广告,CheckList:
    • 是否正确集成了穿山甲直播拉流SDK?参考“二、DK接入”
    • 若想要定向刷到直播拉流素材,请参考"四、联调测试"
    • 如上述均完成,抓取get_ads和settings接口返回,联系TS和RD同学排查:
  • 运行过程报错?直播播放异常?Crash?
    • 检项目木是否包含ffmpeg,只要应用中包含,无论是否使用,就需要使用动态库方式集成。常见的ffmpeg库:ijkplayer、TTSDK等三方通用播放器库。
  • 如何区分普通广告和直播拉流广告?
    • 通过BUNativeAds.data.imageMode = 166区分,如自渲染等业务需求,可以据此判断从而进行UI、逻辑的定制。若媒体开通了自定义播放器的能力,请在判断imagemode为166后,针对166素材选择SDK默认播放器展示,否则直播拉流无法播放
  • 直播拉流广告和闭环电商广告saas链路的区别?
    • 直播拉流广告是闭环电商广告的一种,还有其他形式广告。但是iOS直播拉流广告不包含闭环saas环境,点击会跳转抖音而非在app内完成全链路。




本篇目录
联系我们