You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter应用集成Zoom SDK遇版本过低问题,求升级及原生集成方案

Flutter集成Zoom会议:解决SDK版本过低问题及原生集成指南

一、升级flutter_zoom_sdk中的Zoom SDK版本

方法1:直接升级pub包

先在pubspec.yaml里确认flutter_zoom_sdk的最新版本,直接更新版本号后执行flutter pub get。如果官方包已经同步了Zoom的最新SDK,这一步就能解决版本过低的报错。

方法2:fork包修改原生依赖

如果官方pub包未跟进Zoom SDK的更新,需要自行fork仓库修改原生配置:

  • Android端:打开android/build.gradle,修改zoomSdkVersion为Zoom官方最新版本(比如5.17.0.642),同步gradle。
  • iOS端:打开ios/Podfile,修改pod 'ZoomVideoSDK'的版本号为最新,执行pod install。
  • 将修改后的仓库作为依赖引入项目,示例:
    flutter_zoom_sdk:
      git:
        url: https://github.com/your-fork/flutter_zoom_sdk.git
    

二、Android原生集成Zoom Meeting SDK步骤

1. 前置准备

注册Zoom开发者账号,创建应用后获取SDK_KEY和SDK_SECRET。

2. 项目配置

  • 根目录build.gradle添加Zoom Maven仓库:
    allprojects {
        repositories {
            maven { url "https://maven.zoom.us" }
        }
    }
    
  • app模块build.gradle添加SDK依赖:
    dependencies {
        implementation 'us.zoom:zoom-sdk-android:5.17.0.642' // 替换为最新版本
    }
    
  • AndroidManifest.xml添加必要权限:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    

3. 初始化SDK

在Application类或初始化页面执行初始化:

val zoomSDK = ZoomSDK.getInstance()
val initParams = ZoomSDKInitParams().apply {
    appKey = "YOUR_SDK_KEY"
    appSecret = "YOUR_SDK_SECRET"
    domain = "zoom.us"
    enableLog = true
}
zoomSDK.initialize(context, object : ZoomSDKInitializeListener {
    override fun onZoomSDKInitializeResult(errorCode: Int, internalErrorCode: Int) {
        if (errorCode == ZoomError.ZOOM_ERROR_SUCCESS) {
            // SDK初始化完成,可执行后续操作
        }
    }

    override fun onZoomAuthIdentityExpired() {
        // 身份过期,需重新认证
    }
}, initParams)

4. 实现一键参会

按钮点击事件中调用参会方法:

val meetingService = ZoomSDK.getInstance().meetingService
val joinParams = JoinMeetingParams().apply {
    meetingNo = "MEETING_ID"
    userName = "YOUR_DISPLAY_NAME"
    password = "MEETING_PASSWORD" // 会议有密码时填写
}
val joinOptions = JoinMeetingOptions()
val result = meetingService.joinMeeting(context, joinParams, joinOptions)
if (result == ErrorCode.ZOOM_ERROR_SUCCESS) {
    // 成功进入会议
}

5. 会议结束后恢复流程

注册会议状态监听,在会议结束时回到原应用流程:

meetingService.addListener(object : MeetingServiceListener {
    override fun onMeetingStatusChanged(meetingStatus: MeetingStatus, errorCode: Int) {
        if (meetingStatus == MeetingStatus.MEETING_STATUS_ENDED) {
            runOnUiThread {
                // 关闭会议页面,回到主流程
            }
        }
    }
})

三、iOS原生集成Zoom Meeting SDK步骤

1. 前置准备

同样注册Zoom开发者账号,获取SDK_KEY和SDK_SECRET。

2. 项目配置

  • Podfile添加SDK依赖:
    pod 'ZoomVideoSDK', '~> 5.17.0' // 替换为最新版本
    
  • 执行pod install。
  • Info.plist添加权限描述:
    <key>NSCameraUsageDescription</key>
    <string>需要使用摄像头参与会议</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>需要使用麦克风参与会议</string>
    

3. 初始化SDK

在AppDelegate中完成初始化:

import ZoomVideoSDK

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    let initParams = ZoomVideoSDKInitParams()
    initParams.domain = "zoom.us"
    initParams.enableLog = true
    ZoomVideoSDK.shared().initialize(
        with: initParams,
        appKey: "YOUR_SDK_KEY",
        appSecret: "YOUR_SDK_SECRET",
        completion: { success, error in
            if success {
                // SDK初始化完成
            }
        }
    )
    return true
}

4. 实现一键参会

按钮点击事件中调用参会方法:

let joinParams = ZoomVideoSDKJoinMeetingParams()
joinParams.meetingNumber = "MEETING_ID"
joinParams.userName = "YOUR_DISPLAY_NAME"
joinParams.password = "MEETING_PASSWORD"

ZoomVideoSDK.shared().joinMeeting(
    with: joinParams,
    delegate: self
)

5. 会议结束后恢复流程

实现ZoomVideoSDKDelegate协议监听会议状态:

extension YourViewController: ZoomVideoSDKDelegate {
    func onMeetingStatusChanged(_ status: ZoomVideoSDKMeetingStatus) {
        if status == .ended {
            DispatchQueue.main.async {
                // Dismiss会议页面,回到原流程
            }
        }
    }
}

内容的提问来源于stack exchange,提问作者Sidharth Gopalakrishnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 08:53:08