实时互动-教育版 iOS 快速接入

这篇档详细介绍了如何在 iOS 项目中快速接入腾讯云互动课堂 SDK,包括开发环境要求、集成步骤和具体配置方法。文档提供了从安装依赖到进入课堂页面的完整流程,并强调了权限配置和真机调试的重要性。开发环境要求:IDE 需要 Xcode 14 及以上版本,系统要求 iOS 11.0 及以上。集成步骤:1. 安装依赖:在项目的 Podfile 中添加 SDK 依赖,并确保使用真机进行调试。2. 权限配置:在 Info.pl。

相关产品
实时互动-教育版 产品页,含版本规格、价格与购买入口。

这篇档将指导你如何在 iOS 项目中快速接入腾讯云互动课堂 SDK。

注意:说明:

注意:阅读这篇前,你可以先了解 移动端原生内核与 Web 内核的区别。

一、开发环境要求

·IDE:Xcode 14 及以上版本

·系统要求:iOS 11.0 及以上

二、集成步骤

按照以下步骤,你可以快速在 iOS 项目中集成并跑通互动课堂。完整示例代码可参考 Demo。

三、步骤一:安装依赖

在项目的 Podfile 中添加 SDK 依赖:

# framework 使用静态集成use_frameworks! :linkage => :staticpod 'tcic_ios', :podspec => 'https://ios.qcloudclass.com/${latest}/tcic_ios.podspec'

注意:说明:

注意:

四、步骤二:权限配置

教学场景通常需要使用音视频互动和屏幕共享功能。请在项目的 Info.plist 文件中添加以下权限描述:

<!– 相册权限 –><key>NSPhotoLibraryUsageDescription</key><string>Video calls require photo library permission.</string><!– 相机权限 –><key>NSCameraUsageDescription</key><string>Video calls require camera permission.</string><!– 麦克风权限 –><key>NSMicrophoneUsageDescription</key><string>Voice calls require microphone permission.</string><!– 网络配置 –><key>NSAppTransportSecurity</key><dict> <key>NSAllowsArbitraryLoads</key> <true/></dict><!– 后台模式 –><key>UIBackgroundModes</key><array> <string>fetch</string> <string>processing</string></array><!– 屏幕录制扩展 –><key>com.apple.security.application-groups</key><array> <string>group.com.tencent.comm.tcic.sharescreen</string></array>

五、步骤三:初始化 SDK

在应用启动或首次进入相关页面时,需要初始化 TCIC SDK。

import SwiftUIimport tcic_ios@mainstruct tcic_ios_simple_demoApp: App { init() { // 初始化 SDK TCICManager.shared.initialize() }  var body: some Scene { WindowGroup { ContentView() } }}

六、步骤四:设置回调事件

通过设置回调,你可以监听课堂内的各类事件(如进退房、消息等)。全局只需设置一次。

@State private var callback: TCICCallback = TCICCallback() // 初始化回调事件self.callback.afterExitedClassBlock = { print("dismiss page")}self.callback.onJoinedClassFailedBlock = { print("joined class failed")}// 注册回调TCICManager.shared.setCallback(callback)

七、步骤五:配置课堂参数

通过 接入准备 拿到关键参数。在进入课堂前,需构建 TCICConfig 对象并传入必要参数。

let headerConfig = TCICHeaderComponentConfig()let messageConfig = TCICMessageComponentConfig()// 示例:配置自定义头部左侧视图// headerConfig.headerLeftBuilder = headerLeftBuilderlet config = TCICConfig( token: "YOUR_TOKEN", // 通过云 API 获取的 token classId: "YOUR_CLASS_ID", // 课堂 ID userId: "YOUR_USER_ID", // 用户 ID role: 1, // 用户角色 (0: 学生, 1: 老师, 3: 助教, 4: 巡课) headerComponentConfig: headerConfig, // Header 组件配置 messageComponentConfig: messageConfig // Message 组件配置 // … 其他自定义配置)TCICManager.shared.setConfig(config)

八、步骤六:进入课堂页面

在合适的时机(如按钮点击事件中)拉起课堂页面。以下为 SwiftUI 示例:

Button(action: { let headerLeftBuilder: TCICHeaderComponentConfig.HeaderBuilder = { return MyHeaderLeftView(messenger: TCICManager.shared.Tengine.binaryMessenger) } let headerConfig = TCICHeaderComponentConfig() let messageConfig = TCICMessageComponentConfig() headerConfig.headerLeftBuilder = headerLeftBuilder headerConfig.headerLeftBuilderWidth = 200 headerConfig.headerLeftBuilderHeight = 40 let config = TCICConfig( token: "YOUR_TOKEN", classId: "YOUR_CLASS_ID", userId: "YOUR_USER_ID", role: 1, headerComponentConfig: headerConfig, messageComponentConfig: messageConfig ) TCICManager.shared.setConfig(config) isActive = true}) { Text("打开互动课堂") .frame(maxWidth: .infinity) .padding() .background(Color.blue) .foregroundColor(.white) .cornerRadius(8)}.padding(.horizontal).fullScreenCover(isPresented: $isActive, onDismiss: { TCICManager.shared.Tengine.viewController = nil}) { TCICManager.TPage() .edgesIgnoringSafeArea(.all)}

赞 (0)
上一篇 4天前
下一篇 4天前