Bagikan melalui


Lewati layar penyiapan dalam aplikasi

Pustaka Antarmuka Pengguna Azure Communication Services menawarkan opsi untuk bergabung dalam panggilan tanpa melewati layar penyiapan. Ini memberdayakan pengembang untuk membangun aplikasi komunikasi dengan cara yang memungkinkan pengguna untuk bergabung dengan panggilan secara langsung, tanpa interaksi pengguna. Fitur ini juga menyediakan kemampuan untuk mengonfigurasi status default kamera dan mikrofon (aktif atau nonaktif) sebelum pengguna bergabung dalam panggilan.

Dalam artikel ini, Anda mempelajari cara menyiapkan fitur dengan benar di aplikasi Anda.

Prasyarat

Menyiapkan fitur

Untuk informasi selengkapnya, lihat Pustaka UI Android sumber terbuka dan kode aplikasi sampel.

Opsi untuk melewati layar penyetelan

CallCompositeLocalOptions adalah pembungkus opsi yang mengatur kemampuan Pustaka UI untuk melewati layar penyiapan dengan menggunakan Boolean. Secara default, kemampuan untuk melewati layar penyiapan diatur ke false. Anda harus mengatur skipSetupScreen dengan true nilai Boolean untuk memberikan pengalaman melompati layar penyiapan.

Kami menyarankan agar Anda membuat aplikasi sedemikian sehingga ketika pengguna mencoba bergabung dengan panggilan, izin mikrofon sudah diberikan untuk pengalaman bergabung yang lancar.

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

Untuk menggunakan fitur ini, teruskan nilai Boolean dengan skipSetupScreen ke CallCompositeLocalOptions dan masukkan ke .callComposite.launch

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

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

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

Opsi default untuk konfigurasi kamera dan mikrofon

Secara default, layar penyiapan memberi pengguna opsi untuk mengonfigurasi pengaturan kamera dan mikrofon sebelum bergabung dengan panggilan. Saat Anda menyiapkan melewati layar penyiapan untuk bergabung dengan panggilan, pengguna tidak memiliki opsi tersebut hingga mereka berada dalam panggilan.

Anda dapat meneruskan nilai Boolean dengan cameraOn dan microphoneOn untuk mengaktifkan atau menonaktifkan kamera dan mikrofon sebelum pengguna bergabung dalam panggilan. Fungsionalitas mengontrol status default kamera dan mikrofon tidak terpengaruh jika pengguna memberikan izin masing-masing untuk masing-masing.

Secara default, keduanya cameraOn dan microphoneOn diatur ke false. Anda dapat menggunakan fungsionalitas ini bahkan dengan pengalaman bergabung dengan panggilan default Pustaka UI. Dalam hal ini, kamera dan mikrofon dinyalakan atau dimatikan pada layar penyiapan sesuai dengan konfigurasi yang Anda tetapkan.

Untuk mengatur status default kamera dan mikrofon, teruskan nilai Boolean dengan cameraOn dan microphoneOn ke CallCompositeLocalOptions dan masukkan ke .callComposite.launch

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

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

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

Penanganan izin

Kami menyarankan agar Anda mengizinkan pengguna bergabung dengan panggilan dengan izin mikrofon dan kamera yang diberikan untuk menggunakan fitur melompati layar penyiapan dengan API konfigurasi default untuk mikrofon dan kamera. Jika Anda tidak menangani izin pengguna, Pustaka UI mencoba menanganinya untuk Anda.

Pengguna harus mengaktifkan izin mikrofon untuk bergabung dalam panggilan. Jika pengguna mencoba bergabung dengan panggilan setelah menolak izin mikrofon, Pustaka UI menghilangkan panggilan di tahap penghubungan dan melemparkan kesalahan dengan kode CallCompositeErrorCode.MICROPHONE_PERMISSION_NOT_GRANTED.

Namun, pengguna dapat bergabung dengan panggilan bahkan jika mereka menolak izin kamera. Pustaka UI menonaktifkan fungsionalitas kamera saat izin kamera ditolak. Jadi, API konfigurasi default untuk kamera tidak memengaruhi pengalaman panggilan. Pengguna dapat menikmati efek API konfigurasi default untuk kamera setelah memberikan izin kamera.

Sebaiknya Anda menangani izin mikrofon. Jika pengguna bergabung dengan panggilan dengan kamera diaktifkan secara default, kami sarankan Anda juga menangani izin kamera.

Kesalahan jaringan

Jika gangguan jaringan terjadi selama panggilan atau panggilan turun, Pustaka UI menutup dan melemparkan kesalahan dengan kode CallCompositeErrorCode.CALL_END_FAILED.

Jika pengguna tidak memiliki koneksi jaringan dan mencoba bergabung dengan panggilan setelah melewati layar penyiapan, Pustaka UI ditutup pada tahap penyabungan panggilan dan melemparkan kesalahan dengan kode CallCompositeErrorCode.NETWORK_CONNECTION_NOT_AVAILABLE. Untuk menghindari kesalahan ini, kami sarankan Anda mengonfigurasi aplikasi untuk memeriksa ketersediaan jaringan sebelum pengguna bergabung dalam panggilan.

Untuk menerima peristiwa kesalahan, hubungi setOnErrorHandler dengan CallComposite.

Nilai berikut error mungkin dikirim ke penanganan kesalahan:

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

Untuk informasi selengkapnya, lihat Pustaka UI iOS sumber terbuka dan kode aplikasi sampel.

Opsi untuk melewati layar penyetelan

LocalOptions adalah pembungkus opsi yang mengatur kemampuan Pustaka UI untuk melewati layar penyiapan dengan menggunakan Boolean. Secara default, kemampuan untuk melewati layar penyiapan diatur ke false. Anda harus mengatur skipSetupScreen dengan true nilai Boolean untuk memberikan pengalaman melompati layar penyiapan.

Kami menyarankan agar Anda membuat aplikasi sedemikian sehingga ketika pengguna mencoba bergabung dengan panggilan, izin mikrofon sudah diberikan untuk pengalaman bergabung yang lancar.

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

Untuk menggunakan fitur ini, teruskan nilai Boolean dengan skipSetupScreen ke LocalOptions dan masukkan ke .callComposite.launch

let localOptions = LocalOptions(skipSetupScreen: true)

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

Opsi default untuk konfigurasi kamera dan mikrofon

Secara default, layar penyiapan memberi pengguna opsi untuk mengonfigurasi pengaturan kamera dan mikrofon sebelum bergabung dengan panggilan. Saat Anda menyiapkan melewati layar penyiapan untuk bergabung dengan panggilan, pengguna tidak memiliki opsi tersebut hingga mereka berada dalam panggilan.

Anda dapat meneruskan nilai Boolean dengan cameraOn dan microphoneOn untuk mengaktifkan atau menonaktifkan kamera dan mikrofon sebelum pengguna bergabung dalam panggilan. Fungsionalitas mengontrol status default kamera dan mikrofon tidak terpengaruh jika pengguna memberikan izin masing-masing untuk masing-masing.

Secara default, keduanya cameraOn dan microphoneOn diatur ke false. Anda dapat menggunakan fungsionalitas ini bahkan dengan pengalaman bergabung dengan panggilan default Pustaka UI. Dalam hal ini, kamera dan mikrofon dinyalakan atau dimatikan pada layar penyiapan sesuai dengan konfigurasi yang Anda tetapkan.

Untuk mengatur status default kamera dan mikrofon, teruskan nilai Boolean dengan cameraOn dan microphoneOn ke LocalOptions dan masukkan ke .callComposite.launch

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

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

Penanganan izin

Kami menyarankan agar Anda mengizinkan pengguna bergabung dengan panggilan dengan izin mikrofon dan kamera yang diberikan untuk menggunakan fitur melompati layar penyiapan dengan API konfigurasi default untuk mikrofon dan kamera. Jika Anda tidak menangani izin pengguna, Pustaka UI mencoba menanganinya untuk Anda.

Pengguna harus mengaktifkan izin mikrofon untuk bergabung dalam panggilan. Jika pengguna mencoba bergabung dengan panggilan setelah menolak izin mikrofon, Pustaka UI menghilangkan panggilan di tahap penghubungan dan melemparkan microphonePermissionNotGranted kesalahan.

Namun, pengguna dapat bergabung dengan panggilan bahkan jika mereka menolak izin kamera. Pustaka UI menonaktifkan fungsionalitas kamera saat izin kamera ditolak. Jadi, API konfigurasi default untuk kamera tidak memengaruhi pengalaman panggilan. Pengguna dapat menikmati efek API konfigurasi default untuk kamera setelah memberikan izin kamera.

Sebaiknya Anda menangani izin mikrofon. Jika pengguna bergabung dengan panggilan dengan kamera diaktifkan secara default, kami sarankan Anda juga menangani izin kamera.

Kesalahan jaringan

Jika gangguan jaringan terjadi selama panggilan atau panggilan turun, Pustaka UI menutup dan melemparkan callEndFailed kesalahan.

Jika pengguna tidak memiliki koneksi jaringan dan mencoba bergabung dengan panggilan setelah melewati layar penyiapan, Pustaka UI ditutup pada tahap penyabungan panggilan dan melemparkan networkConnectionNotAvailable kesalahan. Untuk menghindari kesalahan ini, kami sarankan Anda mengonfigurasi aplikasi untuk memeriksa ketersediaan jaringan sebelum pengguna bergabung dalam panggilan.

Anda dapat menerapkan penutupan untuk bertindak pada peristiwa komposit. Contoh berikut menunjukkan peristiwa kesalahan untuk komposit yang gagal:

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

Nilai berikut error mungkin dikirim ke penanganan kesalahan:

  • microphonePermissionNotGranted
  • networkConnectionNotAvailable

Langkah berikutnya