Skip to main content

Configure push settings

The current iOS Call SDK supports push settings in these scenarios:

  • startCall: — set pushConfig / extra on NCCallStartCallParams
  • inviteToCall: — set pushConfig / extra on NCCallInviteToCallParams
  • endCall: — set pushConfig on NCCallEndCallParams

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

FieldTypeDescription
disablePushTitleBOOLWhether to hide the push title.
pushTitleNSString *Push title.
pushContentNSString *Push body.
templateIdNSString *Push template ID.
iOSConfigNCCallIOSPushConfig *iOS-specific push configuration.
androidConfigNCCallAndroidPushConfig *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

FieldDescription
threadIdUsed for notification grouping (thread-id).
apnsCollapseIdUsed for notification replacement (apns-collapse-id).
richMediaUriRich 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

FieldDescription
channelIdHWHuawei Push channel ID.
importanceHWHuawei Push importance. Use NCCallPushImportanceHWNormal or NCCallPushImportanceHWLow.
imageUrlHWImage URL for Huawei notification-style push.
categoryHWHuawei Push category.
channelIdFCMFCM channel ID.
collapseKeyFCMFCM collapse key.
imageUrlFCMImage 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];