抖音开放平台Logo
控制台

抖音SDK -开播接入说明

更新时间 2024-07-24 02:58:49
收藏
我的收藏

一、前言

  • 目前抖音SDK 提供三大产品能力,分别是直播能力,短视频能力,开播能力,此接入说明针对开播能力,接入说明的技术内容仅供开发者参考,若确定要进行接入请通过工单-技术咨询联系官方人员获取完整版技术文档方可顺利接入。
  • 目前对外提供开播 SDK 接入能力双端(安卓&iOS)接入,接入方可在第三方应用及设备进行一键开播,直播间分发至抖音,获取抖音流量价值。
  • 特别注意:SDK包您将通过技术支持获得,暂不会提供公开的SDK。

二、抖音 SDK -开播 iOS 技术文档

  • 对外文档仅披露部分内容,具体详细内容可见正式版技术文档

1. 前置了解

1.1 集成了解

  • 环境要求:iOS 9.0 及以上版本 XCode 12 及以上版本

1.2 申请必要接入物料

  • 请通过工单-技术咨询联系官方人员,获取直播接入相关参数:host appid, clientKey 等等

2. SDK 初始化

2.1 启动任务

  • 使用示例在AppDelegate启动入口,触发启动任务,并传入申请的 hostAppID

Objective-C请参考:

Swift请参考:

2.2能力注入

使用示例

Objective-C请参考:

  • 自定义一个服务实现类,xxxIMP,并遵循`DYLiveAppInfoService`协议,实现协议方法
  • 将该实现类xxxIMP,注入到SDK中该实现类会在网络请求公参时使用,需在网络请求触发前,注入到SDK中一般注入时机可选在AppDelegate的didFinishLaunching中,如考虑启动卡顿问题,可稍加延迟几秒

Swift请参考:

  • 自定义一个服务实现类,xxxIMP,并遵循`DYLiveAppInfoService`协议,实现协议方法
  • 将该实现类xxxIMP,注入到SDK中
##

3. 功能使用

3.1 抖音登录/登出

使用示例

  • 抖音登录

Objective-C请参考:

Swift请参考:

  • 抖音登录状态清除(账号登出时调用)

Objective-C请参考:

Swift请参考:

  • 抖音是否登录(YES 表示已登录;NO 表示未登录)

Objective-C请参考:

Swift请参考:

3.2 获取用户头像&昵称

使用示例

Objective-C请参考:

Swift请参考:

3.3 开播/关播

使用示例

  • 开播

Objective-C请参考:

Swift请参考:

  • 关播

Objective-C请参考:

Swift请参考:

三、抖音 SDK -开播 Android 技术文档

  • 对外文档仅披露部分内容,具体详细内容可见正式版技术文档

1. 集成开播 SDK

1.1 配置 repositories

  • 在整个工程的build.gradle文件中添加 maven repositories

1.2 配置 dependencies

  • 在主工程的build.gradle文件中添加开播SDK dependencies:

1.3 配置代码混淆

2. 开发阶段

2.1 进行开播 SDK 初始化

  • 在使用直播开播SDK其它功能之前,需要先对开播SDK进行注册操作,在DouyinLiveApi.init方法中传入对应从抖开平台获取的 appId 、webcastAppId 、clientKey信息以及宿主APP版本号

2.2 获取授权状态

  • 通过 DouyinLiveApi.isAuthorized 方法可以判断当前账号抖音授权状态

2.3 进行抖音账号授权

  • 调用login方法进行跳抖音授权,通过callback可以接收授权成功或失败的回调,授权成功之后,开播SDK会缓存授权信息,一直到授权过期或失效之前,无需再次进行抖音账号授权。可以通过 DouyinLiveApi.isAuthorized() 方法判断当前账号的授权状态。

2.4 获取头像昵称信息

  • 通过 DouyinLiveApi.getAccountInfo 方法可以获取头像昵称信息,注意它是一个同步方法,避免阻塞UI需要放在子线程进行调用,针对接口返回异常情况需要区分未授权和其它异常情况,在未授权时需要主动调起抖音授权。

2.5 开始直播

  • 调用开播直播接口 DouyinLiveApi.startBroadcast 成功之后,会返回推流地址和房间号信息,推流地址用于硬件推流,房间号在关闭直播接口使用。在开始直播前会对当前用户权限和开播状态进行校验,如果不满足任意一项条件,会回调开播失败并返回错误码,此时无法正常开播,通过错误码可以判断出相应的错误信息。
  • 支持推流类型:平面直播(VLOG直播) -> 对应参数:LiveAngle.STANDARD or 不传参
  • 360度全景直播 -> 对应参数:LiveAngle.ANGLE_360
  • 180度直播 -> 对应参数:LiveAngle.ANGLE_180
  • 可设置推流方式:app推流 -> 对应参数:CamType.APP ;机内推流 -> 对应参数:CamType.CAM不进行区分 -> 对应参数:可传空或不传参

2.6 关闭直播

  • 通过开播接口返回的房间号OpenRoomId进行直播关播,在房间号正确的情况下,关播接口几乎不会出现关播异常情况,需要注意的是开播SDK提供的接口都是同步请求网络,需要放在子线程进行调用,避免放在主线程会阻塞UI。

2.7 退出账号

  • 在退出当前账号或者切换账号时,调用一次DouyinLiveApi.quitLogin()方法来清除直播SDK本地缓存的授权状态,以便于保持本地授权状态为账号最新授权状态。