Configure push settings
The current Android public API accepts push settings in these scenarios:
startCall(List<String>, NCCallType, NCCallMediaType, INCCallPushConfig, String)inviteToCall(List<String>, INCCallPushConfig, String)endCall(String, INCCallPushConfig)
Top-level fields
INCCallPushConfig defines these fields:
| Field | Description |
|---|---|
disablePushTitle | Whether to hide the push title. |
pushTitle | Push title. |
pushContent | Push body. |
templateId | Push template ID. |
androidConfig | Android-specific push settings. |
iOSConfig | iOS-specific push settings. |
Android-specific settings
In the current code snapshot, INCCallAndroidPushConfig exposes these fields:
| Field | Description |
|---|---|
channelIdHW | Huawei Push channelId. |
imageUrlHW | Image URL for Huawei notifications. |
importanceHW | Huawei notification importance. Uses NCCallPushImportanceHW. |
categoryHW | Huawei notification category. |
channelIdFCM | FCM channel ID. |
fcmCollapseKey | FCM collapse key. |
fcmImageUrl | Image URL for FCM notifications. |
iOS-specific settings
In the current code snapshot, INCCallIOSPushConfig exposes these fields:
| Field | Description |
|---|---|
threadId | APNs thread ID for notification grouping. |
apnsCollapseId | APNs collapse ID. |
richMediaUri | Rich media URI. |
Construction pattern in the current code snapshot
The Android nexconncall module currently exposes the abstract INCCallPushConfig interface, but this repository does not expose a concrete INCCallPushConfig.Builder implementation. In the current snapshot, the verifiable pattern is:
- Build the underlying
RCCallPlusPushConfig. - Wrap it with
CallPushConfigImplasINCCallPushConfig.
Java
RCCallPlusAndroidPushConfig androidConfig =
RCCallPlusAndroidPushConfig.Builder.create()
.setChannelIdHW("hw-channel")
.setCategoryHW("VOIP")
.build();
RCCallPlusIOSPushConfig iosConfig =
RCCallPlusIOSPushConfig.Builder.create()
.setThreadId("thread-id")
.setApnsCollapseId("collapse-id")
.build();
RCCallPlusPushConfig legacyPushConfig =
RCCallPlusPushConfig.Builder.create()
.setPushTitle("Call invitation")
.setPushContent("You have a new audio or video call")
.setAndroidConfig(androidConfig)
.setIOSConfig(iosConfig)
.build();
INCCallPushConfig pushConfig = new CallPushConfigImpl(legacyPushConfig);
NCCallEngine.getInstance().startCall(
Collections.singletonList("remoteUserId"),
NCCallType.SINGLE,
NCCallMediaType.VIDEO,
pushConfig,
"business-extra"
);