Configure push settings
The current iOS Call SDK supports push settings in these scenarios:
startCall:— setpushConfig/extraonNCCallStartCallParamsinviteToCall:— setpushConfig/extraonNCCallInviteToCallParamsendCall:— setpushConfigonNCCallEndCallParams
Acceptance uses acceptCall: with NCCallAcceptCallParams (call ID only); there is no push field on accept in the public API.
Top-level object: NCCallPushConfig
Objective C
NCCallPushConfig *pushConfig = [NCCallPushConfig new];
pushConfig.disablePushTitle = NO;
pushConfig.pushTitle = @"New call invitation";
pushConfig.pushContent = @"Tap to answer";
pushConfig.templateId = @"template-id";
Field descriptions
| Field | Type | Description |
|---|---|---|
disablePushTitle | BOOL | Whether to hide the push title. |
pushTitle | NSString * | Push title. |
pushContent | NSString * | Push body. |
templateId | NSString * | Push template ID. |
iOSConfig | NCCallIOSPushConfig * | iOS-specific push configuration. |
androidConfig | NCCallAndroidPushConfig * | Android-specific push configuration. |
iOS-specific object: NCCallIOSPushConfig
Objective C
NCCallIOSPushConfig *iosConfig = [NCCallIOSPushConfig new];
iosConfig.threadId = @"thread-id";
iosConfig.apnsCollapseId = @"collapse-id";
iosConfig.richMediaUri = @"https://example.com/image.png";
pushConfig.iOSConfig = iosConfig;
Field descriptions
| Field | Description |
|---|---|
threadId | Used for notification grouping (thread-id). |
apnsCollapseId | Used for notification replacement (apns-collapse-id). |
richMediaUri | Rich media or extension content URI. |
Android-specific object: NCCallAndroidPushConfig
The public headers expose Huawei Push and FCM related fields:
Objective C
NCCallAndroidPushConfig *androidConfig = [NCCallAndroidPushConfig new];
androidConfig.channelIdHW = @"hw-channel";
androidConfig.importanceHW = NCCallPushImportanceHWNormal;
androidConfig.imageUrlHW = @"https://example.com/hw.png";
androidConfig.categoryHW = @"VOIP";
androidConfig.channelIdFCM = @"fcm-channel";
androidConfig.collapseKeyFCM = @"fcm-collapse";
androidConfig.imageUrlFCM = @"https://example.com/fcm.png";
pushConfig.androidConfig = androidConfig;
Field descriptions
| Field | Description |
|---|---|
channelIdHW | Huawei Push channel ID. |
importanceHW | Huawei Push importance. Use NCCallPushImportanceHWNormal or NCCallPushImportanceHWLow. |
imageUrlHW | Image URL for Huawei notification-style push. |
categoryHW | Huawei Push category. |
channelIdFCM | FCM channel ID. |
collapseKeyFCM | FCM collapse key. |
imageUrlFCM | Image URL for FCM notification-style push. |
Use push settings when starting a call
Objective C
NCCallPushConfig *pushConfig = [NCCallPushConfig new];
pushConfig.pushTitle = @"New call invitation";
pushConfig.pushContent = @"Tap to answer";
NCCallStartCallParams *params =
[[NCCallStartCallParams alloc] initWithCalleeIds:@[ @"remoteUserId" ]
callType:NCCallTypeSingle
mediaType:NCCallMediaTypeAudioVideo];
params.pushConfig = pushConfig;
params.extra = @"business-extra";
[[NCCallEngine getInstance] startCall:params];
Use NCCallStartCallParams for push, extra, and group targetId
Configure pushConfig, extra, and targetId on the same NCCallStartCallParams instance:
Objective C
NCCallStartCallParams *params =
[[NCCallStartCallParams alloc] initWithCalleeIds:@[ @"user_a", @"user_b" ]
callType:NCCallTypeMultiple
mediaType:NCCallMediaTypeAudioVideo];
params.pushConfig = pushConfig;
params.extra = @"business-extra";
params.targetId = @"group-id";
[[NCCallEngine getInstance] startCall:params];