やってみようZoomSDKチュートリアル(Android)

ZoomのSDKを使うことで日々のテレビ会議に何かしらの付加価値を見出せるか検証すべく、初めの一歩としてZoomSDKのチュートリアルをやってみました。

## SDKアプリを作成する
以下のURLからマーケットプレイスにアクセスし、ログインします。
アカウントが必要となりますので、未作成の方はサインアップを実施する必要があります。
https://marketplace.zoom.us/

ログインすると画面右上の「発展させる」を選択し、「アプリをビルドする」をクリック。
![スクリーンショット 2021-03-23 21.06.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1153679/766b48a0-6f61-9c88-1749-1aab5a1697a9.png)

アプリの種類一覧から「SDK」を選択。
![スクリーンショット 2021-03-24 13.04.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1153679/4908172b-51fc-ec6e-001c-45ea059665d0.png)

アプリ作成ダイアログが表示されますので任意のアプリ名を入力して「作成する」ボタンをクリック。
<img width="400" alt="ダイアログ" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1153679/c915d323-51bb-a5a2-4e56-faacf4d71d2f.png">

次にアプリに必要な情報を入力。入力終わったら「継続する」をクリック。
![スクリーンショット 2021-03-24 13.19.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1153679/e80715a5-c5ab-0e4b-a16e-afd0397e872c.png)

実装対象のSDKパッケージをダウンロードします。
ちなみに、
[電子]→Electron
[イオン]→ionic
に対応します。Chrome自動翻訳オシイ、、、

![スクリーンショット 2021-03-24 17.00.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1153679/2f1c4575-1b66-3983-2609-be41d54c5f66.png)
今回はAndroidのパッケージをダウンロードし、「継続する」をクリック。
Zip形式のファイルがダウンロードされます。

アプリの資格情報が発行されているのでメモ帳などにコピーしておきます。
![スクリーンショット 2021-03-24 17.10.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1153679/2b5ed7dd-0ced-8e10-3747-1081355c25a4.png)

## SDKサンプルを実行する
以下にアクセスするとSDKの概要が確認できます。
https://marketplace.zoom.us/docs/sdk/native-sdks/introduction

AndroidStudioを起動して、先ほどダウンロードしたSDKパッケージ(zip解凍後)の「mobilertc-android-studio」フォルダを開きます。
プロジェクトのロードに成功すると以下2つサンプルが表示されます。
<img width="300" alt="プロジェクト" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1153679/29c29355-6e00-25f1-1697-6ad901d61ad1.png"/>

- sample：ログインユーザーと非ログインユーザーの両方の基本機能をすべて備えたAndroidアプリ。
- example2：ログイン資格情報なしで会議に参加する方法を示すAndroidアプリ。

チュートリアルに沿ってsampleを動かしていきます。

1../sample/java/us.zoom.sdkexample/initsdk/AuthConstants.javaを開きます。

2.SDK_JWTTOKENプロパティにJWT値を入力します。
チュートリアルはJWT(JSON Web Token)を使って認証、と指示されています。
[JWTとは(JWT.io)](https://jwt.io/)

動作検証してみて分かったのですが、
先ほど作成したSDKアプリのSDKキーとSDKシークレットを指定すれば良さそうです。

AuthConstants.javaを開き、以下のSDKキーとSDKシークレットの変数を追加します。

```AuthConstants.java
public final static String SDK_KEY = "SDKアプリの資格情報記載のSDKキー";
public final static String SDK_SECRET = "SDKアプリの資格情報記載のSDKシークレット";
```

（チュートリアルに抜けてる手順）3../sample/java/us.zoom.sdkexample/initsdk/InitAuthSDKHelper.javaを開き、initSDKメソッドの認証パラメーターをJWTからSDKキーとSDKシークレットに変更します。

```InitAuthSDKHelper.java
ZoomSDKInitParams initParams = new ZoomSDKInitParams();
//initParams.jwtToken = SDK_JWTTOKEN; //コメントアウトする
initParams.appKey = SDK_KEY; //追加
initParams.appSecret = SDK_SECRET; //追加
```

4../sample/java/us.zoom.sdkexample/startjoinmeeting/joinmeetingonly/JoinMeetingHelper.javaを開き、「DISPLAY_NAME」という名前の定数を見つけて、表示名を入力します。

```JoinMeetingHelper.java
private final static String DISPLAY_NAME = "HOGE TATO";
```

5.Androidエミュレータを起動します。正常に起動されると以下のUIが表示されます。
<img width="300" alt="ダイアログ" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1153679/be84457c-1e28-2790-4759-4f1f0e8805e4.png">

ここまでで準備作業は完了。

## SDKサンプルを動かしてみる
MacやWindowsのZoomアプリを使って会議を開始し、ミーティングIDとパスコードを取得しておきます。
<img width="500" alt="ダイアログ" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1153679/31bb5339-b587-7461-bb6d-7f81b823996a.png">

アプリの"Input Meeting number"にミーティングIDを入力し、"Input user name"にユーザー表示名を入力します。
その後、"Join Meeting"ボタンをクリックすると会議へ参加することができます。
![PXL_20210330_043916180.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1153679/d54e5aaf-3e81-7208-bab1-eb953ff31182.jpeg)

ひとまずSDKサンプルを起動するところまでできました。
次はカスタムUIを動かしてみようと思います。