Wstrzykiwanie niestandardowego modelu danych w bibliotece interfejsu użytkownika dla aplikacji
Usługi Azure Communication Services korzystają z niezależnego od tożsamości modelu, w którym deweloperzy mogą korzystać z własnych tożsamości. Deweloperzy mogą pobrać model danych i połączyć go z tożsamościami usług Azure Communication Services. Model danych użytkownika najprawdopodobniej zawiera informacje, takie jak nazwa wyświetlana, obraz profilu lub awatar oraz inne szczegóły. Deweloperzy używają tych informacji do tworzenia aplikacji i platform.
Biblioteka interfejsu użytkownika ułatwia wprowadzanie modelu danych użytkownika do składników interfejsu użytkownika. Podczas renderowania składników interfejsu użytkownika są one wyświetlane użytkownikom podane informacje, a nie ogólne informacje z usług Azure Communication Services.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Wdrożony zasób usług komunikacyjnych. Utwórz zasób usług komunikacyjnych.
- Token dostępu użytkownika umożliwiający włączenie klienta wywołania. Uzyskiwanie tokenu dostępu użytkownika.
- Opcjonalnie: ukończenie przewodnika Szybki start dotyczącego rozpoczynania pracy z zestawami biblioteki interfejsu użytkownika.
Konfigurowanie iniekcji
Aby uzyskać szczegółową dokumentację i przewodniki Szybki start dotyczące biblioteki interfejsu użytkownika sieci Web, zobacz artykuł Storybook biblioteki interfejsu użytkownika sieci Web.
Aby dowiedzieć się więcej, zobacz Niestandardowy model danych użytkownika w bibliotece interfejsu użytkownika sieci Web.
Aby uzyskać więcej informacji, zobacz bibliotekę interfejsu użytkownika systemu Android typu open source i przykładowy kod aplikacji.
Dostosowywanie widoku uczestnika lokalnego
Biblioteka interfejsu użytkownika zapewnia deweloperom możliwość zapewnienia dostosowanego środowiska dotyczącego informacji o uczestnikach. Podczas uruchamiania możesz opcjonalnie wstrzyknąć dane uczestnika lokalnego. Te dane lokalne nie są udostępniane serwerowi i można ich użyć do dostosowania nazwy wyświetlanej i awatara użytkownika lokalnego.
Opcje lokalne
CallCompositeLocalOptions
to model danych, który może mieć wartości CallCompositeParticipantViewData
i CallCompositeSetupScreenViewData
. Reprezentuje on lokalnego uczestnika.
Domyślnie w przypadku uczestników zdalnych biblioteka interfejsu użytkownika wyświetla displayName
informacje wprowadzone w programie RemoteOptions
. Te informacje są wysyłane do serwera zaplecza usług Azure Communication Services. W przypadku CallCompositeParticipantViewData
wstrzyknięcia uczestnik displayName
i avatar
informacje są wyświetlane we wszystkich składnikach awatara lokalnie.
Podobnie dla CallCompositeSetupScreenViewData
title
parametrów i subtitle
zastąp CallCompositeSetupScreenViewData
tytuł i podtytuł paska nawigacyjnego odpowiednio na ekranie premeeting. Domyślnie biblioteka interfejsu użytkownika wyświetla pozycję Konfiguracja jako tytuł i nic jako podtytuł.
Dane widoku uczestnika lokalnego
CallCompositeParticipantViewData
jest klasą, która ustawia displayName
, avatarBitmap
i scaleType
dla kontrolki awatara. Ta klasa jest przekazywana do CallCompositeLocalOptions
elementu w celu dostosowania informacji o widoku uczestników lokalnych. Ta klasa jest przechowywana w CallCompositeLocalOptions
obiekcie reprezentującym opcje używane lokalnie na urządzeniu, które wykonuje wywołanie.
To wystąpienie displayName
różni się od displayName
informacji przekazywanych za pośrednictwem metody CallCompositeRemoteOptions
:
- Wystąpienie
CallCompositeParticipantViewData
klasydisplayName
jest używane tylko lokalnie jako zastąpienie. - Wystąpienie
CallCompositeRemoteOptions
obiektudisplayName
jest przekazywane do serwera i udostępniane innym uczestnikom.
Jeśli nie podasz CallCompositeParticipantViewData
wystąpienia displayName
programu , aplikacja używa CallCompositeRemoteOptions
wystąpienia displayName
klasy .
Konfigurowanie danych widoku ekranu
CallCompositeSetupScreenViewData
jest obiektem, który ustawia title
pasek nawigacyjny na subtitle
ekranie konfiguracji wywołań. Jeśli subtitle
nie zdefiniowano, podtytuł jest ukryty. title
W tym miejscu jest wymagane ustawienie subtitle
parametru , ale subtitle
jest opcjonalne w przypadku title
ustawienia. Ta klasa jest przechowywana lokalnie, a jej informacje nie są wysyłane do serwera.
Sposób użycia
Aby użyć CallCompositeLocalOptions
polecenia , przekaż wystąpienie CallCompositeParticipantViewData
i/lub CallCompositeSetupScreenViewData
, i wstrzyknąć CallCompositeLocalOptions
do metody callComposite.launch
.
val participantViewData: CallCompositeParticipantViewData = CallCompositeParticipantViewData()
.setAvatarBitmap((Bitmap) avatarBitmap)
.setScaleType((ImageView.ScaleType) scaleType)
.setDisplayName((String) displayName)
val setupScreenViewData: CallCompositeSetupScreenViewData = CallCompositeSetupScreenViewData()
.setTitle((String) title)
.setSubtitle((String) subTitle)
val localOptions: CallCompositeLocalOptions = CallCompositeLocalOptions()
.setParticipantViewData(participantViewData)
.setSetupScreenViewData(setupScreenViewData)
callComposite.launch(callLauncherActivity, remoteOptions, localOptions)
Widok instalacji | Widok środowiska wywoływania |
---|---|
Dostosowywanie widoku uczestnika zdalnego
W niektórych przypadkach możesz podać lokalne przesłonięcia dla uczestników zdalnych, aby zezwolić na niestandardowe awatary i tytuły.
Proces jest podobny do procesu uczestnika lokalnego, ale dane są ustawiane, gdy uczestnicy dołączają do połączenia. Jako deweloper należy dodać odbiornik, gdy uczestnicy zdalni dołączają do wywołania, a następnie wywołać metodę ustawianą CallCompositeParticipantViewData
dla tych użytkowników zdalnych.
Sposób użycia
Aby ustawić dane widoku dla uczestników zdalnych, ustaw wartość setOnRemoteParticipantJoinedHandler
. W przypadku dołączenia uczestnika zdalnego użyj setRemoteParticipantViewData
polecenia callComposite
, aby wstrzyknąć dane widoku dla uczestników zdalnych. Identyfikator uczestnika CommunicationIdentifier jednoznacznie identyfikuje uczestnika zdalnego.
Wywołuje metodę , aby setRemoteParticipantViewData
zwrócić wynik CallCompositeSetParticipantViewDataResult
funkcji , która ma następujące wartości:
CallCompositeSetParticipantViewDataResult.SUCCESS
CallCompositeSetParticipantViewDataResult.PARTICIPANT_NOT_IN_CALL
callComposite.addOnRemoteParticipantJoinedEventHandler { remoteParticipantJoinedEvent ->
remoteParticipantJoinedEvent.identifiers.forEach { identifier ->
// get displayName, bitmap for identifier
callComposite.setRemoteParticipantViewData(identifier,
CallCompositeParticipantViewData().setDisplayName("displayName")) // setAvatarBitmap for bitmap
}
}
Lista uczestników |
---|
Aby uzyskać więcej informacji, zobacz bibliotekę interfejsu użytkownika systemu iOS typu open source i przykładowy kod aplikacji.
Wstrzykiwanie danych widoku uczestnika lokalnego
Biblioteka interfejsu użytkownika zapewnia deweloperom możliwość zapewnienia dostosowanego środowiska. Podczas uruchamiania możesz wstrzyknąć opcjonalne opcje danych lokalnych. Ten obiekt może zawierać obraz interfejsu użytkownika, który reprezentuje awatar do renderowania, oraz nazwę wyświetlaną do opcjonalnego wyświetlenia. Żadne z tych informacji nie jest wysyłane do usług Azure Communication Services. Jest on przechowywany lokalnie w bibliotece interfejsu użytkownika.
Opcje lokalne
LocalOptions
to model danych, który składa się z elementów ParticipantViewData
i SetupScreenViewData
.
W przypadku ParticipantViewData
programu domyślnie biblioteka interfejsu użytkownika wyświetla displayName
informacje wprowadzone w pliku RemoteOptions
. Te informacje są wysyłane do serwera zaplecza usług Azure Communication Services. W przypadku ParticipantViewData
wstrzyknięcia uczestnik displayName
i avatar
informacje są wyświetlane we wszystkich składnikach awatara.
W przypadku SetupScreenViewData
programu biblioteka interfejsu użytkownika domyślnie wyświetla pozycję Konfiguracja jako tytuł i nic jako podtytuł. Informacje title
i subtitle
w SetupScreenViewData
zastąpieniu tytułu i podtytułu paska nawigacyjnego na ekranie przedmeczowym, odpowiednio.
Dane widoku uczestnika lokalnego
ParticipantViewData
to obiekt, który ustawia obraz interfejsu displayName
użytkownika i avatar
dla składników awatara. Ta klasa jest wstrzykiwana do biblioteki interfejsu użytkownika w celu ustawienia informacji o awatarze. Jest on przechowywany lokalnie i nigdy nie jest wysyłany do serwera.
Konfigurowanie danych widoku ekranu
SetupScreenViewData
to obiekt, który ustawia title
i subtitle
dla paska nawigacyjnego na ekranie przedmeczowym (nazywanym również widokiem konfiguracji). Jeśli zdefiniujesz SetupScreenViewData
element , musisz również podać title
, ponieważ jest to pole wymagane. subtitle
Nie jest jednak wymagane.
Jeśli nie zdefiniujesz subtitle
elementu , jest ona ukryta. Ta klasa jest przechowywana lokalnie, a jej informacje nie są wysyłane do serwera.
Sposób użycia
// LocalOptions (data not sent to the server)
let localParticipantViewData = ParticipantViewData(avatar: <Some UIImage>,
displayName: "<DISPLAY_NAME>")
let localSetupScreenViewData = SetupScreenViewData(title: "<NAV_TITLE>",
subtitle: "<NAV_SUBTITLE>")
let localOptions = LocalOptions(participantViewData: localParticipantViewData,
setupScreenViewData: localSetupScreenViewData)
// RemoteOptions (data sent to the server)
let remoteOptions = RemoteOptions(for: .groupCall(groupId: UUID()),
credential: <Some CommunicationTokenCredential>,
displayName: "<DISPLAY_NAME>")
// Launch
callComposite.launch(remoteOptions: remoteOptions, localOptions: localOptions)
Widok instalacji | Widok środowiska wywoływania |
---|---|
Wstrzykiwanie danych widoku uczestnika zdalnego
Przy dołączeniu uczestnika zdalnego można wstrzyknąć dane widoku dla uczestnika zdalnego. Te dane widoku uczestnika mogą zawierać obraz interfejsu użytkownika reprezentujący awatar do renderowania i nazwę wyświetlaną do opcjonalnego wyświetlenia. Żadne z tych informacji nie jest wysyłane do usług Azure Communication Services. Jest on przechowywany lokalnie w bibliotece interfejsu użytkownika.
Sposób użycia
Aby ustawić dane widoku dla uczestników zdalnych, ustaw onRemoteParticipantJoined
uzupełnianie programu obsługi zdarzeń. W przypadku dołączenia uczestnika zdalnego użyj set(remoteParticipantViewData:, for:, completionHandler:)
polecenia CallComposite
, aby wstrzyknąć dane widoku dla uczestników zdalnych. Identyfikator CommunicationIdentifier
uczestnika jednoznacznie identyfikuje uczestnika zdalnego. Aby zwrócić wynik operacji zestawu, należy użyć opcjonalnej procedury obsługi uzupełniania.
callComposite.events.onRemoteParticipantJoined = { [weak callComposite] identifiers in
for identifier in identifiers {
// map identifier to displayName
let participantViewData = ParticipantViewData(displayName: "<DISPLAY_NAME>")
callComposite?.set(remoteParticipantViewData: participantViewData,
for: identifier) { result in
switch result {
case .success:
print("Set participant view data succeeded")
case .failure(let error):
print("Set participant view data failed with \(error)")
}
}
}
}
Lista uczestników |
---|