Sdílet prostřednictvím


Přeskočit obrazovku nastavení v aplikaci

Knihovna uživatelského rozhraní Azure Communication Services nabízí možnost připojit se k hovoru bez průchodu obrazovkou nastavení. Umožňuje vývojářům vytvářet komunikační aplikace způsobem, který uživatelům umožňuje připojit se k hovoru přímo bez zásahu uživatele. Tato funkce také poskytuje možnost nakonfigurovat výchozí stav kamery a mikrofonu (zapnuto nebo vypnuto) před tím, než se uživatelé připojí k hovoru.

V tomto článku se dozvíte, jak správně nastavit funkci ve vaší aplikaci.

Požadavky

Nastavení funkce

Další informace najdete v opensourcové knihovně uživatelského rozhraní Androidu a vzorovém kódu aplikace.

Možnost přeskočit obrazovku nastavení

CallCompositeLocalOptions je obálka možností, která nastaví schopnost knihovny uživatelského rozhraní přeskočit instalační obrazovku pomocí logické hodnoty. Ve výchozím nastavení je možnost přeskočit instalační obrazovku na falsehodnotu . Abyste měli možnost přeskočit obrazovku nastavení, musíte nastavit skipSetupScreen logickou true hodnotu.

Doporučujeme vytvořit aplikaci takovým způsobem, že když se uživatel pokusí připojit k hovoru, oprávnění mikrofonu je již uděleno pro bezproblémové spojení.

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

Pokud chcete tuto funkci použít, předejte logickou hodnotu do skipSetupScreen CallCompositeLocalOptions a vložte ji do callComposite.launch.

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

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

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

Výchozí možnosti konfigurace fotoaparátu a mikrofonu

Ve výchozím nastavení nabízí obrazovka nastavení uživatelům možnost konfigurovat nastavení kamery a mikrofonu před připojením k hovoru. Když nastavíte přeskočení obrazovky nastavení, aby se připojili k hovoru, uživatelé tuto možnost nemají, dokud nebudou na hovoru.

Logickou hodnotu cameraOn můžete předat a microphoneOn zapnout nebo vypnout kameru a mikrofon před tím, než se uživatelé připojí k hovoru. Funkce řízení výchozího stavu kamery a mikrofonu neovlivní, pokud uživatel udělí oprávnění každému z nich.

Ve výchozím nastavení jsou obě cameraOn a microphoneOn jsou nastaveny na false. Tuto funkci můžete použít i s výchozím prostředím pro připojení ke knihovně uživatelského rozhraní. V takovém případě je kamera a mikrofon zapnuté nebo vypnuté na obrazovce nastavení podle konfigurace, kterou jste nastavili.

Pokud chcete nastavit výchozí stav kamery a mikrofonu, předejte logickou hodnotu s cameraOn logickou hodnotou a microphoneOn vložte CallCompositeLocalOptions ji do callComposite.launch.

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

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

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

Zpracování oprávnění

Doporučujeme, abyste uživatelům umožnili připojit se k hovoru s mikrofonem a oprávněním k fotoaparátu, aby mohli používat funkci přeskočení obrazovky nastavení s výchozími konfiguračními rozhraními API pro mikrofon a kameru. Pokud nezpracujete oprávnění uživatele, knihovna uživatelského rozhraní se je pokusí zpracovat za vás.

Uživatelé musí povolit oprávnění mikrofonu pro připojení k hovoru. Pokud se uživatelé pokusí připojit k hovoru po odepření oprávnění mikrofonu, knihovna uživatelského rozhraní volání zahodí volání ve fázi připojení a vyvolá chybu s kódem CallCompositeErrorCode.MICROPHONE_PERMISSION_NOT_GRANTED.

Uživatelé se ale můžou připojit k hovoru, i když zamítnou oprávnění kamery. Knihovna uživatelského rozhraní zakáže funkci fotoaparátu při odepření oprávnění k fotoaparátu. Výchozí rozhraní API konfigurace pro kameru tedy nemá vliv na prostředí volání. Uživatelé můžou po udělení oprávnění k fotoaparátu využít efekt výchozího konfiguračního rozhraní API pro fotoaparát.

Doporučujeme, abyste zpracováli oprávnění mikrofonu. Pokud se uživatelé připojí k hovoru se zapnutou kamerou ve výchozím nastavení, doporučujeme také zpracovat oprávnění kamery.

Chyby sítě

Pokud dojde k přerušení sítě během volání nebo ukončení volání, knihovna uživatelského rozhraní se zavře a vyvolá chybu s kódem CallCompositeErrorCode.CALL_END_FAILED.

Pokud uživatel nemá síťové připojení a pokusí se připojit k volání po přeskočení instalační obrazovky, knihovna uživatelského rozhraní se zavře ve fázi připojení volání a vyvolá chybu s kódem CallCompositeErrorCode.NETWORK_CONNECTION_NOT_AVAILABLE. Pokud se chcete této chybě vyhnout, doporučujeme nakonfigurovat aplikaci tak, aby kontrolovala dostupnost sítě před tím, než se uživatelé připojí k hovoru.

Chcete-li zobrazit chybové události, zavolejte setOnErrorHandler s CallComposite.

Do obslužné rutiny chyby se můžou odeslat následující error hodnoty:

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

Další informace najdete v opensourcové knihovně uživatelského rozhraní iOS a ukázkovém kódu aplikace.

Možnost přeskočit obrazovku nastavení

LocalOptions je obálka možností, která nastaví schopnost knihovny uživatelského rozhraní přeskočit instalační obrazovku pomocí logické hodnoty. Ve výchozím nastavení je možnost přeskočit instalační obrazovku na falsehodnotu . Abyste měli možnost přeskočit obrazovku nastavení, musíte nastavit skipSetupScreen logickou true hodnotu.

Doporučujeme vytvořit aplikaci takovým způsobem, že když se uživatel pokusí připojit k hovoru, oprávnění mikrofonu je již uděleno pro bezproblémové spojení.

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

Pokud chcete tuto funkci použít, předejte logickou hodnotu do skipSetupScreen LocalOptions a vložte ji do callComposite.launch.

let localOptions = LocalOptions(skipSetupScreen: true)

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

Výchozí možnosti konfigurace fotoaparátu a mikrofonu

Ve výchozím nastavení nabízí obrazovka nastavení uživatelům možnost konfigurovat nastavení kamery a mikrofonu před připojením k hovoru. Když nastavíte přeskočení obrazovky nastavení, aby se připojili k hovoru, uživatelé tuto možnost nemají, dokud nebudou na hovoru.

Logickou hodnotu cameraOn můžete předat a microphoneOn zapnout nebo vypnout kameru a mikrofon před tím, než se uživatelé připojí k hovoru. Funkce řízení výchozího stavu kamery a mikrofonu neovlivní, pokud uživatel udělí oprávnění každému z nich.

Ve výchozím nastavení jsou obě cameraOn a microphoneOn jsou nastaveny na false. Tuto funkci můžete použít i s výchozím prostředím pro připojení ke knihovně uživatelského rozhraní. V takovém případě je kamera a mikrofon zapnuté nebo vypnuté na obrazovce nastavení podle konfigurace, kterou jste nastavili.

Pokud chcete nastavit výchozí stav kamery a mikrofonu, předejte logickou hodnotu s cameraOn logickou hodnotou a microphoneOn vložte LocalOptions ji do callComposite.launch.

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

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

Zpracování oprávnění

Doporučujeme, abyste uživatelům umožnili připojit se k hovoru s mikrofonem a oprávněním k fotoaparátu, aby mohli používat funkci přeskočení obrazovky nastavení s výchozími konfiguračními rozhraními API pro mikrofon a kameru. Pokud nezpracujete oprávnění uživatele, knihovna uživatelského rozhraní se je pokusí zpracovat za vás.

Uživatelé musí povolit oprávnění mikrofonu pro připojení k hovoru. Pokud se uživatelé pokusí připojit k hovoru po odepření oprávnění mikrofonu, knihovna uživatelského rozhraní volání zahodí volání ve fázi připojení a vyvolá microphonePermissionNotGranted chybu.

Uživatelé se ale můžou připojit k hovoru, i když zamítnou oprávnění kamery. Knihovna uživatelského rozhraní zakáže funkci fotoaparátu při odepření oprávnění k fotoaparátu. Výchozí rozhraní API konfigurace pro kameru tedy nemá vliv na prostředí volání. Uživatelé můžou po udělení oprávnění k fotoaparátu využít efekt výchozího konfiguračního rozhraní API pro fotoaparát.

Doporučujeme, abyste zpracováli oprávnění mikrofonu. Pokud se uživatelé připojí k hovoru se zapnutou kamerou ve výchozím nastavení, doporučujeme také zpracovat oprávnění kamery.

Chyby sítě

Pokud dojde k přerušení sítě během volání nebo ukončení volání, knihovna uživatelského rozhraní se zavře a vyvolá callEndFailed chybu.

Pokud uživatel nemá síťové připojení a pokusí se připojit k volání po přeskočení instalační obrazovky, knihovna uživatelského rozhraní se zavře ve fázi připojení volání a vyvolá networkConnectionNotAvailable chybu. Pokud se chcete této chybě vyhnout, doporučujeme nakonfigurovat aplikaci tak, aby kontrolovala dostupnost sítě před tím, než se uživatelé připojí k hovoru.

Můžete implementovat uzavření, která budou fungovat na složených událostech. Následující příklad ukazuje chybovou událost neúspěšného složeného:

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

Do obslužné rutiny chyby se můžou odeslat následující error hodnoty:

  • microphonePermissionNotGranted
  • networkConnectionNotAvailable

Další kroky