Aracılığıyla paylaş


Uygulamada kurulum ekranını atlama

Azure İletişim Hizmetleri Kullanıcı Arabirimi Kitaplığı, kurulum ekranından geçmeden bir çağrıya katılma seçeneği sunar. Geliştiricileri, kullanıcıların herhangi bir kullanıcı etkileşimi olmadan doğrudan bir aramaya katılmasını sağlayan bir iletişim uygulaması oluşturma yetkisi verir. Bu özellik, kullanıcılar aramaya katılmadan önce kamera ve mikrofonun varsayılan durumunu (açık veya kapalı) yapılandırma özelliği de sağlar.

Bu makalede, uygulamanızda özelliği doğru şekilde ayarlamayı öğreneceksiniz.

Önkoşullar

Özelliği ayarlama

Daha fazla bilgi için açık kaynak Android Kullanıcı Arabirimi Kitaplığı'na ve örnek uygulama koduna bakın.

Kurulum ekranını atlama seçeneği

CallCompositeLocalOptions , Kullanıcı Arabirimi Kitaplığı'nın Boole kullanarak kurulum ekranını atlama özelliğini ayarlayan bir seçenek sarmalayıcıdır. Varsayılan olarak, kurulum ekranını atlama özelliği olarak falseayarlanır. Kurulum ekranını atlama deneyimini sağlamak için Boole true değeriyle ayarlamanız skipSetupScreen gerekir.

Uygulamanızı, kullanıcı bir aramaya katılmaya çalıştığında sorunsuz bir birleştirme deneyimi için mikrofon izni verilecek şekilde derlemenizi öneririz.

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

Özelliğini kullanmak için Boole değerini ile geçirin skipSetupScreen CallCompositeLocalOptions ve içine yerleştirin callComposite.launch.

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

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

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

Kamera ve mikrofon yapılandırması için varsayılan seçenekler

Varsayılan olarak, kurulum ekranı kullanıcılara bir aramaya katılmadan önce kamera ve mikrofon ayarlarını yapılandırma seçeneği sunar. Bir aramaya katılmak için kurulum ekranını atlayarak ayarladığınızda, kullanıcılar aramaya katılana kadar bu seçeneğe sahip olmaz.

Kullanıcılar aramaya katılmadan önce kamerayı ve mikrofonu açıp kapatmak için ve ile cameraOn microphoneOn boole değeri geçirebilirsiniz. Kullanıcının her biri için sırasıyla izin vermesi durumunda kamera ve mikrofonun varsayılan durumunu denetleme işlevi etkilenmez.

Varsayılan olarak, hem hem de cameraOn microphoneOn olarak falseayarlanır. Kullanıcı Arabirimi Kitaplığı'nın varsayılan çağrı birleştirme deneyiminde bile bu işlevi kullanabilirsiniz. Bu durumda kamera ve mikrofon, ayarladığınız yapılandırmaya göre kurulum ekranında açılır veya kapatılır.

Kamera ve mikrofonun varsayılan durumunu ayarlamak için ve ile cameraOn microphoneOn CallCompositeLocalOptions Boole değerini geçirin ve içine callComposite.launchyerleştirin.

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

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

callComposite.launch(callLauncherActivity, remoteOptions, localOptions)

İzin işleme

Kullanıcıların mikrofon ve kamera için varsayılan yapılandırma API'leriyle kurulum ekranını atlama özelliğini kullanmaları için mikrofon ve kamera izni verilen bir aramaya katılmalarına izin vermenizi öneririz. Kullanıcının izinlerini işlemezseniz, KULLANıCı Arabirimi Kitaplığı bunları sizin için işlemeye çalışır.

Kullanıcıların bir aramaya katılmak için mikrofon iznini etkinleştirmesi gerekir. Kullanıcılar mikrofon iznini reddettikten sonra bir aramaya katılmayı denerse, KULLANıCı Arabirimi Kitaplığı çağrıyı bağlantı aşamasında bırakır ve koduyla CallCompositeErrorCode.MICROPHONE_PERMISSION_NOT_GRANTEDbir hata oluşturur.

Ancak kullanıcılar, kamera iznini reddetseler bile aramaya katılabilir. Kullanıcı Arabirimi Kitaplığı, kamera izni reddedildiğinde kamera işlevini devre dışı bırakır. Bu nedenle, kamera için varsayılan yapılandırma API'si arama deneyimini etkilemez. Kullanıcılar, kamera izni verdikten sonra kamera için varsayılan yapılandırma API'sinin etkisinin keyfini çıkarabilir.

Mikrofon iznini işlemenizi öneririz. Kullanıcılar aramaya kamera varsayılan olarak açık olarak katılırsa kamera iznini de işlemenizi öneririz.

Ağ hataları

Bir çağrı sırasında bir ağ kesintisi oluşursa veya arama düşerse, KULLANıCı Arabirimi Kitaplığı kapanır ve koduyla CallCompositeErrorCode.CALL_END_FAILEDbir hata oluşturur.

Kullanıcının ağ bağlantısı yoksa ve kurulum ekranını atladıktan sonra aramaya katılmayı denerse, kullanıcı arabirimi Kitaplığı arama bağlama aşamasında kapanır ve koduyla CallCompositeErrorCode.NETWORK_CONNECTION_NOT_AVAILABLEbir hata oluşturur. Bu hatayı önlemek için, uygulamanızı kullanıcılar bir aramaya katılmadan önce ağ kullanılabilirliğini denetleyecek şekilde yapılandırmanızı öneririz.

Hata olaylarını almak için ile CallCompositeçağrısında bulunursetOnErrorHandler.

Hata işleyicisine aşağıdaki error değerler gönderilebilir:

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

Daha fazla bilgi için açık kaynak iOS KULLANıCı Arabirimi Kitaplığı'na ve örnek uygulama koduna bakın.

Kurulum ekranını atlama seçeneği

LocalOptions , Kullanıcı Arabirimi Kitaplığı'nın Boole kullanarak kurulum ekranını atlama özelliğini ayarlayan bir seçenek sarmalayıcıdır. Varsayılan olarak, kurulum ekranını atlama özelliği olarak falseayarlanır. Kurulum ekranını atlama deneyimini sağlamak için Boole true değeriyle ayarlamanız skipSetupScreen gerekir.

Uygulamanızı, kullanıcı bir aramaya katılmaya çalıştığında sorunsuz bir birleştirme deneyimi için mikrofon izni verilecek şekilde derlemenizi öneririz.

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

Özelliğini kullanmak için Boole değerini ile geçirin skipSetupScreen LocalOptions ve içine yerleştirin callComposite.launch.

let localOptions = LocalOptions(skipSetupScreen: true)

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

Kamera ve mikrofon yapılandırması için varsayılan seçenekler

Varsayılan olarak, kurulum ekranı kullanıcılara bir aramaya katılmadan önce kamera ve mikrofon ayarlarını yapılandırma seçeneği sunar. Bir aramaya katılmak için kurulum ekranını atlayarak ayarladığınızda, kullanıcılar aramaya katılana kadar bu seçeneğe sahip olmaz.

Kullanıcılar aramaya katılmadan önce kamerayı ve mikrofonu açıp kapatmak için ve ile cameraOn microphoneOn boole değeri geçirebilirsiniz. Kullanıcının her biri için sırasıyla izin vermesi durumunda kamera ve mikrofonun varsayılan durumunu denetleme işlevi etkilenmez.

Varsayılan olarak, hem hem de cameraOn microphoneOn olarak falseayarlanır. Kullanıcı Arabirimi Kitaplığı'nın varsayılan çağrı birleştirme deneyiminde bile bu işlevi kullanabilirsiniz. Bu durumda kamera ve mikrofon, ayarladığınız yapılandırmaya göre kurulum ekranında açılır veya kapatılır.

Kamera ve mikrofonun varsayılan durumunu ayarlamak için ve ile cameraOn microphoneOn LocalOptions Boole değerini geçirin ve içine callComposite.launchyerleştirin.

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

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

İzin işleme

Kullanıcıların mikrofon ve kamera için varsayılan yapılandırma API'leriyle kurulum ekranını atlama özelliğini kullanmaları için mikrofon ve kamera izni verilen bir aramaya katılmalarına izin vermenizi öneririz. Kullanıcının izinlerini işlemezseniz, KULLANıCı Arabirimi Kitaplığı bunları sizin için işlemeye çalışır.

Kullanıcıların bir aramaya katılmak için mikrofon iznini etkinleştirmesi gerekir. Kullanıcılar mikrofon iznini reddettikten sonra bir aramaya katılmayı denerse, KULLANıCı Arabirimi Kitaplığı çağrıyı bağlantı aşamasına bırakır ve bir microphonePermissionNotGranted hata oluşturur.

Ancak kullanıcılar, kamera iznini reddetseler bile aramaya katılabilir. Kullanıcı Arabirimi Kitaplığı, kamera izni reddedildiğinde kamera işlevini devre dışı bırakır. Bu nedenle, kamera için varsayılan yapılandırma API'si arama deneyimini etkilemez. Kullanıcılar, kamera izni verdikten sonra kamera için varsayılan yapılandırma API'sinin etkisinin keyfini çıkarabilir.

Mikrofon iznini işlemenizi öneririz. Kullanıcılar aramaya kamera varsayılan olarak açık olarak katılırsa kamera iznini de işlemenizi öneririz.

Ağ hataları

Arama sırasında bir ağ kesintisi oluşursa veya arama düşerse, KULLANıCı Arabirimi Kitaplığı kapanır ve bir callEndFailed hata oluşturur.

Kullanıcının ağ bağlantısı yoksa ve kurulum ekranını atladıktan sonra aramaya katılmayı denerse, kullanıcı arabirimi Kitaplığı çağrı bağlanma aşamasında kapanır ve bir networkConnectionNotAvailable hata oluşturur. Bu hatayı önlemek için, uygulamanızı kullanıcılar bir aramaya katılmadan önce ağ kullanılabilirliğini denetleyecek şekilde yapılandırmanızı öneririz.

Bileşik olaylar üzerinde işlem yapmak için kapanışları uygulayabilirsiniz. Aşağıdaki örnekte, başarısız bir bileşik için hata olayı gösterilmektedir:

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

Hata işleyicisine aşağıdaki error değerler gönderilebilir:

  • microphonePermissionNotGranted
  • networkConnectionNotAvailable

Sonraki adımlar