跳到主要内容

运行示例项目(Demo)

融云音视频产品提供一个 QuickDemo 示例应用项目(Github · Gitee),集中演示了融云实时音视频产品 音视频通话音视频会议低延迟直播 在 Android 端的功能,以便开发者体验产品,快速集成,实现单群聊、音视频通话、语音聊天室、娱乐直播、教学课堂、多人会议等场景需求。

QuickDemo 按场景和功能分为多个模块,提供 callapp 和 rtcapp 两个应用,对主要功能进行演示。QuickDemo 开放源代码,您可以对感兴趣的部分进行代码改造,以便进一步了解细节。

环境要求

  • 使用 Android Studio 3.0 或以上版本。如果您尚未安装,请在 官网下载 并安装。
  • Android SDK 4.4 或以上版本,即 minSdkVersion >= 19。
  • Android Build Tools 21 或以上版本。为获得更好的编译体验,建议使用最新版。
  • JDK 1.7 或以上版本。

融云开发者账户

  • 注册开发者账号。注册成功后,控制台会默认自动创建您的首个应用,默认生成开发环境下的 App Key,使用国内数据中心。

  • 获取开发环境的应用 App Key。如不使用默认应用,请参考 如何创建应用,并获取对应环境 App Key 和 App Secret

    提示

    每个应用具有两个不同的 App Key,分别对应开发环境与生产环境,两个环境之间数据隔离。在您的应用正式上线前,可切换到使用生产环境的 App Key,以便上线前进行测试和最终发布。

  • 如果仅为体验 QuickDemo 创建应用,建议选择国内数据中心。如果选择海外数据中心,则需要额外在 QuickDemo 中修改 SDK 连接的服务地址。配置方法可参见 数据中心

开通音视频服务

开发环境下的每个应用均可享有 10000 分钟免费体验时长。如果在开发环境下开通音视频服务,可直接按照以下步骤,开通音视频服务即可开始免费体验和测试。免费体验时长用完即止。

如果在生产环境下开通音视频服务,则需要先预存费用,才可开通。详情请参考 开通音视频服务

设置设备

示例应用必须部署到搭载 Android 4.4 或更高版本的 Android 设备或 Android 模拟器,鸿蒙系统也可以使用。

运行 QuickDemo

在运行 QuickDemo 前请确保已完成上述步骤。以下是检查清单:

  • 已注册融云开发者账户
  • 已准备好 App Key 和 App Secret
  • 已开通音视频服务免费体验,且已等待 30 分钟。
  1. 克隆下载示例代码。

    git clone https://github.com/rongcloud/rtc-quickdemo-android.git
  2. 在 Android Studio 中,选择 Open an Existing Project。等待导入完成。确保 Gradle 成功加载完 Maven 依赖库,此步视网络情况大约需要 2~5 分钟。

  3. 打开 DemoApplication.java 文件,填入从控制台获取的 App Key 与 App Secret:

    路径:Project 视图 <demo-app-name>/src/main/java/cn/rongcloud/demo/

    /**
    * TODO: 请替换成您自己申请的 AppKey
    */
    public static final String APP_KEY = "";

    /**
    * TODO: 请替换成您自己 AppKey 对应的 Secret
    * 这里仅用于模拟从 App Server 获取 UserID 对应的 Token, 开发者在上线应用时客户端代码不要存储该 Secret,
    * 否则有被用户反编译获取的风险,拥有 Secret 可以向融云 Server 请求高级权限操作,对应用安全造成恶劣影响。
    */
    public static final String APP_SECRET = "";
  4. 在 Android Studio 顶部选择 callapprtcapp,点击运行。

  5. 运行成功后输入用户 ID,即可进入体验。建议在真实设备上运行。

    (height=500) (height=500)

危险

本教程中直接在客户端代码中写入 APP_SECRET 的行为仅为演示目的。 APP_SECRET 可用来获取用户身份令牌(Token),以及实现人员禁言、房间踢人等高级能力。 存储在客户端代码里很容易被反编译导致泄露。 APP_SECRET 一旦泄露,攻击者就可以盗取 SDK 服务流量,或进行高权限破坏性操作。


正确的方式是将 APP_SECRET 存储在您的应用服务端,并提供面向应用客户端的接口。 更多详情请参见 音视频服务端开发文档