Udostępnij za pośrednictwem


Pomiń ekran konfiguracji w aplikacji

Biblioteka interfejsu użytkownika usług Azure Communication Services oferuje opcję dołączenia do wywołania bez przechodzenia przez ekran konfiguracji. Umożliwia deweloperom tworzenie aplikacji komunikacyjnej w sposób umożliwiający użytkownikom bezpośrednie dołączanie do wywołania bez interakcji z użytkownikiem. Funkcja zapewnia również możliwość skonfigurowania domyślnego stanu aparatu i mikrofonu (włączonego lub wyłączonego), zanim użytkownicy dołączą do połączenia.

Z tego artykułu dowiesz się, jak poprawnie skonfigurować funkcję w aplikacji.

Wymagania wstępne

Konfiguracja funkcji

Aby uzyskać więcej informacji, zobacz bibliotekę interfejsu użytkownika systemu Android typu open source i przykładowy kod aplikacji.

Opcja pominięcia ekranu konfiguracji

CallCompositeLocalOptions to otoka opcji, która ustawia możliwość biblioteki interfejsu użytkownika, aby pominąć ekran konfiguracji przy użyciu wartości logicznej. Domyślnie możliwość pominięcia ekranu konfiguracji jest ustawiona na falsewartość . Musisz ustawić skipSetupScreen wartość logiczną true , aby zapewnić środowisko pomijania ekranu konfiguracji.

Zalecamy skompilowanie aplikacji w taki sposób, że gdy użytkownik spróbuje dołączyć do wywołania, uprawnienia mikrofonu są już przyznawane w celu zapewnienia bezproblemowego środowiska łączenia.

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

Aby użyć tej funkcji, przekaż wartość skipSetupScreen logiczną do CallCompositeLocalOptions metody i wstrzykuj ją do callComposite.launchelementu .

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

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

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

Domyślne opcje konfiguracji aparatu i mikrofonu

Domyślnie ekran konfiguracji udostępnia użytkownikom opcję konfigurowania ustawień aparatu i mikrofonu przed dołączeniem do połączenia. Po skonfigurowaniu pomijania ekranu konfiguracji w celu dołączenia do połączenia użytkownicy nie mają tej opcji, dopóki nie zostaną oni wywołani.

Możesz przekazać wartość logiczną za pomocą cameraOn polecenia i microphoneOn , aby włączyć lub wyłączyć aparat i mikrofon, zanim użytkownicy dołączą do połączenia. Funkcjonalność kontrolowania domyślnego stanu aparatu i mikrofonu nie ma wpływu na to, jeśli użytkownik udziela uprawnień dla każdego z nich.

Domyślnie zarówno , jak cameraOn i microphoneOn są ustawione na false. Tej funkcji można używać nawet w przypadku domyślnego środowiska dołączania wywołań biblioteki interfejsu użytkownika. W takim przypadku aparat i mikrofon są włączone lub wyłączone na ekranie konfiguracji zgodnie z ustawioną konfiguracją.

Aby ustawić domyślny stan aparatu i mikrofonu, przekaż wartość cameraOn logiczną i microphoneOn i CallCompositeLocalOptions wstrzykuj ją do callComposite.launchelementu .

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

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

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

Obsługa uprawnień

Zalecamy, aby umożliwić użytkownikom dołączanie połączenia z mikrofonem i uprawnieniem aparatu do korzystania z funkcji pomijania ekranu konfiguracji z domyślnymi interfejsami API konfiguracji dla mikrofonu i aparatu. Jeśli nie obsłużysz uprawnień użytkownika, biblioteka interfejsu użytkownika podejmie próbę ich obsługi.

Użytkownicy muszą włączyć uprawnienia do mikrofonu, aby dołączyć do połączenia. Jeśli użytkownicy próbują dołączyć do wywołania po odmowie uprawnień mikrofonu, biblioteka interfejsu użytkownika porzuca wywołanie na etapie łączenia i zgłasza błąd z kodem CallCompositeErrorCode.MICROPHONE_PERMISSION_NOT_GRANTED.

Jednak użytkownicy mogą dołączyć do połączenia, nawet jeśli odmawiają uprawnień do aparatu. Biblioteka interfejsu użytkownika wyłącza funkcję aparatu, gdy odmowa uprawnień aparatu. Dlatego domyślny interfejs API konfiguracji aparatu nie ma wpływu na środowisko wywoływania. Użytkownicy mogą cieszyć się efektem domyślnego interfejsu API konfiguracji aparatu po udzieleniu uprawnień do aparatu.

Zalecamy obsługę uprawnień mikrofonu. Jeśli użytkownicy dołączają do połączenia z kamerą włączoną domyślnie, zalecamy również obsługę uprawnień aparatu.

Błędy sieci

Jeśli podczas wywołania lub wywołania wystąpi zakłócenia sieci, biblioteka interfejsu użytkownika zostanie zamknięta i zgłosi błąd z kodem CallCompositeErrorCode.CALL_END_FAILED.

Jeśli użytkownik nie ma połączenia sieciowego i spróbuje dołączyć do wywołania po pominięcia ekranu konfiguracji, biblioteka interfejsu użytkownika zostanie zamknięta na etapie łączenia wywołań i zgłosi błąd z kodem CallCompositeErrorCode.NETWORK_CONNECTION_NOT_AVAILABLE. Aby uniknąć tego błędu, zalecamy skonfigurowanie aplikacji pod kątem sprawdzania dostępności sieci przed dołączeniem do wywołania przez użytkowników.

Aby odbierać zdarzenia błędów, wywołaj metodę za pomocą polecenia setOnErrorHandler CallComposite.

Do programu obsługi błędów mogą zostać wysłane następujące error wartości:

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

Aby uzyskać więcej informacji, zobacz bibliotekę interfejsu użytkownika systemu iOS typu open source i przykładowy kod aplikacji.

Opcja pominięcia ekranu konfiguracji

LocalOptions to otoka opcji, która ustawia możliwość biblioteki interfejsu użytkownika, aby pominąć ekran konfiguracji przy użyciu wartości logicznej. Domyślnie możliwość pominięcia ekranu konfiguracji jest ustawiona na falsewartość . Musisz ustawić skipSetupScreen wartość logiczną true , aby zapewnić środowisko pomijania ekranu konfiguracji.

Zalecamy skompilowanie aplikacji w taki sposób, że gdy użytkownik spróbuje dołączyć do wywołania, uprawnienia mikrofonu są już przyznawane w celu zapewnienia bezproblemowego środowiska łączenia.

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

Aby użyć tej funkcji, przekaż wartość skipSetupScreen logiczną do LocalOptions metody i wstrzykuj ją do callComposite.launchelementu .

let localOptions = LocalOptions(skipSetupScreen: true)

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

Domyślne opcje konfiguracji aparatu i mikrofonu

Domyślnie ekran konfiguracji udostępnia użytkownikom opcję konfigurowania ustawień aparatu i mikrofonu przed dołączeniem do połączenia. Po skonfigurowaniu pomijania ekranu konfiguracji w celu dołączenia do połączenia użytkownicy nie mają tej opcji, dopóki nie zostaną oni wywołani.

Możesz przekazać wartość logiczną za pomocą cameraOn polecenia i microphoneOn , aby włączyć lub wyłączyć aparat i mikrofon, zanim użytkownicy dołączą do połączenia. Funkcjonalność kontrolowania domyślnego stanu aparatu i mikrofonu nie ma wpływu na to, jeśli użytkownik udziela uprawnień dla każdego z nich.

Domyślnie zarówno , jak cameraOn i microphoneOn są ustawione na false. Tej funkcji można używać nawet w przypadku domyślnego środowiska dołączania wywołań biblioteki interfejsu użytkownika. W takim przypadku aparat i mikrofon są włączone lub wyłączone na ekranie konfiguracji zgodnie z ustawioną konfiguracją.

Aby ustawić domyślny stan aparatu i mikrofonu, przekaż wartość cameraOn logiczną i microphoneOn i LocalOptions wstrzykuj ją do callComposite.launchelementu .

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

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

Obsługa uprawnień

Zalecamy, aby umożliwić użytkownikom dołączanie połączenia z mikrofonem i uprawnieniem aparatu do korzystania z funkcji pomijania ekranu konfiguracji z domyślnymi interfejsami API konfiguracji dla mikrofonu i aparatu. Jeśli nie obsłużysz uprawnień użytkownika, biblioteka interfejsu użytkownika podejmie próbę ich obsługi.

Użytkownicy muszą włączyć uprawnienia do mikrofonu, aby dołączyć do połączenia. Jeśli użytkownicy spróbują dołączyć połączenie po odmowie uprawnień mikrofonu, biblioteka interfejsu użytkownika porzuca wywołanie na etapie łączenia i zgłasza microphonePermissionNotGranted błąd.

Jednak użytkownicy mogą dołączyć do połączenia, nawet jeśli odmawiają uprawnień do aparatu. Biblioteka interfejsu użytkownika wyłącza funkcję aparatu, gdy odmowa uprawnień aparatu. Dlatego domyślny interfejs API konfiguracji aparatu nie ma wpływu na środowisko wywoływania. Użytkownicy mogą cieszyć się efektem domyślnego interfejsu API konfiguracji aparatu po udzieleniu uprawnień do aparatu.

Zalecamy obsługę uprawnień mikrofonu. Jeśli użytkownicy dołączają do połączenia z kamerą włączoną domyślnie, zalecamy również obsługę uprawnień aparatu.

Błędy sieci

Jeśli podczas wywołania lub wywołania wystąpi zakłócenia sieci, biblioteka interfejsu użytkownika zostanie zamknięta i zgłosi callEndFailed błąd.

Jeśli użytkownik nie ma połączenia sieciowego i spróbuje dołączyć do wywołania po pominięcia ekranu konfiguracji, biblioteka interfejsu użytkownika zostanie zamknięta na etapie łączenia wywołań i zgłosi networkConnectionNotAvailable błąd. Aby uniknąć tego błędu, zalecamy skonfigurowanie aplikacji pod kątem sprawdzania dostępności sieci przed dołączeniem do wywołania przez użytkowników.

Zamknięcia można zaimplementować w celu działania na zdarzeniach złożonych. W poniższym przykładzie pokazano zdarzenie błędu dla złożonego, które zakończyło się niepowodzeniem:

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

Do programu obsługi błędów mogą zostać wysłane następujące error wartości:

  • microphonePermissionNotGranted
  • networkConnectionNotAvailable

Następne kroki