Delen via


Quickstart: Aan de slag met ui-bibliotheek

Ga aan de slag met de UI-bibliotheek van Azure Communication Services om communicatie-ervaringen snel te integreren in uw toepassingen. In deze quickstart leert u hoe u UI Library-samenstellingen integreert in een toepassing en hoe u de ervaring voor uw app-gebruikers instelt.

Communication Services UI Library geeft een volledige communicatie-ervaring rechtstreeks in uw toepassing. Het zorgt ervoor dat er verbinding wordt gemaakt met het gesprek en de deelname van de gebruiker aan de oproep achter de schermen wordt ingesteld. Als ontwikkelaar moet u zich zorgen maken over waar in de gebruikerservaring van uw app de communicatie-ervaring moet worden gestart. Het samengestelde neemt de gebruiker door hun apparaten in te stellen, deel te nemen aan het gesprek en eraan deel te nemen en andere deelnemers weer te geven.

Bekijk deze video voor een overzicht:

Notitie

Voor gedetailleerde documentatie en quickstarts over de webgebruikersinterfacebibliotheek gaat u naar het artikelboek van de webgebruikersinterfacebibliotheek.

Vereisten

U hebt toegang tot de volgende quickstarts

Download de Android-voorbeeldtoepassing voor deze quickstart in de open source Azure Communication Services UI Library voor Android.

Vereisten

Het project instellen

Voltooi de volgende secties om het quickstartproject in te stellen.

Een nieuw Android-project maken

Maak in Android Studio een nieuw project:

  1. Selecteer nieuw>project in het menu Bestand.

  2. Selecteer in Nieuw project de projectsjabloon Lege activiteit .

    Schermopname van het dialoogvenster Nieuw project in Android Studio met Lege activiteit geselecteerd.

  3. Selecteer Volgende.

  4. Geef in Empty Activity de naam van het project UILibraryQuickStart. Selecteer Java/Kotlin als taal. Voor de minimale SDK selecteert u API 26: Android 8.0 (Oreo) of hoger.

  5. Selecteer Voltooien.

    Schermopname met nieuwe projectopties en de knop Voltooien geselecteerd.

De pakketten installeren

Voltooi de volgende secties om de vereiste toepassingspakketten te installeren.

Een afhankelijkheid toevoegen

Voeg in uw UILibraryQuickStart/app/build.gradle-bestand (in de app-map) de volgende afhankelijkheid toe:

dependencies {
    ...
    implementation 'com.azure.android:azure-communication-ui-calling:+'
    ...
}

Maven-opslagplaatsen toevoegen

Er zijn twee Maven-opslagplaatsen vereist om de bibliotheek te integreren:

  • MavenCentral
  • De Azure-pakketopslagplaats

De opslagplaatsen toevoegen:

  1. Zorg ervoor dat in uw project Gradle-scripts de volgende opslagplaatsen worden toegevoegd. Voor Android Studio (2020.*) bevindt zich repositories in settings.gradle, onder dependencyResolutionManagement(Gradle version 6.8 or greater). Voor eerdere versies van Android Studio (4.*) bevindt zich repositories op projectniveau build.gradle, onder allprojects{}.

    // dependencyResolutionManagement
    repositories {
        ...
        mavenCentral()
        maven {
            url "https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1"
        }
        ...
    }
    
  2. Synchroniseer uw project met de Gradle-bestanden. Als u het project wilt synchroniseren, selecteert u Project synchroniseren met Gradle-bestanden in het menu Bestand.

Een knop toevoegen aan Activity_main.xml

Voeg in het indelingsbestand app/src/main/res/layout/activity_main.xml de volgende code toe om een knop te maken om het samengestelde bestand te starten:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/startButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Launch"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Het samengestelde initialiseren

De samenstelling initialiseren:

  1. Ga naar MainActivity.

  2. Voeg de volgende code toe om de samengestelde onderdelen voor aanroepen te initialiseren. Vervang "GROUP_CALL_ID" door de groeps-id voor uw oproep. Vervang "DISPLAY_NAME" door uw naam. Vervang "USER_ACCESS_TOKEN" door uw token.

package com.example.uilibraryquickstart

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import com.azure.android.communication.common.CommunicationTokenCredential
import com.azure.android.communication.common.CommunicationTokenRefreshOptions
import com.azure.android.communication.ui.calling.CallComposite
import com.azure.android.communication.ui.calling.CallCompositeBuilder
import com.azure.android.communication.ui.calling.models.CallCompositeGroupCallLocator
import com.azure.android.communication.ui.calling.models.CallCompositeJoinLocator
import java.util.UUID

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        
        val startButton: Button = findViewById(R.id.startButton)
        startButton.setOnClickListener { l -> startCallComposite() }
    }

    private fun startCallComposite() {
        val communicationTokenRefreshOptions = CommunicationTokenRefreshOptions({ fetchToken() }, true)
        val communicationTokenCredential = CommunicationTokenCredential(communicationTokenRefreshOptions)

        val locator: CallCompositeJoinLocator = CallCompositeGroupCallLocator(UUID.fromString("GROUP_CALL_ID"))
        val callComposite: CallComposite = CallCompositeBuilder()
            .applicationContext(this.applicationContext)
            .credential(communicationTokenCredential)
            .displayName("DISPLAY_NAME").build()
        
        callComposite.launch(this, locator)
    }

    private fun fetchToken(): String? {
        return "USER_ACCESS_TOKEN"
    }
}

De code uitvoeren

Bouw en start de toepassing in Android Studio:

  1. Selecteer Starten.
  2. Accepteer machtigingen en selecteer vervolgens apparaat-, microfoon- en video-instellingen.
  3. Selecteer Deelnemen aan gesprek.

GIF-animatie met een voorbeeld van hoe het project wordt uitgevoerd op een Android-apparaat.

Objectmodel

De volgende klassen en interfaces verwerken enkele belangrijke functies van de Android-gebruikersinterface van Azure Communication Services:

Name Beschrijving
CallComposite Samengesteld onderdeel waarmee een gesprekservaring wordt weergegeven met de galerie en besturingselementen van deelnemers
CallCompositeBuilder Opbouwfunctie die bouwt CallComposite met opties
CallCompositeJoinMeetingLocator Doorgegeven start CallComposite om een groepsgesprek te starten
CallCompositeTeamsMeetingLinkLocator Gestart om deel te CallComposite nemen aan een Microsoft Teams-vergadering
CallCompositeLocalizationOptions Opgenomen als optioneel in CallCompositeBuilder het instellen van de taal van de samengestelde

Ui-bibliotheekfunctionaliteit

Haal de code op om belangrijke communicatiefuncties voor uw Android-toepassing te maken.

Verificatie instellen

Als u verificatie wilt instellen, initialiseert u binnen de startCallComposite functie een CommunicationTokenCredential exemplaar. Vervang "USER_ACCESS_TOKEN" door uw toegangstoken.

val callComposite: CallComposite = CallCompositeBuilder().build()

val communicationTokenRefreshOptions = CommunicationTokenRefreshOptions(this::fetchToken, true)

val communicationTokenCredential = CommunicationTokenCredential(communicationTokenRefreshOptions)

CallComposite maken

Als u binnen de startCallComposite functie een CallCompositeBuilder exemplaar wilt maken CallCompositemet toepassingscontext, referenties en een weergavenaam.

val callComposite: CallComposite = CallCompositeBuilder()
            .applicationContext(this.applicationContext)
            .credential(communicationTokenCredential)
            .displayName("DISPLAY_NAME").build()

Een groepsoproep instellen

Als u een groepsoproep wilt instellen, initialiseert u een CallCompositeGroupCallLocator.

val locator = CallCompositeGroupCallLocator(UUID.fromString("GROUP_CALL_ID"))

Deelnemen aan een Teams-vergadering

U kunt deelnemen aan een Teams-vergadering met behulp van twee mechanismen:

  • Korte URL van Teams-vergadering of Teams-vergadering
  • Vergaderings-id en wachtwoordcode voor Teams

De koppeling naar de Teams-vergadering kan worden opgehaald met behulp van Graph-API's, die worden beschreven in de Graph-documentatie.

The aanroepende SDK voor Communication Services accepteert een volledige koppeling naar een Teams-vergadering. Deze koppeling wordt geretourneerd als onderdeel van de onlineMeeting-resource, die toegankelijk is bij de eigenschap joinWebUrl. U kunt de vereiste vergaderingsgegevens ook ophalen via de URL in de uitnodiging voor de Teams-vergadering zelf.

Deelnemen via de URL van de Teams-vergadering

Als u wilt deelnemen aan een Microsoft Teams-vergadering, initialiseert u een CallCompositeTeamsMeetingLinkLocator.

val locator = CallCompositeTeamsMeetingLinkLocator("TEAMS_MEETING_LINK")

Deelnemen via teams-vergaderings-id en wachtwoordcode

Hiermee CallCompositeTeamsMeetingLinkLocator wordt een vergadering gevonden met behulp van een vergaderings-id en wachtwoordcode. Deze vindt u onder de deelnamegegevens van een Teams-vergadering. Een Teams-vergaderings-id is 12 tekens lang en bestaat uit numerieke cijfers gegroepeerd in drie tekens (dat wil 000 000 000 000bijvoorbeeld). Een wachtwoordcode bestaat uit 6 alfabettekens (dat aBcDeFwil bijvoorbeeld ). De wachtwoordcode is hoofdlettergevoelig.

val locator = CallCompositeTeamsMeetingIdLocator("TEAMS_MEETING_ID", "TEAMS_MEETING_PASSCODE")

Een telefoongesprek met ruimten instellen

Als u een aanroep van Azure Communication Services-ruimten wilt instellen, initialiseert u een CallCompositeRoomLocator met een ruimte-id. Op het installatiescherm CallComposite kunt u camera en microfoon inschakelen voor alle deelnemers met een ruimterol. De werkelijke up-to-date deelnemersrol en -mogelijkheden worden opgehaald uit Azure Communication Services zodra de oproep is verbonden.

Zie de quickstart ruimten voor meer informatie over ruimten, hoe u er een kunt maken en beheren

val locator = CallCompositeRoomLocator("<ROOM_ID>")

Een 1:N uitgaande oproep en pushmeldingen voor binnenkomende oproepen instellen

UI Library ondersteunt een-op-een VoIP-oproep om gebruikers te bellen op communicatie-id. Voor het ontvangen van binnenkomende oproep UI Library ondersteunt ook registratie voor PUSH-meldingen. Voor meer informatie over de integratie voor het Android- en iOS-platform en het gebruik van de API, raadpleegt u Hoe u een-op-een-aanroep maakt en PUSH-meldingen ontvangt.

De samengestelde

Als u de aanroepgebruikersinterface wilt starten, roept launch u binnen de startCallComposite functie het CallComposite exemplaar aan.

callComposite.launch(activityContext, locator)

Abonneren op CallComposite-fout gebeurtenissen

Als u foutevenementen wilt ontvangen, belt u setOnErrorHandler met CallComposite.

De volgende errorCode waarden kunnen naar de fouthandler worden verzonden:

  • CallCompositeErrorCode.CALL_JOIN_FAILED
  • CallCompositeErrorCode.CALL_END_FAILED
  • CallCompositeErrorCode.TOKEN_EXPIRED
  • CallCompositeErrorCode.CAMERA_FAILURE
  • CallCompositeErrorCode.MICROPHONE_PERMISSION_NOT_GRANTED
  • CallCompositeErrorCode.NETWORK_CONNECTION_NOT_AVAILABLE

In het volgende voorbeeld ziet u een foutgebeurtenis voor een mislukte samengestelde gebeurtenis.

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

Een themaconfiguratie toepassen

Als u de primaire kleur van het samengestelde wilt wijzigen, maakt u een nieuwe themastijl in src/main/res/values/themes.xml en src/main/res/values-night/themes.xml met behulp van AzureCommunicationUICalling.Theme het bovenliggende thema. Als u het thema wilt toepassen, injecteert u de thema-id in CallCompositeBuilder:

<style name="MyCompany.CallComposite" parent="AzureCommunicationUICalling.Theme">
    <item name="azure_communication_ui_calling_primary_color">#27AC22</item>
    <item name="azure_communication_ui_calling_primary_color_tint10">#5EC65A</item>
    <item name="azure_communication_ui_calling_primary_color_tint20">#A7E3A5</item>
    <item name="azure_communication_ui_calling_primary_color_tint30">#CEF0CD</item>
</style>
val callComposite: CallComposite =
        CallCompositeBuilder()
            .theme(R.style.MyCompany_CallComposite)
            .build()

Een lokalisatieconfiguratie toepassen

Als u de taal van het samengestelde wilt wijzigen, gebruikt CallCompositeSupportedLocale u deze om te maken CallCompositeLocalizationOptions met Locale. Als u taal wilt toepassen, injecteert u de lokalisatieconfiguratie in CallCompositeBuilder. Standaard gebruiken alle tekstlabels Engelse (en) tekenreeksen. U kunt een CallCompositeLocalizationOptions andere waarde instellen voor language. Ui-bibliotheek bevat standaard een set language waarden die u kunt gebruiken met UI-onderdelen. CallCompositeSupportedLocale biedt de ondersteunde landinstellingen. Als u bijvoorbeeld toegang wilt krijgen tot de Engelse landinstelling, kunt u gebruiken CallCompositeSupportedLocale.EN. CallCompositeSupportedLocale.getSupportedLocales() biedt een lijst met landinstellingenobjecten voor ondersteunde talen.

import com.azure.android.communication.ui.calling.models.CallCompositeLocalizationOptions
import com.azure.android.communication.ui.calling.models.CallCompositeSupportedLocale

// CallCompositeSupportedLocale provides list of supported locale
val callComposite: CallComposite =
            CallCompositeBuilder().localization(
                CallCompositeLocalizationOptions(CallCompositeSupportedLocale.EN)
            ).build()

Abonneren op de gebeurtenis CallComposite-aanroepstatus gewijzigd

Als u gewijzigde gebeurtenissen van de oproepstatus wilt ontvangen, belt addOnCallStateChangedEventHandler u met CallComposite.

In het volgende voorbeeld ziet u een gebeurtenis voor een gewijzigde oproepstatus.

callComposite.addOnCallStateChangedEventHandler { callStateChangedEvent ->
    println(callStateChangedEvent.code)
}

CallComposite sluiten en abonneren op gesloten gebeurtenis

Als u sluiten wilt ontvangen, belt addOnDismissedEventHandler u met CallComposite. Als u CallComposite wilt sluiten, roept u aan dismiss.

In het volgende voorbeeld ziet u een gebeurtenis voor een gewijzigde oproepstatus.

callComposite.addOnDismissedEventHandler { callCompositeDismissedEvent ->
    println(callCompositeDismissedEvent.errorCode)
}

callComposite.dismiss()

Meer voorzieningen

De lijst met use cases bevat gedetailleerde informatie over meer functies.

Meldingen toevoegen aan uw mobiele app

Azure Communication Services kan worden geïntegreerd met Azure Event Grid en Azure Notification Hubs, zodat u pushmeldingen kunt toevoegen aan uw apps in Azure. U kunt pushmeldingen gebruiken om gegevens van uw toepassing naar mobiele apparaten van gebruikers te verzenden. Een pushmelding kan een dialoogvenster weergeven, een geluid afspelen of een binnenkomende oproepgebruikersinterface weergeven.

Haal de iOS-voorbeeldtoepassing voor deze quickstart op in de open source Azure Communication Services UI Library voor iOS.

Vereisten

Het project instellen

Voltooi de volgende secties om het quickstartproject in te stellen.

Een nieuw Xcode-project maken

Maak in Xcode een nieuw project:

  1. Selecteer Nieuw>project in het menu Bestand.

  2. Selecteer in Kies een sjabloon voor uw nieuwe project het iOS-platform en selecteer de app-toepassingssjabloon. In de quickstart worden de UIKit-storyboards gebruikt. In de quickstart worden geen tests gemaakt, zodat u het selectievakje Inclusief tests kunt wissen.

    Schermopname van het dialoogvenster Nieuw project Xcode, met iOS en de app-sjabloon geselecteerd.

  3. Voer in Choose options for your new project, for the product name, UILibraryQuickStart in. Selecteer Storyboard voor de interface.

    Schermopname van het instellen van nieuwe projectopties in Xcode.

Het pakket en afhankelijkheden installeren

  1. (Optioneel) Voor MacBook met M1 installeert en schakelt u Rosetta in Xcode in.

  2. Voer in de hoofdmap van uw project uit pod init om een Podfile te maken. Als er een fout optreedt, werkt u CocoaPods bij naar de huidige versie.

  3. Voeg de volgende code toe aan uw Podfile. Vervang door UILibraryQuickStart de projectnaam.

    platform :ios, '15.0'
    
    target 'UILibraryQuickStart' do
        use_frameworks!
        pod 'AzureCommunicationUICalling'
    end
    
  4. Voer pod install --repo-update uit.

  5. Open in Xcode het bestand generated.xcworkspace*.

Toegang tot apparaathardware aanvragen

Werk de lijst met gegevenseigenschappen van uw app bij om toegang te krijgen tot de hardware van het apparaat, inclusief de microfoon en camera. Stel de gekoppelde waarde in op een tekenreeks die is opgenomen in het dialoogvenster dat het systeem gebruikt om toegang van de gebruiker aan te vragen.

  1. Klik met de rechtermuisknop op de Info.plist-vermelding van de projectstructuur en selecteer Open As>Source Code. Voeg de volgende regels toe aan de sectie op het hoogste niveau <dict> en sla het bestand op.

    <key>NSCameraUsageDescription</key>
    <string></string>
    <key>NSMicrophoneUsageDescription</key>
    <string></string>
    

    Hier volgt een voorbeeld van de Info.plist broncode in een Xcode-bestand:

    Schermopname van een voorbeeld van de broncode van info plist in een Xcode-bestand.

  2. Als u wilt controleren of aanvragen voor apparaatmachtigingen correct zijn toegevoegd, selecteert u Lijst met eigenschappen openen als>. Controleer of de lijst met gegevenseigenschappen er ongeveer uitziet als in het volgende voorbeeld:

    Schermopname van de privacy van het camera- en microfoonapparaat in Xcode.

Bitcode uitschakelen

Stel in het Xcode-project onder Build Settings de optie Bitcode inschakelen in op Nee. Als u de instelling wilt vinden, wijzigt u het filter van Basic in All of gebruikt u de zoekbalk.

Schermopname van de optie Build Settings om Bitcode uit te schakelen.

Het samengestelde initialiseren

De samenstelling initialiseren:

  1. Ga naar ViewController.

  2. Voeg de volgende code toe om de samengestelde onderdelen voor een aanroep te initialiseren. Vervang <GROUP_CALL_ID> door de groeps-id voor uw oproep of door UUID() een groeps-id voor de aanroep te genereren. Vervang <DISPLAY_NAME> door uw naam. (De lengtelimiet voor tekenreeksen <DISPLAY_NAME> is 256 tekens.) Vervang <USER_ACCESS_TOKEN> door uw toegangstoken.

    import UIKit
    import AzureCommunicationCalling
    import AzureCommunicationUICalling
    
    class ViewController: UIViewController {
    
        private var callComposite: CallComposite?
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            let button = UIButton(frame: CGRect(x: 100, y: 100, width: 200, height: 50))
            button.contentEdgeInsets = UIEdgeInsets(top: 10.0, left: 20.0, bottom: 10.0, right: 20.0)
            button.layer.cornerRadius = 10
            button.backgroundColor = .systemBlue
            button.setTitle("Start Experience", for: .normal)
            button.addTarget(self, action: #selector(startCallComposite), for: .touchUpInside)
    
            button.translatesAutoresizingMaskIntoConstraints = false
            self.view.addSubview(button)
            button.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
            button.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
        }
    
        @objc private func startCallComposite() {
            let callCompositeOptions = CallCompositeOptions(displayName: "<DISPLAY_NAME>")
            let communicationTokenCredential = try! CommunicationTokenCredential(token: "<USER_ACCESS_TOKEN>")
    
            callComposite = CallComposite(credential: communicationTokenCredential, withOptions: callCompositeOptions)
    
            callComposite?.launch(locator: .groupCall(groupId: UUID(uuidString: "<GROUP_CALL_ID>")!))
        }
    }
    

De code uitvoeren

Als u uw app wilt bouwen en uitvoeren in de iOS-simulator, selecteert u Productuitvoering> of gebruikt u de sneltoets (⌘-R). Probeer vervolgens de oproepervaring op de simulator uit:

  1. Selecteer Ervaring starten.

  2. Accepteer audiomachtigingen en selecteer vervolgens apparaat-, microfoon- en video-instellingen.

  3. Selecteer Gesprek starten.

GIF-animatie die het uiteindelijke uiterlijk van de iOS-app snelstart laat zien.

Objectmodel

De volgende klassen en interfaces verwerken enkele belangrijke functies van de Azure Communication Services UI-clientbibliotheek:

Name Beschrijving
CallComposite Onderdeel waarmee een oproepervaring wordt weergegeven met een galerie en besturingselementen van deelnemers
CallCompositeOptions Instellingen voor opties zoals thema's en gebeurtenisafhandeling
ThemeOptions Aanpassingsopties voor het samengestelde thema
LocalizationOptions Taalopties voor de samengestelde

Ui-bibliotheekfunctionaliteit

Haal de code op om belangrijke communicatiefuncties voor uw iOS-toepassing te maken.

Verificatie instellen

Als u verificatie wilt instellen, initialiseert u binnen de startCallComposite functie een CommunicationTokenCredential exemplaar. Vervang <USER_ACCESS_TOKEN> door uw toegangstoken.

let communicationTokenCredential = try! CommunicationTokenCredential(token: "<USER_ACCESS_TOKEN>")

Als u nog geen toegangstoken hebt, maakt u een Azure Communication Services-toegangstoken.

CallComposite maken

Als u een exemplaar in de startCallComposite functie wilt makenCallComposite, initialiseert u een CallCompositeOptions exemplaar met optioneel <DISPLAY_NAME> en een CommunicationTokenCredential exemplaar:

@objc private func startCallComposite() {
    let callCompositeOptions = CallCompositeOptions(displayName: "<DISPLAY_NAME>")
    let communicationTokenCredential = try! CommunicationTokenCredential(token: "<USER_ACCESS_TOKEN>")

    callComposite = CallComposite(credential: communicationTokenCredential, withOptions: callCompositeOptions)
}

Een groepsoproep instellen

Als u een groepsoproep wilt instellen, initialiseert u een .groupCall locator in de startCallComposite functie. Vervang <GROUP_CALL_ID> door de groeps-id voor uw oproep.

// let uuid = UUID() to create a new call
let uuid = UUID(uuidString: "<GROUP_CALL_ID>")!
let locator = .groupCall(groupId: uuid)

Zie Gesprekken beheren voor meer informatie over het gebruik van een groeps-id voor gesprekken.

Deelnemen aan een Teams-vergadering

U kunt deelnemen aan een Teams-vergadering met behulp van twee mechanismen:

  • Korte URL van Teams-vergadering of Teams-vergadering
  • Vergaderings-id en wachtwoordcode voor Teams

De koppeling naar de Teams-vergadering kan worden opgehaald met behulp van Graph-API's, die worden beschreven in de Graph-documentatie.

The aanroepende SDK voor Communication Services accepteert een volledige koppeling naar een Teams-vergadering. Deze koppeling wordt geretourneerd als onderdeel van de onlineMeeting-resource, die toegankelijk is bij de eigenschap joinWebUrl. U kunt de vereiste vergaderingsgegevens ook ophalen via de URL in de uitnodiging voor de Teams-vergadering zelf.

Deelnemen via de URL van de Teams-vergadering

Als u wilt deelnemen aan een Microsoft Teams-vergadering, initialiseert u in de startCallComposite functie een exemplaar voor de .teamsMeeting locator. Vervang <TEAMS_MEETING_LINK> deze door de koppeling naar de Teams-vergadering voor uw gesprek. Vervang <DISPLAY_NAME> door uw naam.

let locator = .teamsMeeting(teamsLink: "<TEAMS_MEETING_LINK>")

Deelnemen via teams-vergaderings-id en wachtwoordcode

Hiermee teamMeetingId wordt een vergadering gevonden met behulp van een vergaderings-id en wachtwoordcode. Deze vindt u onder de deelnamegegevens van een Teams-vergadering. Een Teams-vergaderings-id is 12 tekens lang en bestaat uit numerieke cijfers gegroepeerd in drie tekens (dat wil 000 000 000 000bijvoorbeeld). Een wachtwoordcode bestaat uit 6 alfabettekens (dat aBcDeFwil bijvoorbeeld ). De wachtwoordcode is hoofdlettergevoelig.

let locator = .teamsMeetingId(meetingId: "<TEAMS_MEETING_ID>", meetingPasscode:  "<TEAMS_MEETING_PASSCODE>" )

Een kamergesprek instellen

Als u een aanroep van Azure Communication Services-ruimten wilt instellen, initialiseert u een CallCompositeRoomLocator met een ruimte-id. Tijdens het installatiescherm CallComposite kunnen camera en microfoon worden ingeschakeld voor alle deelnemers met een ruimterol. De werkelijke up-to-date deelnemersrol en -mogelijkheden worden opgehaald uit Azure Communication Services zodra de oproep is verbonden.

Zie de quickstart ruimten voor meer informatie over ruimten

let locator = .roomCall(roomId: "<ROOM_ID>")

Een 1:N uitgaande oproep en pushmeldingen voor binnenkomende oproepen instellen

UI Library ondersteunt een-op-een VoIP-oproep om gebruikers te bellen op communicatie-id. Voor het ontvangen van binnenkomende oproep UI Library ondersteunt ook registratie voor PUSH-meldingen. Voor meer informatie over de integratie voor het Android- en iOS-platform en het gebruik van de API, raadpleegt u Hoe u een-op-een-aanroep maakt en PUSH-meldingen ontvangt.

De samengestelde

Roep binnen de startCallComposite functie launch het CallComposite exemplaar aan:

callComposite?.launch(locator: locator)

Abonneren op gebeurtenissen

U kunt sluitingen implementeren om te reageren op samengestelde gebeurtenissen. De volgende errorCodes kunnen naar de fouthandler worden verzonden:

  • callJoin
  • callEnd
  • cameraFailure
  • tokenExpired
  • microphonePermissionNotGranted
  • networkConnectionNotAvailable

In het volgende voorbeeld ziet u een foutgebeurtenis voor een mislukte samengestelde gebeurtenis:

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

Themaopties toepassen

Als u de communicatie-ervaring in uw toepassing wilt aanpassen, maakt u aangepaste themaopties waarmee het protocol wordt ThemeOptions geïmplementeerd. Neem een exemplaar van de nieuwe klasse op in CallCompositeOptions:

class CustomThemeOptions: ThemeOptions {
   var primaryColor: UIColor {
       return UIColor.red
   }
}
let callCompositeOptions = CallCompositeOptions(theme: CustomThemeOptions())

Zie de handleiding voor thema's voor meer informatie over hoe thema's werken.

Lokalisatieopties toepassen

Als u de taal in het samengestelde wilt wijzigen, maakt u aangepaste lokalisatieopties en neemt u deze op.CallCompositeOptions Standaard gebruiken alle tekstlabels Engelse (SupportedLocale.en) tekenreeksen. U kunt een LocalizationOptions andere waarde instellen voor locale. De UI-bibliotheek bevat standaard een set locale waarden die u kunt gebruiken met de ui-onderdelen. SupportedLocale.values bevat een lijst met alle ondersteunde talen.

In het volgende voorbeeld is het samengesteld samengesteld op Frans (fr):

// Option1: Use IntelliSense to get locales UI Library supports.
let localizationOptions = LocalizationOptions(locale: SupportedLocale.frFR)

// Option2: If UI Library doesn't support the locale you set, the Swift Locale struct defaults to English.
let localizationOptions = LocalizationOptions(locale: Locale(identifier: "fr-FR"))

let callCompositeOptions = CallCompositeOptions(localization: localizationOptions) 

Zie de lokalisatiehandleiding voor meer informatie over lokalisatie en voor een lijst met ondersteunde talen.

Abonneren op de gebeurtenis CallComposite-aanroepstatus gewijzigd

U kunt sluitingen implementeren om te reageren op samengestelde gebeurtenissen. De oproepstatussen worden verzonden naar de handler voor de aanroepstatus gewijzigd.

In het volgende voorbeeld ziet u een gebeurtenis voor een gewijzigde oproepstatus.

callComposite?.events.onCallStateChanged = { callStateEvent in
   print("CallComposite call state changed:\(callStateEvent.requestString)")
}

CallComposite sluiten en abonneren op gesloten gebeurtenis

Als u CallComposite wilt sluiten, roept u aan dismiss. De volgende sluitgebeurtenis wordt verzonden op samengestelde oproep, gesloten:

callComposite?.events.onDismissed = { dismissed in
   print("CallComposite dismissed:\(dismissed.errorCode)")
}

callComposite.dismiss()

Meer voorzieningen

De lijst met use cases bevat gedetailleerde informatie over meer functies.

Meldingen toevoegen aan uw mobiele app

Azure Communication Services kan worden geïntegreerd met Azure Event Grid en Azure Notification Hubs, zodat u pushmeldingen kunt toevoegen aan uw apps in Azure. U kunt pushmeldingen gebruiken om gegevens van uw toepassing naar mobiele apparaten van gebruikers te verzenden. Een pushmelding kan een dialoogvenster weergeven, een geluid afspelen of een binnenkomende oproepgebruikersinterface weergeven.

Resources opschonen

Als u een Communication Services-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen.

Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.

Meer informatie over het opschonen van resources.