概要

このガイドでは、AndroidアプリにClient SDKを追加する方法を学びます。

前提条件

Client SDKには、最低23のAndroid APIレベルが必要です。

Client SDKをプロジェクトに追加するには

Androidプロジェクトを開く

IDEでAndroidプロジェクトのコードベースを開く。

依存関係の追加

Android上のVonage Client SDKは、3つの別々のSDKとして配布されています。 com.vonage.client-sdk-voice In-App Voice機能用、 com.vonage.client-sdk-chat として結合された。 com.vonage.client-sdk. com.vonage.client-sdk-chat にはWebRTCの依存関係が含まれていないため、より小さなライブラリーになります。アプリケーションでは、一度に1つのSDKのみを使用する必要があります。

  • In-App VoiceおよびIn-App Messaging - インストール com.vonage.client-sdk だけである。

  • In-App Voice - インストール com.vonage.client-sdk-voice だけである。

  • アプリ内メッセージング - インストール com.vonage.client-sdk-chat だけである。

製品廃止のお知らせ
2026年4月30日をもって、Vonage In-App Messagingはご利用いただけなくなります。新規ユーザーのアクセスは終了し、すべての既存ユーザーに対するサービスは終了します。
この製品の販売中止に関するご質問は、担当のアカウントマネージャーまたはサポートチームまでお問い合わせください。

注: Gradle ビルドスクリプトを定義するために使用される言語は 2 つあります - Groovy (build.gradle ファイル)とKotlin Gradleスクリプト(build.gradle.kts ファイル)。Kotlin-Androidプロジェクトでは、ビルドスクリプトの言語としてGroovyを使用することができます。ビルドスクリプトファイルの言語を決定するには、ファイルの拡張子を確認してください。

Client SDKをプロジェクトに追加します。アプリ・レベルに以下の依存関係を追加します。 build.gradle ファイル(通常は app/build.gradle):

dependencies {
    implementation 'com.vonage:client-sdk:1.6.0'
}

を編集して、JVMのメモリー割り当てを増やす必要があるかもしれない。 org.gradle.jvmargs プロパティに gradle.properties ファイルに設定してください。少なくとも4GBに設定することをお勧めします:

org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8

Java 1.8を設定

アプリのレベルでJava 1.8を設定する build.gradle または build.gradle.kts ファイル(通常は app/build.gradle または app/build.gradle.kts):

android {
   
   // ...

   compileOptions {
       sourceCompatibility JavaVersion.VERSION_1_8
       targetCompatibility JavaVersion.VERSION_1_8
   }

   // Only for Kotlin projects
   kotlinOptions {
       jvmTarget = JavaVersion.VERSION_1_8.toString()
   }
}

パーミッションの追加

In-App Voice機能を使用するには、以下の手順で音声権限を追加します:

  1. 必要なパーミッションを AndroidManifest.xml ファイル:
<manifest ...>
	<uses-permission android:name="android.permission.INTERNET" />
	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
	<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
	<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
	<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
	<uses-permission android:name="android.permission.RECORD_AUDIO" />
	<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
</manifest>

ランタイム権限

  • Androidバージョン6.0 Marshmallow(APIレベル23)以上を搭載しているデバイスの場合は、以下のリクエストを行ってください。 RECORD_AUDIO パーミッションを実行時に与える:
// this is the current activity
val callsPermissions = arrayOf(Manifest.permission.RECORD_AUDIO)
ActivityCompat.requestPermissions(this, callsPermissions, 123)
  • Androidバージョン12(APIレベル31)以降を実行しているデバイスの場合は、次のリクエストも必要です。 READ_PHONE_STATE パーミッションを実行時に与える:
// this is the current activity
val callsPermissions = arrayOf(Manifest.permission.RECORD_AUDIO, Manifest.permission.READ_PHONE_STATE)
ActivityCompat.requestPermissions(this, callsPermissions, 123)

アンドロイドのランタイムパーミッションのリクエストについてもっと読む これ.

プロガード規定

オプションとして、ProGuard を使用している場合、Vonage Client SDK をスキップするようにツールを設定する必要があります。Vonage Client SDK を縮小したり難読化したりすることは推奨されませんし、他のライブラリとの競合を引き起こす可能性があります。推奨されるProGuardの設定は以下の通りです:

-keep class org.webrtc.**  { *; }
-keep class org.vonage.**  { *; }
-keep class com.vonage.**  { *; } 

上記の設定により、Vonage Client SDKのソースコードはそのままに、アプリの残りの部分を縮小することができます。コンパイラーはデフォルトで一連の最適化を自動的に実行しますが、実行時の問題を回避するために追加のProGuardルールを含める必要があるかもしれませんが、追加の最適化を有効にすることが可能です。そのためには、プロジェクトの gradle プロパティファイルに以下を追加します:

android.enableR8.fullMode=true

Androidアプリのオプトマイズの詳細については、以下の公式サイトを参照してください。 Androidドキュメント.

アプリで Client SDK を使用する

Client SDK をインストールし、オーディオ権限を要求したら、使用を開始できます。

セッションの作成

セッションはClient SDKとVonageサーバー間のライブ通信ストリームです。を作成します。 VoiceClient オブジェクトでセッションを作成します。 JWT トークン

var client = VoiceClient(this.application.applicationContext)

client.createSession("JWT_TOKEN") { error, sessionId ->
    ...     
}

セッションの作成に成功すると、セッションIDが発行されます。

セッション状況

セッションが正常に作成された後にエラーが発生した場合は、そのエラーが SessionErrorListener にある。 VoiceClient オブジェクトがある。

client.setSessionErrorListener { reason ->
    //Reason for error
}

結論

Android アプリに Client SDK を追加し、セッションを作成しました。これで VoiceClient クライアントをアプリに追加し、Client SDKの機能を使用します。

参照

  • データセンターの構成 - これは、アプリケーションにSDKを追加した後に実行できる高度なオプション設定です。