Skip to main content

Configure push settings

The current Android public API accepts push settings in these scenarios:

  • startCall(NCCallStartCallParams)
  • inviteToCall(NCCallInviteToCallParams)
  • endCall(NCCallEndCallParams)

Top-level fields

NCCallPushConfig defines these fields:

FieldDescription
disablePushTitleWhether to hide the push title.
pushTitlePush title.
pushContentPush body.
templateIdPush template ID.
androidConfigAndroid-specific push settings.
iOSConfigiOS-specific push settings.

Android-specific settings

NCCallAndroidPushConfig exposes these fields:

FieldDescription
channelIdHWHuawei Push channelId.
imageUrlHWImage URL for Huawei notifications.
importanceHWHuawei notification importance. Uses NCCallPushImportanceHW.
categoryHWHuawei notification category.
channelIdFCMFCM channel ID.
collapseKeyFCMFCM collapse key.
imageUrlFCMImage URL for FCM notifications.

iOS-specific settings

NCCallIOSPushConfig exposes these fields:

FieldDescription
threadIdAPNs thread ID for notification grouping.
apnsCollapseIdAPNs collapse ID.
richMediaUriRich media URI.

Construction pattern

Use direct object construction with setters:

Java
NCCallAndroidPushConfig androidConfig = new NCCallAndroidPushConfig();
androidConfig.setChannelIdHW("hw-channel");
androidConfig.setCategoryHW("VOIP");

NCCallIOSPushConfig iosConfig = new NCCallIOSPushConfig();
iosConfig.setThreadId("thread-id");
iosConfig.setApnsCollapseId("collapse-id");

NCCallPushConfig pushConfig = new NCCallPushConfig();
pushConfig.setPushTitle("Call invitation");
pushConfig.setPushContent("You have a new audio or video call");
pushConfig.setAndroidConfig(androidConfig);
pushConfig.setIOSConfig(iosConfig);

NCCallStartCallParams params = new NCCallStartCallParams(
Collections.singletonList("remoteUserId"),
NCCallType.SINGLE,
NCCallMediaType.AUDIO_VIDEO
);
params.setPushConfig(pushConfig);
params.setExtra("business-extra");

NCCallEngine.getInstance().startCall(params);