Delen via


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

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.

CallCompositeSetupScreenViewDatatitle 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

CallCompositeParticipantViewDatais een klasse die het besturingselement voor avatar insteltdisplayNameavatarBitmap.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 van displayName wordt alleen lokaal gebruikt als onderdrukking.
  • Het CallCompositeRemoteOptions exemplaar van displayName wordt doorgegeven aan de server en gedeeld met andere deelnemers.

Als u het CallCompositeParticipantViewData exemplaar displayNameniet 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 CallCompositeSetupScreenViewDataen 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
Screenshot of Android data custom model injection. Screenshot of Android data custom model injection with name.

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 CallCompositeSetParticipantViewDataResultde 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
Screenshot of Android remote participant view data injection.

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 ParticipantViewDatageeft 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 SetupScreenViewDatawordt 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
Screenshot of iOS data custom model injection. Screenshot of iOS data custom model injection with name.

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
Screenshot of iOS remote participants view data injection.

Volgende stappen