Freigeben über


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

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