Integrieren von CallKit in die Ui-Bibliothek
Die Benutzeroberfläche der Azure Communication Services-Bibliothek bietet sofort einsatzbereite Unterstützung für CallKit. Entwickler können ihre eigene Konfiguration für CallKit bereitstellen, die für die UI-Bibliothek verwendet werden soll.
In diesem Artikel erfahren Sie, wie Sie CallKit ordnungsgemäß einrichten, indem Sie die Ui-Bibliothek in Ihrer Anwendung verwenden.
Wichtig
Dieses Feature von Azure Communication Services befindet sich derzeit in der Vorschau.
Vorschau-APIs und -SDKs werden ohne Vereinbarung zum Servicelevel bereitgestellt. Es wird empfohlen, diese nicht für Produktionsworkloads zu verwenden. Einige Features werden möglicherweise nicht unterstützt oder bieten nur eingeschränkte Funktionalität.
Weitere Informationen finden Sie in den ergänzenden Nutzungsbestimmungen für Microsoft Azure-Vorschauversionen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Eine bereitgestellte Communication Services-Ressource. Erstellen Sie eine Communication Services-Ressource.
- Ein Benutzerzugriffstoken zum Aktivieren des Anrufclients. Rufen Sie ein Benutzerzugriffstoken ab.
- Optional: Abschluss der Schnellstartanleitung für die ersten Schritte mit den Verbundelementen der UI-Bibliothek.
Weitere Informationen finden Sie in der Open-Source-iOS-UI-Bibliothek und im Beispielanwendungscode.
Einrichten der CallKit-Integration
Das Azure Communication Services Calling iOS SDK unterstützt die CallKit-Integration. Sie können diese Integration in der Ui-Bibliothek aktivieren, indem Sie eine Instanz von CallCompositeCallKitOption
. Weitere Informationen finden Sie unter Integration in CallKit.
Angeben von Anrufempfängerinformationen für eingehende und ausgehende Anrufe
Um Informationen zum Anrufempfänger anzugeben, erstellen Sie eine Instanz von CallCompositeCallKitRemoteInfo
.
Weisen Sie einen Wert zum displayName
Anpassen des Anzeigenamens für Anrufempfänger zu. Der angegebene displayName
Wert ist genau, wie er im Protokoll für zuletzt gewählte Anrufe angezeigt wird.
Weisen Sie auch den cxHandle
Wert zu. Die Anwendung empfängt, wenn der Benutzer diesen Kontakt zurückruft.
let cxHandle = CXHandle(type: .generic, value: "VALUE_TO_CXHANDLE")
var displayName = "DISPLAY_NAME"
let callKitRemoteInfo = CallCompositeCallKitRemoteInfo(displayName: displayName, cxHandle: cxHandle)
Wenn Sie nicht angeben CallCompositeCallKitRemoteInfo
, wird der Unformatierwert des Teilnehmerbezeichners standardmäßig angezeigt.
Konfigurieren von Anbietern
Geben Sie nach Bedarf eine CallCompositeCallKitRemoteInfo
Instanz an CallCompositeCallKitOption
. Die UI-Bibliothek stellt außerdem einen Standardanbieter bereit: CallCompositeCallKitOption.getDefaultCXProviderConfiguration()
. Weitere Informationen finden Sie in der Apple-Entwicklerdokumentation zu CXProviderConfiguration.
let cxProvider = CallCompositeCallKitOption.getDefaultCXProviderConfiguration()
Konfigurieren einer Audiositzung
Konfigurieren Sie eine Audiositzung, die aufgerufen werden soll, bevor Sie eingehende Anrufe tätigen oder annehmen, und bevor Sie einen Anruf fortsetzen, der gehalten wird. Weitere Informationen finden Sie in der Apple-Entwicklerdokumentation zu AVAudioSession.
public func configureAudioSession() -> Error? {
let audioSession = AVAudioSession.sharedInstance()
var configError: Error?
do {
try audioSession.setCategory(.playAndRecord)
} catch {
configError = error
}
return configError
}
Aktivieren von CallKit
Um CallKit zu aktivieren, erstellen Sie eine Instanz von CallCompositeCallKitOption
und stellen sie bereit.RemoteOptions
let isCallHoldSupported = true // enable call hold (default is true)
let callKitOptions = CallCompositeCallKitOption(
cxProvideConfig: cxProvider,
isCallHoldSupported: isCallHoldSupported,
remoteInfo: callKitRemoteInfo,
configureAudioSession: configureAudioSession
)
let remoteOptions = RemoteOptions(
..., // Other options for Azure Communication Service
callKitOptions: callKitOptions
)
Nächste Schritte
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für