You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/communication-services/how-tos/calling-sdk/callkit-integration.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ description: Steps on how to integrate CallKit with ACS Calling SDK
11
11
12
12
# Integrate with CallKit
13
13
14
-
In this document we will go through how to integrate CallKit with your iOS application.
14
+
In this document, we'll go through how to integrate CallKit with your iOS application.
15
15
16
16
> [!NOTE]
17
17
> This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment. To use this api please use 'beta' release of Azure Communication Services Calling iOS SDK
@@ -60,7 +60,7 @@ description: Steps on how to integrate CallKit with ACS Calling SDK
60
60
options.callKitRemoteInfo=CallKitRemoteInfo()
61
61
```
62
62
63
-
1. Assign value for `callKitRemoteInfo.displayNameForCallKit` to customize display name for call recipients and configure `CXHandle` value. This value specified in `displayNameForCallKit` is exactly how it will show up in the last dialled call log.
63
+
1. Assign value for `callKitRemoteInfo.displayNameForCallKit` to customize display name for call recipients and configure `CXHandle` value. This value specified in `displayNameForCallKit` is exactly how it will show up in the last dialed call log.
@@ -80,7 +80,7 @@ description: Steps on how to integrate CallKit with ACS Calling SDK
80
80
81
81
Configure the properties of `CallKitOptions` instance:
82
82
83
-
Block that is passed to variable `provideRemoteInfo` will be called by the SDK when we receive an incoming call and we need to get a display name for the incoming caller which we need to pass to the CallKit.
83
+
Block that is passed to variable `provideRemoteInfo` will be called by the SDK when we receive an incoming call and we need to get a display name for the incoming caller, which we need to pass to the CallKit.
@@ -126,7 +126,7 @@ description: Steps on how to integrate CallKit with ACS Calling SDK
126
126
127
127
### Handle incoming push notification payload
128
128
129
-
When the app receives incoming push notification payload, we need to call `handlePush` to process it. With this API we can raise the `IncomingCall` event.
129
+
When the app receives incoming push notification payload, we need to call `handlePush` to process it. ACS Calling SDK will then raise the `IncomingCall` event.
@@ -143,7 +143,7 @@ description: Steps on how to integrate CallKit with ACS Calling SDK
143
143
```
144
144
145
145
We can use `reportIncomingCallFromKillState` to handle push notifications when the app is closed.
146
-
`reportIncomingCallFromKillState` API should not be called if `CallAgent` instance is already available when push is received.
146
+
`reportIncomingCallFromKillState` API shouldn't be called if `CallAgent` instance is already available when push is received.
147
147
148
148
```Swift
149
149
iflet agent =self.callAgent {
@@ -178,8 +178,8 @@ description: Steps on how to integrate CallKit with ACS Calling SDK
178
178
179
179
## CallKit Integration (within App)
180
180
181
-
If you wist to integrate the CallKit within the app and not use the CallKit implementation in the SDK, please take a look at the quickstart sample [here](https://github.com/Azure-Samples/communication-services-ios-quickstarts/tree/main/Add%20Video%20Calling).
182
-
But one of the important thing to take care of is to start the audio at the right time. Like following
181
+
If you wish to integrate the CallKit within the app and not use the CallKit implementation in the SDK, please take a look at the quickstart sample [here](https://github.com/Azure-Samples/communication-services-ios-quickstarts/tree/main/Add%20Video%20Calling).
182
+
But one of the important things to take care of is to start the audio at the right time. Like following
This will ensure that physical audio devices are not used until the CallKit calls the `didActivateAudioSession` on `CXProviderDelegate`. Otherwise the call may get dropped or no audio will be flowing.
197
+
Muting speaker and microphone will ensure that physical audio devices aren't used until the CallKit calls the `didActivateAudioSession` on `CXProviderDelegate`. Otherwise the call may get dropped or no audio will be flowing.
NOTE: In some cases CallKit does not call `didActivateAudioSession` even though the app has elevated audio permissions, in that case the audio will stay muted until the call back is recieved. And the UI has to reflect the state of the speaker and microphone. The remote participant/s in the call will see that the user has muted audio as well. User will have to manually unmute in those cases.
214
+
NOTE: In some cases CallKit doesn't call `didActivateAudioSession` even though the app has elevated audio permissions, in that case the audio will stay muted until the call back is received. And the UI has to reflect the state of the speaker and microphone. The remote participant/s in the call will see that the user has muted audio as well. User will have to manually unmute in those cases.
0 commit comments