Een aangepast gegevensmodel in de UI-bibliotheek voor een toepassing injecteren
Azure Communication Services maakt gebruik van een identiteitsneutraal model waarin ontwikkelaars hun eigen identiteiten kunnen meenemen. Ontwikkelaars kunnen hun gegevensmodel ophalen en koppelen aan Azure Communication Services-identiteiten. Het gegevensmodel voor een gebruiker bevat waarschijnlijk informatie zoals weergavenaam, profielfoto of avatar en andere details. Ontwikkelaars gebruiken deze informatie om hun toepassingen en platforms te bouwen.
De UI-bibliotheek maakt het eenvoudig voor u om een gebruikersgegevensmodel in de gebruikersinterface-onderdelen te injecteren. Wanneer u de ui-onderdelen weergeeft, geven ze gebruikers de verstrekte informatie weer in plaats van algemene informatie van Azure Communication Services.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een geïmplementeerde Communication Services-resource. Een Communication Services-resource maken.
- Een gebruikerstoegangstoken om de aanroepclient in te schakelen. Een toegangstoken voor gebruikers ophalen.
- Optioneel: Voltooiing van de quickstart om aan de slag te gaan met de samengestelde UI-bibliotheek.
Injectie instellen
Zie het artikelboek over de webgebruikersinterfacebibliotheek voor gedetailleerde documentatie en quickstarts over de webgebruikersinterfacebibliotheek.
Zie Aangepast gebruikersgegevensmodel in de webgebruikersinterfacebibliotheek voor meer informatie.
Zie de opensource-uibibliotheek voor Android en de voorbeeldtoepassingscode voor meer informatie.
Aanpassing van lokale deelnemerweergave
De UI-bibliotheek biedt ontwikkelaars de mogelijkheid om een aangepaste ervaring te bieden met betrekking tot informatie van deelnemers. Bij het starten kunt u eventueel lokale deelnemergegevens invoeren. Deze lokale gegevens worden niet gedeeld met de server en u kunt deze gebruiken om de weergavenaam en avatar van de lokale gebruiker aan te passen.
Lokale opties
CallCompositeLocalOptions
is het gegevensmodel dat kan bevatten CallCompositeParticipantViewData
en CallCompositeSetupScreenViewData
. Het vertegenwoordigt de lokale deelnemer.
Standaard geeft de UI-bibliotheek voor externe deelnemers informatie weer displayName
die is opgenomen in RemoteOptions
. Deze informatie wordt verzonden naar de back-endserver van Azure Communication Services. Als CallCompositeParticipantViewData
de deelnemer wordt geïnjecteerd, worden de deelnemers displayName
en avatar
informatie lokaal weergegeven in alle avataronderdelen.
CallCompositeSetupScreenViewData
title
Voor en subtitle
bij CallCompositeSetupScreenViewData
het overschrijven van de titel en subtitel van de navigatiebalk op het premeetscherm, respectievelijk. Standaard wordt in de UI-bibliotheek Setup weergegeven als de titel en niets als de subtitel.
Gegevens van lokale deelnemers weergeven
CallCompositeParticipantViewData
is een klasse die het besturingselement voor avatar insteltdisplayName
avatarBitmap
.scaleType
Deze klas wordt doorgegeven CallCompositeLocalOptions
om de weergavegegevens van de lokale deelnemers aan te passen. Deze klasse wordt bewaard in het CallCompositeLocalOptions
object dat opties vertegenwoordigt die lokaal worden gebruikt op het apparaat dat de aanroep doet.
Dit exemplaar verschilt displayName
van de displayName
informatie die wordt doorgegeven via CallCompositeRemoteOptions
:
- Het
CallCompositeParticipantViewData
exemplaar vandisplayName
wordt alleen lokaal gebruikt als onderdrukking. - Het
CallCompositeRemoteOptions
exemplaar vandisplayName
wordt doorgegeven aan de server en gedeeld met andere deelnemers.
Als u het CallCompositeParticipantViewData
exemplaar displayName
niet opgeeft, gebruikt de toepassing het CallCompositeRemoteOptions
exemplaar van displayName
.
Schermweergavegegevens instellen
CallCompositeSetupScreenViewData
is een object dat wordt ingesteld title
en subtitle
voor de navigatiebalk op het scherm voor het instellen van oproepen. Als subtitle
dit niet is gedefinieerd, is de ondertitel verborgen. title
Hier is vereist om in te stellensubtitle
, maar subtitle
is optioneel wanneer title
deze is ingesteld. Deze klasse wordt lokaal opgeslagen en de gegevens worden niet naar de server verzonden.
Gebruik
Als u wilt gebruiken CallCompositeLocalOptions
, geeft u het exemplaar van CallCompositeParticipantViewData
en/of CallCompositeSetupScreenViewData
en injecteert CallCompositeLocalOptions
u aan 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)
Installatieweergave | Weergave Belervaring |
---|---|
![]() |
![]() |
Aanpassing van externe deelnemerweergave
In sommige gevallen wilt u mogelijk lokale onderdrukkingen opgeven voor externe deelnemers om aangepaste avatars en titels toe te staan.
Het proces is vergelijkbaar met het lokale deelnemersproces, maar de gegevens worden ingesteld wanneer deelnemers deelnemen aan het gesprek. Als ontwikkelaar moet u een listener toevoegen wanneer externe deelnemers deelnemen aan het gesprek en vervolgens een methode aanroepen om deze externe gebruikers in te stellen CallCompositeParticipantViewData
.
Gebruik
Als u de weergavegegevens voor externe deelnemers wilt instellen, stelt u in setOnRemoteParticipantJoinedHandler
. Gebruik bij deelname aan externe deelnemers setRemoteParticipantViewData
om callComposite
weergavegegevens voor externe deelnemers in te voeren. De deelnemer-id CommunicationIdentifier identificeert een externe deelnemer op unieke wijze.
Aanroepen om een resultaat te setRemoteParticipantViewData
retourneren waarvan CallCompositeSetParticipantViewDataResult
de volgende waarden zijn:
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
}
}
Lijst met deelnemers |
---|
![]() |
Zie de opensource iOS UI-bibliotheek en de voorbeeldtoepassingscode voor meer informatie.
Lokale deelnemer bekijkt gegevensinjectie
De UI-bibliotheek biedt ontwikkelaars de mogelijkheid om een aangepaste ervaring te bieden. Bij het starten kunt u optionele opties voor lokale gegevens injecteren. Dit object kan een UI-afbeelding bevatten die de avatar vertegenwoordigt die moet worden weergegeven en een weergavenaam die optioneel moet worden weergegeven. Deze informatie wordt niet naar Azure Communication Services verzonden. Deze wordt lokaal opgeslagen in de UI-bibliotheek.
Lokale opties
LocalOptions
is een gegevensmodel dat bestaat uit ParticipantViewData
en SetupScreenViewData
.
Standaard ParticipantViewData
geeft de UI-bibliotheek informatie weer displayName
die is geïnjecteerd in RemoteOptions
. Deze informatie wordt verzonden naar de back-endserver van Azure Communication Services. Als ParticipantViewData
deze wordt geïnjecteerd, worden de deelnemer displayName
en avatar
informatie weergegeven in alle avataronderdelen.
Standaard SetupScreenViewData
wordt setup in de UI-bibliotheek weergegeven als de titel en niets als de subtitel. De title
en subtitle
informatie in SetupScreenViewData
overschrijft respectievelijk de titel en ondertitel van de navigatiebalk op het premeetscherm.
Gegevens van lokale deelnemers weergeven
ParticipantViewData
is een object waarmee de afbeelding van de displayName
gebruikersinterface avatar
voor avataronderdelen wordt ingesteld. Deze klasse wordt geïnjecteerd in de UI-bibliotheek om avatargegevens in te stellen. Het wordt lokaal opgeslagen en nooit naar de server verzonden.
Schermweergavegegevens instellen
SetupScreenViewData
is een object dat wordt ingesteld title
en subtitle
voor de navigatiebalk op het premeetscherm (ook wel installatieweergave genoemd). Als u definieert SetupScreenViewData
, moet u ook opgeven title
omdat dit een vereist veld is. subtitle
Dit is echter niet vereist.
Als u dit niet definieert subtitle
, is deze verborgen. Deze klasse wordt lokaal opgeslagen en de gegevens worden niet naar de server verzonden.
Gebruik
// 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)
Installatieweergave | Weergave Belervaring |
---|---|
![]() |
![]() |
Externe deelnemer bekijken gegevensinjectie
Bij deelname aan externe deelnemers kunt u de weergavegegevens voor de externe deelnemer invoeren. Deze gegevens van de deelnemerweergave kunnen een UI-afbeelding bevatten die de avatar vertegenwoordigt die moet worden weergegeven en een weergavenaam die optioneel moet worden weergegeven. Deze informatie wordt niet naar Azure Communication Services verzonden. Deze wordt lokaal opgeslagen in de UI-bibliotheek.
Gebruik
Als u de weergavegegevens voor externe deelnemers wilt instellen, stelt u onRemoteParticipantJoined
de voltooiing in voor de gebeurtenis-handler. Gebruik bij deelname aan externe deelnemers set(remoteParticipantViewData:, for:, completionHandler:)
om CallComposite
weergavegegevens voor externe deelnemers in te voeren. De deelnemer-id CommunicationIdentifier
identificeert een externe deelnemer op unieke wijze. U gebruikt de optionele voltooiingshandler om het resultaat van de setbewerking te retourneren.
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)")
}
}
}
}
Lijst met deelnemers |
---|
![]() |