快速入门

最近更新时间:2022-09-20 05:17:40

本文介绍如何使用 anyRTC 互动白板 SDK。

开发环境要求

  • Android SDK API Level ≥ 19
  • 如果你的 App 以 Android 9 及以上为目标平台,请关注 Android 隐私权变更
  • Android Studio 3.0 或以上版本。
  • 一个有效的 开发者账号

运行环境要求

你需要有一台 Android 真机。

获取 AppID

参考以下步骤获取一个 AppID。若已经拥有 AppID,请跳过当前步骤,直接查看快速集成

  • 1. 创建项目

    首先我们需要在开发者控制台创建一个「项目」。

  • 2. 获取 APP ID

    获取项目的「APP ID」

集成 SDK

选择如下任意一种方式将 SDK 集成到你的项目中。

方法一:使用 MavenCenter() 自动集成

在项目的 /app/build.gradle 文件中,添加如下行:

...
dependencies {
    ...
    // a.b.c.d 请填写具体版本号,如:1.0.0.1
    // 可通过 SDK 发版说明取得最新版本号
    implementation 'io.anyrtc:ARBoard:a.b.c.d'
}

请点击查看发版说明获取最新版本号。

方法二:手动复制 SDK 文件

  1. SDK 下载页面,获取最新版的SDK,然后解压。
  2. 将 SDK 包内 SDK 路径下的如下文件,拷贝到你的项目路径下:
文件或文件夹项目路径
ARBoard-release 文件/app/libs/
  1. 在Mould目录下的build.gradle文件增加如下代码
implementation fileTree(dir: 'libs', include: ['*.aar'])

添加项目权限

根据场景需要,在 /app/src/main/AndroidManifest.xml 文件中添加如下行,获取相应的设备权限:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="for.example>"
   <uses-permission android:name="android.permission.INTERNET" />
...
</manifest>

防止代码混淆

app/proguard-rules.pro 文件中添加如下行,防止混淆 SDK 的代码:

-keep class io.anyrtc.arboard.**{*;}

操作流程

本节内容主要介绍如何加入白板房间,提供相关示例代码。

初始化客户端

  1. 将获取到的 App ID 添加到 values/strings_config.xml 文件中的 whiteboard_app_id 一栏
  2. 调用构造方法, 传入:
    1. Context
    2. 获取到的 App ID
    3. ARBoardHandler

即可完成初始化

Tips: 使用相同 App ID 的应用才能互相通信

加入频道

完成初始化后,你就可以调用 joinChannelByToken 方法加入频道。你需要在该方法中传入如下参数:

  • token:传入能标识用户角色和权限的 Token。可设为如下一个值:
    • 临时 Token。临时 Token 服务有效期为 15小时、24 小时、3天、15天不等。你可以在控制台里生成一个临时 Token
  • channelId: 频道 ID
    • 传入纯数字
  • uid: 数字与字母组合的字符串
    • 可随机生成临时值、更具用户帐号生成等方式
  • joinChannelSuccessResponse: 加入频道回调
    • 返回Boolean值: 成功=true, 失败=false
    private void joinChannel(String token, String channelId, String uid, ARBoardKit.OnValueResponse<Boolean> joinSuccessResponse) {
        boardKit.joinChannelByToken(token, channelId, uid, joinSuccessResponse);
    }

获取白板基础数据

在加入频道后,需等待onHistoryDataSyncCompleted()回调执行后获取

    // 加入频道成功
    @Override
    public void onJoinChannel(String channelId, String uid) {
    }

    // 白板初始化完成
    @Override
    public void onHistoryDataSyncCompleted() {
        // 此方法回调后可获取白板属性,如:getBackgroundColor();
    }

离开频道

根据场景需要,如离开房间、关闭 App 或 App 切换至后台时,调用 leaveChannel 离开当前白板频道。

    boardKit.leaveChannel()

开发注意事项

  • 请注意安卓6.0后的权限获取