次の方法で共有


アプリケーションのセットアップ画面をスキップする

Azure Communication Services UI ライブラリには、セットアップ画面を通過せずに通話に参加するオプションが用意されています。 これにより、開発者は、ユーザーの操作なしで、ユーザーが通話に直接参加できる方法で通信アプリケーションを構築できます。 この機能では、ユーザーが通話に参加する前に、カメラとマイクの既定の状態を構成する機能 (オンまたはオフ) も提供されます。

この記事では、アプリケーションで機能を正しく設定する方法について説明します。

前提条件

機能を設定する

詳細については、オープンソースの Android UI ライブラリとサンプル アプリケーション コード参照してください。

セットアップ画面をスキップするオプション

CallCompositeLocalOptions は、ブール値を使用してセットアップ画面をスキップする UI ライブラリの機能を設定するオプション ラッパーです。 既定では、セットアップ画面をスキップする機能は次のように false設定されています。 セットアップ画面をスキップするエクスペリエンスをtrue提供するには、ブール値を設定skipSetupScreenする必要があります。

ユーザーが通話に参加しようとしたときに、スムーズな参加エクスペリエンスのためにマイクのアクセス許可が既に付与されるように、アプリケーションをビルドすることをお勧めします。

Screenshot of joining call by skipping the setup screen for Android.

この機能を使用するには、ブール値skipSetupScreenCallCompositeLocalOptionsを渡して挿入しますcallComposite.launch

import com.azure.android.communication.ui.calling.models.CallCompositeLocalOptions

val localOptions: CallCompositeLocalOptions = CallCompositeLocalOptions()
    .setSkipSetupScreen(true)

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

カメラとマイクの構成の既定のオプション

既定では、セットアップ画面には、通話に参加する前にカメラとマイクの設定を構成するオプションがユーザーに表示されます。 セットアップ画面をスキップして通話に参加するように設定した場合、ユーザーは通話中になるまでそのオプションを使用できません。

ブール値cameraOnmicrophoneOnは、ユーザーが通話に参加する前に、カメラとマイクをオンまたはオフにして渡すことができます。 ユーザーがそれぞれのアクセス許可を付与しても、カメラとマイクの既定の状態を制御する機能は影響を受けません。

既定では、両方 cameraOnmicrophoneOnfalse. この機能は、UI ライブラリの既定の呼び出し参加エクスペリエンスでも使用できます。 その場合、設定した構成に従って、セットアップ画面でカメラとマイクがオンまたはオフになります。

カメラとマイクの既定の状態を設定するには、ブール値cameraOnを渡してmicrophoneOnCallCompositeLocalOptionsそれを挿入callComposite.launchします。

import com.azure.android.communication.ui.calling.models.CallCompositeLocalOptions

val localOptions: CallCompositeLocalOptions = CallCompositeLocalOptions()
    .setMicrophoneOn(true)
    .setCameraOn(true)

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

アクセス許可の処理

マイクとカメラの既定の構成 API でセットアップ画面をスキップする機能を使用するために、マイクとカメラのアクセス許可が付与された通話にユーザーが参加できるようにすることをお勧めします。 ユーザーのアクセス許可を処理しない場合、UI ライブラリはユーザーを処理しようとします。

ユーザーは、マイクのアクセス許可を有効にして通話に参加する必要があります。 ユーザーがマイクのアクセス許可を拒否した後に通話に参加しようとすると、UI ライブラリは接続ステージで呼び出しを削除し、コード CallCompositeErrorCode.MICROPHONE_PERMISSION_NOT_GRANTEDでエラーをスローします。

ただし、ユーザーはカメラのアクセス許可を拒否した場合でも通話に参加できます。 カメラのアクセス許可が拒否されると、UI ライブラリによってカメラ機能が無効になります。 そのため、カメラの既定の構成 API は呼び出しエクスペリエンスに影響しません。 ユーザーは、カメラのアクセス許可を付与した後、カメラの既定の構成 API の効果を楽しむことができます。

マイクのアクセス許可を処理することをお勧めします。 ユーザーが既定でカメラをオンにして通話に参加する場合は、カメラのアクセス許可も処理することをお勧めします。

ネットワーク エラー

呼び出し中にネットワークの中断が発生した場合、または呼び出しが停止した場合、UI ライブラリは終了し、コード CallCompositeErrorCode.CALL_END_FAILEDでエラーをスローします。

ユーザーがネットワーク接続を持っていなくても、セットアップ画面をスキップした後に呼び出しに参加しようとすると、UI ライブラリは呼び出し接続ステージで閉じ、コード CallCompositeErrorCode.NETWORK_CONNECTION_NOT_AVAILABLEでエラーをスローします。 このエラーを回避するには、ユーザーが呼び出しに参加する前に、ネットワークの可用性をチェックするようにアプリケーションを構成することをお勧めします。

エラー イベントを受信するには、CallCompositesetOnErrorHandler を呼び出します。

次の error の値がエラー ハンドラーに送信される場合があります。

  • microphonePermissionNotGranted
  • networkConnectionNotAvailable
callComposite.addOnErrorEventHandler { callCompositeErrorEvent ->
    println(callCompositeErrorEvent.errorCode)
}

詳細については、オープンソースの iOS UI ライブラリとサンプル アプリケーション コード参照してください。

セットアップ画面をスキップするオプション

LocalOptions は、ブール値を使用してセットアップ画面をスキップする UI ライブラリの機能を設定するオプション ラッパーです。 既定では、セットアップ画面をスキップする機能は次のように false設定されています。 セットアップ画面をスキップするエクスペリエンスをtrue提供するには、ブール値を設定skipSetupScreenする必要があります。

ユーザーが通話に参加しようとしたときに、スムーズな参加エクスペリエンスのためにマイクのアクセス許可が既に付与されるように、アプリケーションをビルドすることをお勧めします。

Screenshot of joining call by skipping the setup screen for iOS.

この機能を使用するには、ブール値skipSetupScreenLocalOptionsを渡して挿入しますcallComposite.launch

let localOptions = LocalOptions(skipSetupScreen: true)

callComposite.launch(remoteOptions: remoteOptions, localOptions: localOptions)

カメラとマイクの構成の既定のオプション

既定では、セットアップ画面には、通話に参加する前にカメラとマイクの設定を構成するオプションがユーザーに表示されます。 セットアップ画面をスキップして通話に参加するように設定した場合、ユーザーは通話中になるまでそのオプションを使用できません。

ブール値cameraOnmicrophoneOnは、ユーザーが通話に参加する前に、カメラとマイクをオンまたはオフにして渡すことができます。 ユーザーがそれぞれのアクセス許可を付与しても、カメラとマイクの既定の状態を制御する機能は影響を受けません。

既定では、両方 cameraOnmicrophoneOnfalse. この機能は、UI ライブラリの既定の呼び出し参加エクスペリエンスでも使用できます。 その場合、設定した構成に従って、セットアップ画面でカメラとマイクがオンまたはオフになります。

カメラとマイクの既定の状態を設定するには、ブール値cameraOnを渡してmicrophoneOnLocalOptionsそれを挿入callComposite.launchします。

let localOptions = LocalOptions(cameraOn: true, microphoneOn: true)

callComposite.launch(remoteOptions: remoteOptions, localOptions: localOptions)

アクセス許可の処理

マイクとカメラの既定の構成 API でセットアップ画面をスキップする機能を使用するために、マイクとカメラのアクセス許可が付与された通話にユーザーが参加できるようにすることをお勧めします。 ユーザーのアクセス許可を処理しない場合、UI ライブラリはユーザーを処理しようとします。

ユーザーは、マイクのアクセス許可を有効にして通話に参加する必要があります。 ユーザーがマイクのアクセス許可を拒否した後に通話に参加しようとすると、UI ライブラリは接続ステージで呼び出しを削除し、エラーを microphonePermissionNotGranted スローします。

ただし、ユーザーはカメラのアクセス許可を拒否した場合でも通話に参加できます。 カメラのアクセス許可が拒否されると、UI ライブラリによってカメラ機能が無効になります。 そのため、カメラの既定の構成 API は呼び出しエクスペリエンスに影響しません。 ユーザーは、カメラのアクセス許可を付与した後、カメラの既定の構成 API の効果を楽しむことができます。

マイクのアクセス許可を処理することをお勧めします。 ユーザーが既定でカメラをオンにして通話に参加する場合は、カメラのアクセス許可も処理することをお勧めします。

ネットワーク エラー

呼び出し中にネットワークの中断が発生した場合、または呼び出しが停止した場合、UI ライブラリは閉じてエラーを callEndFailed スローします。

ユーザーがネットワーク接続を持っていなくても、セットアップ画面をスキップした後に呼び出しに参加しようとすると、UI ライブラリは呼び出し接続ステージで閉じ、エラーを networkConnectionNotAvailable スローします。 このエラーを回避するには、ユーザーが呼び出しに参加する前に、ネットワークの可用性をチェックするようにアプリケーションを構成することをお勧めします。

クロージャを実装してthe compositeイベントを処理できます。 次の例は、失敗した複合のエラー イベントを示しています。

callComposite?.events.onError = { error in
    print("CallComposite failed with error:\(error)")
}

次の error の値がエラー ハンドラーに送信される場合があります。

  • microphonePermissionNotGranted
  • networkConnectionNotAvailable

次のステップ