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
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Nasazený prostředek komunikační služby. Vytvořte prostředek komunikační služby.
- Přístupový token uživatele, který povolí klienta volání. Získejte přístupový token uživatele.
- Volitelné: Dokončení rychlého startu pro začátek práce se složenými knihovnami uživatelského rozhraní.
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 false
hodnotu . 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í.
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
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 false
hodnotu . 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í.
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