GO课堂(旧版)
  • 概述
  • 跑通示例源码
  • SDK 集成指引
  • 小班课实现流程
  • 大班课实现流程
  • GO课堂后台服务
  • 常见错误码
  • 文档中心
  • GO课堂(旧版)
  • 跑通示例源码
客户端+服务端
示例源码
GitHub 下载
说明

本示例源码包含了GO课堂客户端和GO课堂服务端示例源码。下文介绍如何运行示例源码,推荐客户端与服务端配合使用,指引分为两部分:

  1. GO课堂客户端示例源码运行指引
  2. GO课堂服务端(Golang)示例源码运行指引
  • 该源码仅供开发者接入时参考,ZEGO 不负责源码的后续维护。若开发者计划将该源码用于生产环境,请确保发布前进行充分测试,避免发生潜在问题造成损失。
  • 该源码中提供的业务后台地址仅用于跑通示例源码,如果您需要上线正式产品,请自行编写、搭建自己的业务后台。
  • 开发者的 AppID 在使用 GoEnjoy 和 GoClass 中的任一功能时,有效期均为 30 天。如需继续使用相关服务,请自行搭建您的业务后台,或更换 AppID 使用。
  • 更多相关源码,请参考 CodeStore

1 GO课堂客户端示例源码运行指引

1.1 准备环境

请确保开发环境满足以下技术要求(以下说明皆以 MacOS 开发电脑为例):

  • Android Studio 3.0 或以上版本。
  • 已经下载 Android SDK 28 和 Android SDK Platform-Tools 28。
  • Android 版本不低于 7.0 且支持音视频的 Android 设备(仅支持真机),并开启”允许调试”选项。
  • Android 设备已经连接到 Internet。

1.2 前提条件

请到 ZEGO 控制台 注册账号并申请初始化 SDK 时需要的 AppID 与 Server,申请流程请参考 项目管理

1.3 运行示例源码

  1. 在开发电脑中找到 Android Studio 软件图标。

image-20201203142600097

  1. 打开 Android Studio 软件,并单击 Open an existing project

image-20201127105738483

  1. 选择在本文档开头位置已下载好的示例源码并打开,此处截图以 GO课堂 为例。

WeChatefd1ad0b57ec0940e7ae8ccee1f7d58c

  1. 下载的示例源码中缺少相关 SDK 包,需通过以下链接下载,解压后将相关文件放入项目的 app/libs 目录下。

WeChatfc5011882bbd7f6b390294f41403c13e

  1. 下载的示例源码中缺少 SDK 初始化所需的 APP_ID 和 APP_SIGN,需要修改 AuthConstants.java 文件。请使用本文“前提条件”已获取的 AppID 和 AppSign 正确填写(需要在 AppID 后加 L),否则示例源码无法正常运行。

image-20201127111332837

同时需要将本地部署的 GO课堂服务端的 host 地址配置在 BackendApiConstants.java 的对应字段中。

服务端的 host 地址必须是包含 http 或 https 前缀的完整地址。

WeChatdc13759cee0613e755dbc9d9490b9e23

然后可在 ZegoSDKManager.java 中配置测试环境等开关。

WeChat168abb615bad53103068c056e4a28fe4

  1. 选择一台已连接到 Internet 的 Android 真机设备,当该设备成功开启开发者模式和 USB 调试功能后,可以看到 Android Studio 由下图:

image-20201203143252240

变为下图:

image-20201203143316386

说明 Android Studio 软件已成功连接到 Android 设备,可以将示例源码运行到该设备上了。

  1. 单击 Android Studio 软件上的 build and run 按钮,编译并运行示例源码。若运行过程中出现问题,请联系即构技术支持工程师。

image-20201203143341385

2 GO课堂服务端(Golang)示例源码运行指引

2.1 环境准备

  • 已安装 Golang 1.11 或以上版本(推荐使用 1.13 或以上版本)。
  1. 执行 go env -w GO111MODULE=on 开启 Golang module。
  2. 执行 go env -w GOPROXY=https://goproxy.cn 设置 Golang 代理。
  • 已安装 Redis 2.6 或以上版本。安装方案可参考 Redis 安装

2.2 前提条件

请到 ZEGO 控制台 注册账号并申请 AppID 与 ServerSecret,申请流程参考 项目管理

2.3 运行示例源码

  1. 下载 Go课堂源码。
git clone https://github.com/zegoim/go-class.git

示例源码中包含了GO课堂客户端源码和服务端源码。若开发者已经运行了GO课堂客户端源码,此处无需重复下载。

  1. 进入配置目录 src/go_class_server/go_class_room/conf/
cd src/go_class_server/go_class_room/conf/
  1. 修改 app.conf 文件中相关配置项。

大班课、小班课教室间内的 同时在线人数上限 取值不同,默认值请参考下文代码。如果开发者需要修改上限值,请 同时修改 以下两个位置:

  • 服务端 maxPeopleNum 取值,请参考下文代码。
  • 调用 loginRoom 接口时,传入的 ZegoRoomConfig 中的 maxMemberCount 属性,即该房间的最大用户数量。
RedisAddr = "192.168.100.62:6379" # redis host
RedisPassword = ""                            # redis password
RedisIndex = 8                            # redis数据库

[SmallClass] # 小班课appid相关配置 如果不需要小班课场景,可以不用关心相关配置
AppId = 123456789
AppSecret = "eb2280544902dc1b7ab1fde3985bd083" # 从 zego 控制台获取的 ServerSecret
...
MaxPeopleNum = 10  # 小班课教室间同时在线人数上限
MaxJoinLiveNum = 4 # 小班课教室间同时连麦人数上限

[LargeClass] # 大班课appid相关配置 如果不需要大班课场景,可以不用关心相关配置
AppId = 987654321
AppSecret = "13nce767a02dc1b7bd083ab1fde3985" # 从 zego 控制台获取的 ServerSecret
...
MaxPeopleNum = 50  # 大班课教室间同时在线人数上限
MaxJoinLiveNum = 1 # 大班课教室间同时连麦人数上限
  1. 进入 go_class_room 目录并启动服务。
cd ../go_class_room
go run main.go

常见问题

Android 示例源码运行时,如果报错 “Unrecognized option: --add-opens=java.base/java.io=ALL-UNNAMED”,该如何处理?

/Pics/GoEnjoy/AS_ALL_UNNAMED.png

有两种解决方案:

  • 升级 Android Studio 至最新版本,重新运行即可。

  • 找到项目的 gradle.properties 文件,删除 --add-opens=java.base/java.io=ALL-UNNAMED 并保存,重新运行即可。

    /Pics/GoEnjoy/AS_ALL_UNNAMED_delete.png

相关文档

从 GitHub 下载 Go 课堂源码后直接运行为什么会报错?

本篇目录