抖音开放平台Logo
开发者文档
控制台
  • 能力概览
  • 抖音开放能力SDK
  • 互动管理
  • 数据开放服务
  • 抖音 SDK 能力
  • 抖音 SDK 解决方案
  • 抖音 SDK 接入流程
  • 抖音 SDK 接入指南
  • 抖音SDK -直播接入说明
  • 抖音SDK -开播接入说明
  • 抖音SDK|乘音计划
  • 抖音SDK|一键开播激励
  • 生活服务开放能力
  • 抖音SDK -开播接入说明

    收藏
    我的收藏

    一、前言

    • 目前抖音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本地缓存的授权状态,以便于保持本地授权状态为账号最新授权状态。
    该文档是否有帮助?