最近更新时间:2023.09.27 17:01:35
首次发布时间:2022.02.24 19:18:57
观播 SDK 提供看直播、发评论、参与抽奖等功能。本文介绍如何将观播 SDK 集成到您的 iOS App 中。
在工程的 Podfile
文件中添加依赖。
说明
如果您的工程尚未使用过 CocoaPods,在工程的根目录下,执行 pod init && pod install
,可以得到 Podfile
文件。
source 'https://github.com/cocoapods/Specs.git' source 'https://github.com/volcengine/volcengine-specs.git' # 您 App Target 的名字 target 'XXXX' do # 如果只集成观播 SDK pod'BDLive', '1.29.1' # 如果同时集成开播 SDK 和观播 SDK pod'BDLive', '1.29.1', :subspecs => [ 'LiveStreaming', 'Viewer', ] end
打开终端窗口,并 cd
到您的工程目录。执行 pod install
命令安装依赖。
在 Xcode 的 App Target 下,完成以下操作:
打开 info.plist
文件,添加参数 SSAppID
,并设置参数值为在 SDK 应用创建后生成的 App ID。
在 info.plist
文件中,通过以下任一方式添加权限:
info.plist
文件,并添加以下 key 和 string。您可以自定义 string 的值作为在系统弹出授权对话框时的提示信息。<!-- 相册写入权限 --> <key>NSPhotoLibraryAddUsageDescription</key> <string>App 需要获取您的相册写入权限,用于保存图片到相册</string> <!-- 相册访问权限 --> <key>NSPhotoLibraryUsageDescription</key> <string>App 需要获取您的相册访问权限,用于发送图片评论</string> <!-- 日历写入权限 --> <key>NSCalendarsUsageDescription</key> <string>用于直播预约提醒能力</string> <!-- 麦克风权限 --> <key>NSMicrophoneUsageDescription</key> <string>App 需要获取您的麦克风权限,用于连麦</string> <!-- 相机权限 --> <key>NSCameraUsageDescription</key> <string>App 需要获取您的相机权限,用于连麦</string>
(可选)如果需要 App 在后台运行时继续播放音频或者需要使用画中画功能,需要完成以下步骤:
关闭 Bitcode。
设置播放直播、预告或回放时支持的屏幕方向。
说明
[BDLLiveEngine sharedInstance].liveRoomConfiguration.playerConfig.common.enterFullScreenEnable = NO;
将直播 License 文件和点播 License 文件添加到 Xcode 的 App Target 中。勾选 Copy items if needed,并单击 Finish。
在 Xcode 的 App Target 下,打开 AppDelegate.m
文件初始化 TTSDK。
#import <TTSDKFramework/TTSDKManager.h> - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [self initTTSDK]; return YES; } - (void)initTTSDK { TTSDKConfiguration *configuration = [TTSDKConfiguration defaultConfigurationWithAppID:@"APP_ID"]; // 将 APP_ID 替换为在 SDK 应用创建后生成的 App ID configuration.appName = @"APP_NAME"; // 将 APP_NAME 替换为创建 SDK 应用时填写的 App 英文名称 configuration.channel = @"CHANNEL_NAME"; // 将 CHANNEL_NAME 替换为 App 的渠道名称,例如 App Store configuration.bundleID = @"BUNDLE_ID"; // 将 BUNDLE_ID 替换为 App 的唯一标识(Bundle Identifier) // 分别设置点播 License 和直播 License // 点播 License configuration.licenseFilePath = [[NSBundle mainBundle] pathForResource:@"VOD_LICENSE_NAME" ofType:@"lic"]; // 将 VOD_LICENSE_NAME 替换为点播 License 文件的名称 [TTSDKManager startWithConfiguration:configuration]; // 直播 License configuration.licenseFilePath = [[NSBundle mainBundle] pathForResource:@"LIVE_LICENSE_NAME" ofType:@"lic"]; // 将 LIVE_LICENSE_NAME 替换为直播 License 文件的名称 [TTSDKManager startWithConfiguration:configuration]; }
在 Xcode 的 App Target 中,打开定义如何进入直播间的文件并添加以下代码:
说明
通过调用 CreateActivityAPIV2 或 ListActivityAPI 获取直播间的活动 ID,调用 GetSDKTokenAPI 获取进入直播间所需的授权 Token。
#import <BDLive/BDLive.h> // 创建进入直播间所需的 Activity BDLActivity *activity = [[BDLActivity alloc] init]; activity.activityId = @(ACTIVITY_ID); // 将 ACTIVITY_ID 替换为直播间的活动 ID activity.token = @"TOKEN"; // 将 TOKEN 替换为进入该直播间所需的授权 Token activity.authMode = BDLActivityAuthModePublic; // 公开模式,由观众输入昵称 activity.nickName = @"NICKNAME"; // 将 NICKNAME 替换为观众昵称。在公开模式下且该参数值非空时,会以该参数值作为观众的昵称 activity.isPortrait = YES; // 进入直播间 [[BDLLiveEngine sharedInstance] joinLiveRoomWithActivity:activity];
确保您创建 SDK 应用时填写的 Bundle ID(项目包名)以及应用创建后生成的 App ID 分别与初始化 TTSDK 时传入的 Bundle ID 和 App ID 相同,同时保证您初始化 TTSDK 时传入的 Bundle ID 和工程配置的 BundleID 一致,否则会出现鉴权失败的问题。