Skip to main content

Configure push settings

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

  • startCall:callType:mediaType:pushConfig:extra:
  • inviteToCall:pushConfig:extra:
  • endCall:pushConfig:
  • acceptCall:pushConfig:

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.
apnsCollapseIdUsed for notification replacement.
richMediaUriRich media or extension content URI.

Android-specific object: NCCallAndroidPushConfig

In the current public headers, the Android push configuration exposes only Huawei Push and FCM related fields:

Objective C
NCCallAndroidPushConfig *androidConfig = [NCCallAndroidPushConfig new];
androidConfig.channelId_HW = @"hw-channel";
androidConfig.importance_HW = NCCallPushImportanceHWNormal;
androidConfig.imageUrl_HW = @"https://example.com/hw.png";
androidConfig.category_HW = @"VOIP";
androidConfig.channelId_FCM = @"fcm-channel";
androidConfig.collapseKey_FCM = @"fcm-collapse";
androidConfig.imageUrl_FCM = @"https://example.com/fcm.png";

pushConfig.androidConfig = androidConfig;

Use push settings when starting a call

Objective C
[[NCCallEngine sharedInstance] startCall:@[@"remoteUserId"]
callType:NCCallSingleType
mediaType:NCCallAudioVideoMediaType
pushConfig:pushConfig
extra:@"business-extra"];

If you need to configure push settings, extra, and a group targetId together, use NCCallOption:

Objective C
NCCallOption *option = [NCCallOption new];
option.pushConfig = pushConfig;
option.extra = @"business-extra";
option.targetId = @"group-id";