Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Warning
Azure Communication Services voert ingrijpende wijzigingen door en sommige services worden uitgefaseerd. Lees meer in de handleiding voor buitengebruikstelling en ingrijpende wijzigingen.
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. De composite begeleidt de gebruiker bij het instellen van zijn apparaten, het deelnemen aan het gesprek en eraan meedoen, en het weergeven van andere deelnemers.
Bekijk deze video voor een overzicht:
Notitie
Voor gedetailleerde documentatie en snelstartgidsen over de Web UI-bibliotheek bezoekt u de Web UI Library Storybook.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een geïmplementeerde Communication Services-resource. Een Communication Services-resource maken.
- Azure Communication Services-token. Zie voorbeeld
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
- Een Azure-account en een actief Azure-abonnement. Gratis een account maken
- Een besturingssysteem met Android Studio.
- Een geïmplementeerde Azure Communication Services-resource.
- Een Azure Communication Services-toegangstoken.
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:
Selecteer in het menu Bestand Nieuw>Nieuw project.
Selecteer in Nieuw project de projectsjabloon Lege activiteit.
Selecteer Volgende.
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.
Selecteer Voltooien.
De pakketten installeren
Voltooi de volgende secties om de vereiste toepassingspakketten te installeren.
Een afhankelijkheid toevoegen
Voeg in het bestand UILibraryQuickStart/app/build.gradle (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:
Zorg ervoor dat in uw project Gradle-scripts de volgende opslagplaatsen worden toegevoegd. Voor Android Studio (2020.*) bevindt zich
repositoriesinsettings.gradle, onderdependencyResolutionManagement(Gradle version 6.8 or greater). Voor eerdere versies van Android Studio (4.*) bevindt zichrepositoriesop projectniveaubuild.gradle, onderallprojects{}.// dependencyResolutionManagement repositories { ... mavenCentral() maven { url "https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1" } ... }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:
Ga naar
MainActivity.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:
- Selecteer Starten.
- Accepteer machtigingen en selecteer vervolgens apparaat-, microfoon- en video-instellingen.
- Selecteer Deelnemen aan gesprek.
Objectmodel
De volgende klassen en interfaces verwerken enkele belangrijke functies van de Android-gebruikersinterface van Azure Communication Services:
| Name | Beschrijving |
|---|---|
| CallComposite | Samengesteld onderdeel dat een belervaring weergeeft met deelnemersgalerie en bedieningselementen |
| CallCompositeBuilder | Opbouwfunctie die bouwt CallComposite met opties |
| CallCompositeJoinMeetingLocator | Meegegeven CallComposite launch om een groepsgesprek te starten |
| CallCompositeTeamsMeetingLinkLocator | Doorgegeven aan CallComposite starten om deel te nemen aan een Microsoft Teams-vergadering |
| CallCompositeLocalizationOptions | Als optionele parameter geïnjecteerd in CallCompositeBuilder om de taal van de composite in te stellen |
Ui-bibliotheekfunctionaliteit
Haal de code op om belangrijke communicatiefuncties voor uw Android-toepassing te maken.
Verificatie instellen
Om authenticatie in te stellen, initialiseert u in de functie startCallComposite een CommunicationTokenCredential instantie. 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 CallComposite wilt maken, initialiseert u binnen de functie startCallComposite een instantie van CallCompositeBuilder met applicatiecontext, inloggegevens 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.
Deelnemen aan een Teams-vergadering
U kunt deelnemen aan een Teams-vergadering met behulp van twee mechanismen:
- URL van Teams-vergadering of korte URL van 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.
De Calling SDK voor Communication Services accepteert een volledige link naar een Teams-vergadering. Deze link wordt geretourneerd als onderdeel van de onlineMeeting-resource en is toegankelijk via de joinWebUrl-eigenschap. U kunt de benodigde vergaderingsgegevens ook ophalen uit de URL Deelnemen aan vergadering in de uitnodiging voor de Teams-vergadering.
Deelnemen via de URL van de Teams-vergadering
Als u wilt deelnemen aan een Microsoft Teams-vergadering, initialiseert u een CallCompositeTeamsMeetingLinkLocator.
Deelnemen via Teams-vergaderings-id en toegangscode
Met de CallCompositeTeamsMeetingLinkLocator kunt u een vergadering opzoeken met behulp van een vergaderings-ID en toegangscode. 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 toegangscode bestaat uit 6 letters (d.w.z. aBcDeF). De wachtwoordcode is hoofdlettergevoelig.
val locator = CallCompositeTeamsMeetingIdLocator("TEAMS_MEETING_ID", "TEAMS_MEETING_PASSCODE")
Een Rooms-gesprek opzetten
Als u een Rooms-oproep van Azure Communication Services wilt configureren, initialiseert u een CallCompositeRoomLocator met een room-id.
Op het configuratiescherm schakelt CallComposite de camera en microfoon in voor alle deelnemers met welke ruimterol dan ook. De actuele rol en mogelijkheden van de deelnemer worden opgehaald uit Azure Communication Services zodra het gesprek tot stand is gebracht.
Zie de snelstartgids voor Rooms voor meer informatie over Rooms en over het maken en beheren van een Room.
Een 1:N-uitgaande oproep en pushmeldingen voor inkomende oproepen instellen
UI Library ondersteunt een-op-een-VoIP-gesprekken om gebruikers te bellen via hun 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.
Start het composiet
Als u de belinterface wilt starten, roept u binnen de functie startCallCompositelaunch aan op het exemplaar CallComposite.
Abonneren op CallComposite-foutgebeurtenissen
Als u foutgebeurtenissen wilt ontvangen, roept u setOnErrorHandler aan met CallComposite.
De volgende errorCode waarden kunnen naar de fouthandler worden verzonden:
CallCompositeErrorCode.CALL_JOIN_FAILEDCallCompositeErrorCode.CALL_END_FAILEDCallCompositeErrorCode.TOKEN_EXPIREDCallCompositeErrorCode.CAMERA_FAILURECallCompositeErrorCode.MICROPHONE_PERMISSION_NOT_GRANTEDCallCompositeErrorCode.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
Om de taal van de composiet te wijzigen, gebruikt u CallCompositeSupportedLocale om CallCompositeLocalizationOptions te maken met Locale. Als u taal wilt toepassen, injecteert u de lokalisatieconfiguratie in CallCompositeBuilder. Standaard gebruiken alle tekstlabels Engelse (en) tekenreeksen. U kunt CallCompositeLocalizationOptions gebruiken om een andere waarde in te stellen voor language. Ui-bibliotheek bevat standaard een set language waarden die u kunt gebruiken met UI-onderdelen.
CallCompositeSupportedLocale biedt de ondersteunde talen en landinstellingen. Als u bijvoorbeeld toegang wilt krijgen tot de Engelse locale, kunt u CallCompositeSupportedLocale.EN gebruiken.
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 gebeurtenissen voor wijzigingen in de oproepstatus wilt ontvangen, roept u addOnCallStateChangedEventHandler aan met CallComposite.
Het volgende voorbeeld toont een gebeurtenis van een wijziging van de 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.
Het volgende voorbeeld toont een gebeurtenis van een wijziging van de 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
- Een Azure-account en een actief Azure-abonnement. Gratis een account maken
- Een Mac met Xcode 13 of hoger en een geldig ontwikkelaarscertificaat dat in uw sleutelhanger is geïnstalleerd. CocoaPods moeten ook worden geïnstalleerd om afhankelijkheden op te halen.
- Een geïmplementeerde Azure Communication Services-resource.
- Een Azure Communication Services-toegangstoken.
Het project instellen
Voltooi de volgende secties om het quickstartproject in te stellen.
Een nieuw Xcode-project maken
Maak in Xcode een nieuw project:
Selecteer Nieuw>project in het menu Bestand.
Selecteer in Kies een sjabloon voor uw nieuwe project het platform iOS en selecteer de toepassingssjabloon App. In de quickstart worden de UIKit-storyboards gebruikt. Met de snelstart worden geen tests gemaakt, dus u kunt het selectievakje Tests opnemen uitschakelen.
In Choose options for your new project voert u bij de productnaam UILibraryQuickStart in. Selecteer Storyboard voor de interface.
Het pakket en afhankelijkheden installeren
(Optioneel) Voor MacBook met M1 installeert en schakelt u Rosetta in Xcode in.
Voer in de hoofdmap van uw project uit
pod initom een Podfile te maken. Als u een fout tegenkomt, werk CocoaPods bij naar de meest recente versie.Voeg de volgende code toe aan uw Podfile. Vervang door
UILibraryQuickStartde projectnaam.platform :ios, '16.0' target 'UILibraryQuickStart' do use_frameworks! pod 'AzureCommunicationUICalling' endVoer
pod install --repo-updateuit.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.
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.plistbroncode in een Xcode-bestand:
Om te controleren of machtigingsaanvragen voor het apparaat correct zijn toegevoegd, selecteert u Open AsProperty List. Controleer of de lijst met gegevenseigenschappen er ongeveer uitziet als in het volgende voorbeeld:
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.
Het samengestelde initialiseren
De samenstelling initialiseren:
Ga naar
ViewController.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 doorUUID()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:
Selecteer Ervaring starten.
Accepteer audiomachtigingen en selecteer vervolgens apparaat-, microfoon- en video-instellingen.
Selecteer Gesprek starten.
Objectmodel
De volgende klassen en interfaces verwerken enkele belangrijke functies van de Azure Communication Services UI-clientbibliotheek:
| Name | Beschrijving |
|---|---|
| CallComposite | Onderdeel dat een belervaring weergeeft met een deelnemersgalerij en bedieningselementen |
| CallCompositeOptions | Instellingen voor opties zoals thema's en gebeurtenisafhandeling |
| ThemeOptions | Aanpassingsopties voor het samengestelde thema |
| LocalizationOptions | Taalopties voor het samengestelde item |
Ui-bibliotheekfunctionaliteit
Haal de code op om belangrijke communicatiefuncties voor uw iOS-toepassing te maken.
Verificatie instellen
Om authenticatie in te stellen, initialiseert u in de functie startCallComposite een CommunicationTokenCredential instantie. 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
Om CallComposite te maken, initialiseert u in de functie startCallComposite een exemplaar van CallCompositeOptions met optioneel <DISPLAY_NAME> en een exemplaar van CommunicationTokenCredential:
@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 startCallComposite locator in de .groupCall 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:
- URL van Teams-vergadering of korte URL van 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.
De Calling SDK voor Communication Services accepteert een volledige link naar een Teams-vergadering. Deze link wordt geretourneerd als onderdeel van de onlineMeeting-resource en is toegankelijk via de joinWebUrl-eigenschap. U kunt de benodigde vergaderingsgegevens ook ophalen uit de URL Deelnemen aan vergadering in de uitnodiging voor de Teams-vergadering.
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> door de Teams-vergaderlink voor uw gesprek. Vervang <DISPLAY_NAME> door uw naam.
let locator = .teamsMeeting(teamsLink: "<TEAMS_MEETING_LINK>")
Deelnemen via Teams-vergaderings-id en toegangscode
Met de teamMeetingId kunt u een vergadering opzoeken met behulp van een vergaderings-ID en toegangscode. 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 toegangscode bestaat uit 6 letters (d.w.z. aBcDeF). De wachtwoordcode is hoofdlettergevoelig.
let locator = .teamsMeetingId(meetingId: "<TEAMS_MEETING_ID>", meetingPasscode: "<TEAMS_MEETING_PASSCODE>" )
Een kamergesprek instellen
Als u een Rooms-oproep van Azure Communication Services wilt configureren, initialiseert u een CallCompositeRoomLocator met een room-id.
Op het instellingenscherm schakelt CallComposite de camera en microfoon in voor alle deelnemers, ongeacht hun rol in de ruimte. De actuele rol en mogelijkheden van de deelnemer worden opgehaald uit Azure Communication Services zodra het gesprek tot stand is gebracht.
Zie Rooms QuickStart voor meer informatie over Ruimten en hoe u er een maakt en beheert
let locator = .roomCall(roomId: "<ROOM_ID>")
Een 1:N-uitgaande oproep en pushmeldingen voor inkomende oproepen instellen
UI Library ondersteunt een-op-een-VoIP-gesprekken om gebruikers te bellen via hun 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.
Start het composiet
Roep binnen de startCallComposite-functie launch aan op het CallComposite-exemplaar:
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:
callJoincallEndcameraFailuretokenExpiredmicrophonePermissionNotGrantednetworkConnectionNotAvailable
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, kunt u aangepaste themaopties maken die het ThemeOptions-protocol implementeren. 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
Om de taal in de composiet te wijzigen, maakt u aangepaste lokalisatieopties en neemt u deze op in CallCompositeOptions. Standaard gebruiken alle tekstlabels Engelse (SupportedLocale.en) tekenreeksen. U kunt LocalizationOptions gebruiken om een andere waarde in te stellen 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 de composiet naar het Frans gelokaliseerd (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 wijzigingen in de oproepstatus.
Het volgende voorbeeld toont een gebeurtenis van een wijziging van de 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 wanneer de samengestelde oproep wordt 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 opruimen
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.