TelecomManager との統合
このドキュメントでは、TelecomManager を Android アプリケーションと統合する方法について説明します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- デプロイ済みの Communication Services リソース。 Communication Services リソースを作成します。
- 通話クライアントを有効にするためのユーザー アクセス トークン。 詳細については、アクセス トークンの作成と管理に関する記事を参照してください。
- 省略可能: クイックスタートを完了して、アプリケーションに音声通話を追加します
TelecomManager の統合
重要
Azure Communication Services のこの機能は、現在プレビュー段階にあります。
プレビューの API と SDK は、サービス レベル アグリーメントなしに提供されます。 運用環境のワークロードには使用しないことをお勧めします。 一部の機能はサポート対象ではなく、機能が制限されることがあります。
詳細については、「Microsoft Azure プレビューの追加利用規約」を確認してください。
Azure Communication Services Android SDK の TelecomManager
の統合は、同じく TelecomManager
と統合されている他の VoIP や PSTN 通話アプリとの対話を処理します。
TelecomConnectionService
を構成する
TelecomConnectionService
をアプリ AndroidManifest.xml
に追加します
<application>
...
<service
android:name="com.azure.android.communication.calling.TelecomConnectionService"
android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
android:exported="true">
<intent-filter>
<action android:name="android.telecom.ConnectionService" />
</intent-filter>
</service>
</application>
TelecomManagerOptions を使用した通話エージェントの初期化
TelecomManagerOptions
の構成されたインスタンスを使用すると、TelecomManager
を有効にして CallAgent
を作成できます。
CallAgentOptions options = new CallAgentOptions();
TelecomManagerOptions telecomManagerOptions = new TelecomManagerOptions("<your app's phone account id>");
options.setTelecomManagerOptions(telecomManagerOptions);
CallAgent callAgent = callClient.createCallAgent(context, credential, options).get();
Call call = callAgent.join(context, locator, joinCallOptions);
オーディオ出力デバイスを構成する
アプリに対して TelecomManager の統合が有効になっている場合、オーディオ出力デバイスは、Telecom Manager API 経由でのみ選択する必要があります。
call.setTelecomManagerAudioRoute(android.telecom.CallAudioState.ROUTE_SPEAKER);
通話再開の動作を構成する
通話が、着信 PSTN 通話などの他の通話によって中断されると、ACS 通話が OnHold
になります。 PSTN 通話が終わったらどうするか (自動的に通話を再開する、ユーザーが通話の再開を要求するのを待機するなど) を構成できます。
telecomManagerOptions.setResumeCallAutomatically(true);