https://d226lax1qjow5r.cloudfront.net/blog/blogposts/introducing-the-vonage-client-sdk-v-app-demo-projects/v-app-demo.png

Vonage Client SDK Vアプリデモプロジェクトの紹介

最終更新日 August 25, 2022

所要時間:1 分

VonageクライアントSDK ボンテージ・クライアントSDKAndroid、iOS、およびWeb用の Conversation APIと組み合わせることでを使用することで、アプリケーションに音声およびメッセージング機能を組み込むことができます。SDKとConversation APIのマルチプラットフォーム機能を紹介するために、V-Appを開発しました!V-Appは3つのプラットフォーム全てに対応するエンドツーエンドのアプリケーションですが、それだけにとどまりません!アプリケーションをサポートするために、Node.JSを使ってバックエンドも構築しました。このブログでは、様々なコンポーネントがどのように構築されているかを簡単に紹介します。 GitHubのコードをご覧ください。.

Vアプリのバックエンド

前述したように、バックエンド・クライアントはNode.JSを使って構築されており、一度実行すると、ユーザーが会話に追加されたり、メッセージが送信されたりしたときに生成されるVonageからのRTCウェブフック・イベントを処理する。バックエンドクライアントはPostgresデータベースを使用してウェブフックからのイベントを保存し、Conversation APIに頻繁に問い合わせる必要がないようにしている。V-Appは通話もサポートしているので、バックエンドクライアントにはNCCOを返す音声応答ルートもあります:

webhookRoutes.get('/voice/answer', async (req, res) => {
  var ncco = [{"action": "talk", "text": "No destination user - hanging up"}];
  var username = req.query.to;
  if (username) {
    ncco = [
      {
        "action": "talk",
        "text": "Connecting you to " + username
      },
      {
        "action": "connect",
        "endpoint": [
          {
            "type": "app",
            "user": username
          }
        ]
      }
    ]
  }
  res.json(ncco);
});

データベースが接続されているおかげで、バックエンドクライアントはユーザーアカウントもサポートしています!一度ユーザーがサインアップすると、その後のログインでも、バックエンドはクライアントSDKで認証するために使用できるJWTをレスポンスで返します:

{
  "user": {
    "id": "USR-44326d04-cd82-41f5-ad24-315c2a2eac41",
    "name": "Alice",
    "display_name": "alice"
  },
  "token": "ey...dg",
  "users": [{ ... },
  "conversations": [{ ... }]
}

その GitHub リポジトリには .env-sampleファイルがあり、dockerでのデプロイもサポートしている。しかし、バックエンドをシームレスにデプロイする方法については、この先を読んでください。

Vアプリのクライアント

V-Appアプリケーションは、各プラットフォームのVonage Client SDKを使用して、Android、iOS、およびWeb上のネイティブアプリケーションとして利用できます。AndroidアプリはKotlin、iOSアプリはSwiftとUIKit、WebアプリはJavascriptと Vonage Client SDK Web Componentsを使用して構築されています。.

前述したように、アプリケーションはユーザーアカウントをサポートしている:

Login screen for the web client

ログインすると、2人以上の登録ユーザー間で会話を始めることができます:

Web and iOS client messaging

チャットは画像の送信もサポートしている:

Android client sending an image

テキストチャットだけでは物足りないなら、V-Appは通話もサポートしている:

Web and iOS client calling

クライアントのセットアップ手順は GitHub.Vアプリをより簡単に試せるように、もうひとつ作った!

Vonage CLI Scaffold プラグイン

3つのクライアントとバックエンドをシームレスにダウンロード、セットアップ、実行するには、次のようにインストールします。 scaffoldプラグインをインストールしてください:

vonage plugins:install @vonage/cli-plugin-scaffold

インストールが完了したら、ダウンロードしたいクライアントを指定して、以下のコマンドを使用してV-Appをブートストラップすることができます:

vonage scaffold:vapp --platforms=web,ios,android --backend=docker

helpコマンドを実行すれば、さまざまなオプションを確認できる:

vonage scaffold:vapp --help

Vonage CLIはすでにVonageで認証されているので、プラグインは新しいVonageアプリケーションを作成し、Vアプリで使用できるようにWebhookを設定することができます。クライアントもダウンロードされ、依存関係がインストールされます:

CLI plugin downloading the clients

プラグインはまた、dockerを使ってバックエンドクライアントをローカルにデプロイし、デプロイのURLでクライアントを設定する:

CLI plugin deploying with docker

Vアプリを試したら、VonageコミュニティのSlackで会話に参加しましょう。 コミュニティSlackまたは ツイッター.

シェア:

https://a.storyblok.com/f/270183/400x400/19c02db2d3/abdul-ajetunmobi.png
Abdul AjetunmobiVonage 元チームメンバー

アブドゥルはVonageのデベロッパー・アドボケイト。iOSエンジニアとして消費者向け製品に携わった経歴を持つ。余暇には、サイクリング、音楽鑑賞、技術者としての道を歩み始めたばかりの人々の指導を楽しんでいる。