Partage via


Intégrer CallKit à la bibliothèque d’interface utilisateur

La bibliothèque d’interface utilisateur Azure Communication Services fournit une prise en charge prête à l’emploi pour CallKit. Les développeurs peuvent fournir leur propre configuration de CallKit à utiliser pour la bibliothèque d’interface utilisateur.

Dans cet article, vous allez apprendre à configurer Correctement CallKit à l’aide de la bibliothèque d’interface utilisateur dans votre application.

Important

Cette fonctionnalité d’Azure Communication Services est actuellement en préversion.

Ces interfaces de programmation d’applications et kits de développement logiciel (SDK) en préversion sont fournis sans contrat au niveau du service. Nous vous recommandons de ne pas les utiliser pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge.

Pour plus d’informations, consultez Conditions d’utilisation supplémentaires relatives aux préversions de Microsoft Azure.

Prérequis

Pour plus d’informations, consultez la bibliothèque d’interface utilisateur iOS open source et l’exemple de code d’application.

Configurer l’intégration de CallKit

Le Kit de développement logiciel (SDK) iOS d’appel Azure Communication Services prend en charge l’intégration de CallKit. Vous pouvez activer cette intégration dans la bibliothèque d’interface utilisateur en configurant une instance de CallCompositeCallKitOption. Pour plus d’informations, consultez Intégrer à CallKit.

Spécifier les informations du destinataire d’appel pour les appels entrants et sortants

Pour spécifier les informations des destinataire des appels, créez une instance de CallCompositeCallKitRemoteInfo.

Attribuez une valeur pour displayName personnaliser le nom complet des destinataires d’appel. La valeur spécifiée est displayName exactement la façon dont elle apparaît dans le journal des appels composés.

Affectez également la cxHandle valeur. Il s’agit de ce que l’application reçoit lorsque l’utilisateur revient sur ce contact.

let cxHandle = CXHandle(type: .generic, value: "VALUE_TO_CXHANDLE")
var displayName = "DISPLAY_NAME"
let callKitRemoteInfo = CallCompositeCallKitRemoteInfo(displayName: displayName, cxHandle: cxHandle)

Si vous ne fournissez CallCompositeCallKitRemoteInfopas, la valeur brute de l’identificateur du participant est affichée par défaut.

Configurer des fournisseurs

Si nécessaire, fournissez une CallCompositeCallKitRemoteInfo instance à CallCompositeCallKitOption. La bibliothèque d’interface utilisateur fournit également un fournisseur par défaut : CallCompositeCallKitOption.getDefaultCXProviderConfiguration(). Pour plus d’informations, consultez la documentation du développeur Apple sur CXProviderConfiguration.

let cxProvider = CallCompositeCallKitOption.getDefaultCXProviderConfiguration()

Configurer une session audio

Configurez une session audio à appeler avant de placer ou d’accepter un appel entrant et avant de reprendre un appel en attente. Pour plus d’informations, consultez la documentation des développeurs Apple sur AVAudioSession.

public func configureAudioSession() -> Error? {
    let audioSession = AVAudioSession.sharedInstance()
    var configError: Error?
    do {
        try audioSession.setCategory(.playAndRecord)
    } catch {
        configError = error
    }
    return configError
}

Activer CallKit

Pour activer CallKit, créez une instance de CallCompositeCallKitOption et fournissez-la à 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
)

Étapes suivantes