@rongcloud/plugin-call-plus 1.1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -508,6 +508,14 @@ interface IStartCallCon {
508
508
  * 正在通话中的老版房间 ID (老版 call 或 meeting)
509
509
  */
510
510
  oldRoomId?: string;
511
+ /**
512
+ * 服务端接收的推送扩展
513
+ */
514
+ pushExt?: string;
515
+ /**
516
+ * 附加信息,服务器透传
517
+ */
518
+ extra?: string;
511
519
  }
512
520
  /**
513
521
  * 单呼信令内容
@@ -550,6 +558,14 @@ interface IStartSingleCon {
550
558
  * 组织ID
551
559
  */
552
560
  toOrgId?: string;
561
+ /**
562
+ * 附加信息,服务器透传
563
+ */
564
+ extra?: string;
565
+ /**
566
+ * 服务端接收的推送扩展
567
+ */
568
+ pushExt?: string;
553
569
  }
554
570
  /**
555
571
  * 群呼信令内容
@@ -583,6 +599,14 @@ interface IStartGroupCon {
583
599
  * 正在通话中的老版房间 ID (老版 call 或 meeting)
584
600
  */
585
601
  oldRoomId?: string;
602
+ /**
603
+ * 附加信息,服务器透传
604
+ */
605
+ extra?: string;
606
+ /**
607
+ * 服务端接收的推送扩展
608
+ */
609
+ pushExt?: string;
586
610
  }
587
611
  /**
588
612
  * 开始呼叫 Server 返回
@@ -611,6 +635,14 @@ interface IInviteCallCon extends IBaseSingalCon {
611
635
  * 目标用户列表
612
636
  */
613
637
  toUsers: IUser[];
638
+ /**
639
+ * 附加信息,服务器透传
640
+ */
641
+ extra?: string;
642
+ /**
643
+ * 服务端接收的推送扩展
644
+ */
645
+ pushExt?: string;
614
646
  }
615
647
  /**
616
648
  * 邀请好友加入信令结果
@@ -706,6 +738,10 @@ interface IPubInviteCon extends IBaseSingalCon {
706
738
  * 来源组 ID
707
739
  */
708
740
  targetId?: string;
741
+ /**
742
+ * 附加信息
743
+ */
744
+ extra?: string;
709
745
  }
710
746
  /**
711
747
  * 通话响铃信令内容
@@ -727,6 +763,10 @@ interface IJoinCallCon extends IBaseSingalCon {
727
763
  */
728
764
  interface IHangupCallCon extends IBaseSingalCon {
729
765
  sysStatus?: RCCallPlusReason;
766
+ /**
767
+ * 服务端接收的推送扩展
768
+ */
769
+ pushExt?: string;
730
770
  }
731
771
  /**
732
772
  * 通话状态上报信令内容
@@ -1265,6 +1305,14 @@ interface IStartCallOpts extends ICallId {
1265
1305
  * 传入后,会将此房间中的多端中的自己直接踢掉
1266
1306
  */
1267
1307
  oldRoomId?: string;
1308
+ /**
1309
+ * 推送扩展
1310
+ */
1311
+ pushConfig?: IRCCallPlusPushConfig;
1312
+ /**
1313
+ * 附加信息,服务器透传
1314
+ */
1315
+ extra?: string;
1268
1316
  }
1269
1317
  interface IStartCallResult {
1270
1318
  /**
@@ -1299,6 +1347,14 @@ interface IInviteOpts {
1299
1347
  * 来源组 ID
1300
1348
  */
1301
1349
  targetId?: string;
1350
+ /**
1351
+ * 推送扩展
1352
+ */
1353
+ pushConfig?: IRCCallPlusPushConfig;
1354
+ /**
1355
+ * 附加信息,服务器透传
1356
+ */
1357
+ extra?: string;
1302
1358
  }
1303
1359
  interface IInviteRes extends ICallId {
1304
1360
  callType: RCCallPlusType;
@@ -1311,6 +1367,10 @@ interface IHangupForBusyOpts extends ICallId {
1311
1367
  * 用户系统状态
1312
1368
  */
1313
1369
  systemState?: RCCallPlusReason;
1370
+ /**
1371
+ * 推送扩展
1372
+ */
1373
+ pushConfig?: IRCCallPlusPushConfig;
1314
1374
  }
1315
1375
  interface IJoinCallOpts {
1316
1376
  callId: string;
@@ -2034,7 +2094,7 @@ declare class RCCallPlusReportModule {
2034
2094
  * @returns
2035
2095
  */
2036
2096
  private _callAppListener;
2037
- onReceivedCall(session: RCCallPlusSession, traceId: string): void;
2097
+ onReceivedCall(session: RCCallPlusSession, traceId: string, extra?: string): void;
2038
2098
  onRemoteUserInvited(inviteeUserList: string[], inviterUserId: string, callId: string): void;
2039
2099
  onCallConnected(session: RCCallPlusSession): void;
2040
2100
  onCallTypeChanged(callType: RCCallPlusType, callId: string, traceId: string): void;
@@ -2112,6 +2172,10 @@ declare class RCCallEngine extends EventEmitter {
2112
2172
  * 校时器
2113
2173
  */
2114
2174
  _timeCorrectioner: TimeCorrectioner;
2175
+ /**
2176
+ * client callId
2177
+ */
2178
+ private _clientCallId;
2115
2179
  /**
2116
2180
  * 构造器
2117
2181
  */
@@ -2523,8 +2587,9 @@ interface ICallPlusEventListener {
2523
2587
  * 呼入通知
2524
2588
  * 收到呼入时,可选择接听或挂断通话
2525
2589
  * @param session 通话实例
2590
+ * @param extra 透传呼叫方发起呼叫时携带的附加信息
2526
2591
  */
2527
- onReceivedCall(session: RCCallPlusSession): void;
2592
+ onReceivedCall(session: RCCallPlusSession, extra?: string): void;
2528
2593
  /**
2529
2594
  * 群组通话收到远端人员被邀请加入通话通知,如 A 与 B 通话中,A 邀请 C,则 B 会收到此回调
2530
2595
  * @param inviteeUserList - 受邀人用户 ID 列表
@@ -2766,6 +2831,132 @@ interface RCCallPlusCallUser {
2766
2831
  userId: string;
2767
2832
  state: RCCallPlusSessionUserState;
2768
2833
  }
2834
+ /**
2835
+ * 推送信息配置项
2836
+ */
2837
+ interface IRCCallPlusPushConfig {
2838
+ /**
2839
+ * 推送标题
2840
+ */
2841
+ pushTitle: string;
2842
+ /**
2843
+ * iOSConfig
2844
+ */
2845
+ iOSConfig?: IiOSPushConfig;
2846
+ /**
2847
+ * androidConfig
2848
+ */
2849
+ androidConfig?: IAndroidPushConfig;
2850
+ /**
2851
+ * 是否显示推送标题. 仅针对 iOS 平台有效
2852
+ */
2853
+ disablePushTitle?: boolean;
2854
+ /**
2855
+ * 推送模板id
2856
+ */
2857
+ templateId?: string;
2858
+ }
2859
+ /**
2860
+ * ios 推送配置
2861
+ */
2862
+ interface IiOSPushConfig {
2863
+ /**
2864
+ * iOS 用于通知分组的 id
2865
+ */
2866
+ threadId?: string;
2867
+ /**
2868
+ * iOS 用于通知覆盖的 id
2869
+ */
2870
+ apnsCollapseId?: string;
2871
+ /**
2872
+ * 和 category 对应
2873
+ */
2874
+ richMediaUri?: string;
2875
+ }
2876
+ /**
2877
+ * 安卓推送配置
2878
+ */
2879
+ interface IAndroidPushConfig {
2880
+ /**
2881
+ * 小米的 channelId
2882
+ */
2883
+ channelIdMi?: string;
2884
+ /**
2885
+ * 小米 Large icon 链接
2886
+ * Large icon 可以出现在大图版和多字版消息中,显示在右边。
2887
+ * 国内版仅 MIUI12 以上版本支持,以下版本均不支持;国际版支持。
2888
+ * 图片要求:大小 120 * 120px,格式为 png 或者 jpg 格式。
2889
+ */
2890
+ miLargeIconUrl?: string;
2891
+ /**
2892
+ * 华为的 channelId
2893
+ */
2894
+ channelIdHW?: string;
2895
+ /**
2896
+ * 华为推送消息分类
2897
+ * 更多信息请参考华为消息分类标准文档: https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/message-classification-0000001149358835
2898
+ */
2899
+ categoryHW?: string;
2900
+ /**
2901
+ * 华为推送消息级别
2902
+ * LOW: 表示消息为资讯营销
2903
+ * NORMAL: 消息为服务与通讯
2904
+ */
2905
+ importanceHW?: 'NORMAL' | 'LOW';
2906
+ /**
2907
+ * 华为通知类型的推送所使用的通知图片 url
2908
+ */
2909
+ imageUrlHW?: string;
2910
+ /**
2911
+ * OPPO 的 channelId
2912
+ */
2913
+ channelIdOPPO?: string;
2914
+ /**
2915
+ * vivo 的类型
2916
+ */
2917
+ typeVivo?: string;
2918
+ /**
2919
+ * Vivo 分类
2920
+ * 即时消息[IM],账号与资产[ACCOUNT],日程待办[TODO],设备信息[DEVICE_REMINDER],订单与物流[ORDER],订阅提醒[SUBSCRIPTION]
2921
+ * 运营消息分类
2922
+ * 新闻[NEWS],内容推荐[CONTENT],运营活动[MARKETING],社交动态[SOCIAL]
2923
+ */
2924
+ categoryVivo?: string;
2925
+ /**
2926
+ * FCM 推送平台渠道 ID
2927
+ */
2928
+ fcmChannelId?: string;
2929
+ /**
2930
+ * FCM 通知类型推送时所使用的分组 id
2931
+ */
2932
+ fcmCollapseKey?: string;
2933
+ /**
2934
+ * FCM 通知类型的推送所使用的通知图片 url
2935
+ */
2936
+ fcmImageUrl?: string;
2937
+ /**
2938
+ * HONOR 推送级别
2939
+ * LOW: 资讯营销类消息,NORMAL: 服务与通讯类消息
2940
+ */
2941
+ importanceHonor?: 'NORMAL' | 'LOW';
2942
+ /**
2943
+ * HONOR 推送所使用的通知图片 url
2944
+ */
2945
+ imageUrlHonor?: string;
2946
+ }
2947
+ /**
2948
+ * 服务端需要的 pushConfig 数据格式
2949
+ */
2950
+ interface IServerPushExt {
2951
+ title: string;
2952
+ templateId: string;
2953
+ pushId: string;
2954
+ disableTitle: boolean;
2955
+ forceShowPushContent: boolean;
2956
+ pushConfigs: {
2957
+ [key: string]: any;
2958
+ }[];
2959
+ }
2769
2960
 
2770
2961
  declare class RCAudioConfigBuilder {
2771
2962
  private _logger;
@@ -2818,6 +3009,75 @@ declare class RCVideoConfigBuilder {
2818
3009
  build(): IVideoConfig;
2819
3010
  }
2820
3011
 
3012
+ declare class RCCallPlusAndroidPushConfigBuilder {
3013
+ private _logger;
3014
+ private _androidPushConfig;
3015
+ constructor(_logger: BasicLogger);
3016
+ /**
3017
+ * 设置小米的 channelId
3018
+ */
3019
+ setChannelIdMi(channelIdMi: string): this;
3020
+ /**
3021
+ * 设置小米 Large icon 链接
3022
+ */
3023
+ setMiLargeIconUrl(miLargeIconUrl: string): this;
3024
+ /**
3025
+ * 设置华为的 channelId
3026
+ */
3027
+ setChannelIdHW(channelIdHW: string): this;
3028
+ /**
3029
+ * 设置华为推送消息分类
3030
+ */
3031
+ setCategoryHW(categoryHW: string): this;
3032
+ /**
3033
+ * 设置华为推送消息级别
3034
+ */
3035
+ setImportanceHW(importanceHW: 'NORMAL' | 'LOW'): this;
3036
+ /**
3037
+ * 设置华为通知类型的推送所使用的通知图片 url
3038
+ */
3039
+ setImageUrlHW(imageUrlHW: string): this;
3040
+ /**
3041
+ * 设置 OPPO 的 channelId
3042
+ */
3043
+ setChannelIdOPPO(channelIdOPPO: string): this;
3044
+ /**
3045
+ * 设置 vivo 的类型
3046
+ */
3047
+ setTypeVivo(typeVivo: string): this;
3048
+ /**
3049
+ * 设置 Vivo 分类
3050
+ */
3051
+ setCategoryVivo(categoryVivo: string): this;
3052
+ /**
3053
+ * 设置 FCM 推送平台渠道 ID
3054
+ */
3055
+ setFcmChannelId(fcmChannelId: string): this;
3056
+ /**
3057
+ * 设置 FCM 通知类型推送时所使用的分组 id
3058
+ */
3059
+ setFcmCollapseKey(fcmCollapseKey: string): this;
3060
+ /**
3061
+ * 设置 FCM 通知类型的推送所使用的通知图片 url
3062
+ */
3063
+ setFcmImageUrl(fcmImageUrl: string): this;
3064
+ /**
3065
+ * 设置 HONOR 推送级别
3066
+ * LOW: 资讯营销类消息,NORMAL: 服务与通讯类消息
3067
+ */
3068
+ setimportanceHonor(importanceHonor: 'NORMAL' | 'LOW'): this;
3069
+ /**
3070
+ * 设置 HONOR 推送所使用的通知图片 url
3071
+ */
3072
+ setimageUrlHonor(imageUrlHonor: string): this;
3073
+ /**
3074
+ * 构建 IAndroidPushConfig
3075
+ * @returns IAndroidPushConfig 安卓推送配置数据
3076
+ * 返回值需传入 startCall、invite、hangup 方法的 pushConfig.androidConfig 中
3077
+ */
3078
+ build(): IAndroidPushConfig;
3079
+ }
3080
+
2821
3081
  declare class RCCallPlusClient {
2822
3082
  private readonly _context;
2823
3083
  private readonly _logger;
@@ -2954,6 +3214,13 @@ declare class RCCallPlusClient {
2954
3214
  * 设置完需调 build 方法,最终在 setAudioConfig 后生效
2955
3215
  */
2956
3216
  createAudioConfigBuilder(): RCAudioConfigBuilder;
3217
+ /**
3218
+ * 创建安卓推送信息构建器
3219
+ * @returns RCCallPlusAndroidPushConfigBuilder 用于构造安卓推送信的配置项
3220
+ * 设置完需调 build 方法获取设置的 androidPushConfig 数据
3221
+ * 最终需把 androidPushConfig 传入 startCall、invite、hangup 方法的 pushConfig.androidConfig 中
3222
+ */
3223
+ createAndroidPushConfigBuilder(): RCCallPlusAndroidPushConfigBuilder;
2957
3224
  /**
2958
3225
  * 设置音频配置
2959
3226
  * 下次采集时生效,如重新建立通话
@@ -2966,9 +3233,11 @@ declare class RCCallPlusClient {
2966
3233
  * @param userIds 被叫人员 userId 列表,单人呼叫仅需在数组中放置对方一人的 userId
2967
3234
  * @param type 单人呼叫 or 多人呼叫
2968
3235
  * @param mediaType 通话媒体类型: 音频 or 音视频
3236
+ * @param pushConfig 移动端推送信息
3237
+ * @param extra 附加信息,会透传给被呼叫方
2969
3238
  * @returns callId 呼叫成功后,产生的会话 id
2970
3239
  */
2971
- startCall(userIds: string[], callType?: RCCallPlusType, mediaType?: RCCallPlusMediaType): Promise<{
3240
+ startCall(userIds: string[], callType?: RCCallPlusType, mediaType?: RCCallPlusMediaType, pushConfig?: IRCCallPlusPushConfig, extra?: string): Promise<{
2972
3241
  code: number;
2973
3242
  callId?: string;
2974
3243
  }>;
@@ -2983,9 +3252,11 @@ declare class RCCallPlusClient {
2983
3252
  * 通话中邀请他人
2984
3253
  * 单人通话中邀请他人会引发通话类型变更
2985
3254
  * @param userIds 被邀请人列表
3255
+ * @param pushConfig 移动端推送信息
3256
+ * @param extra 附加信息,会透传给被邀请方
2986
3257
  * @returns busyUsers 返回忙线人员列表
2987
3258
  */
2988
- invite(userIds: string[]): Promise<{
3259
+ invite(userIds: string[], pushConfig?: IRCCallPlusPushConfig, extra?: string): Promise<{
2989
3260
  code: number;
2990
3261
  busyUsers?: RCCallPlusCallUser[];
2991
3262
  }>;
@@ -3001,8 +3272,9 @@ declare class RCCallPlusClient {
3001
3272
  * 挂断通话
3002
3273
  * @param callId 为可选参数,不传时,挂断正在进行的主 session,传入时可指定挂断主通话或暂未建立连接的通话
3003
3274
  * 暂未建立连接的通话:指已在通话中时,收到呼叫但暂未接听的通话
3275
+ * @param pushConfig 移动端推送信息
3004
3276
  */
3005
- hangup(callId?: string): Promise<{
3277
+ hangup(callId?: string, pushConfig?: IRCCallPlusPushConfig): Promise<{
3006
3278
  code: number;
3007
3279
  }>;
3008
3280
  /**
@@ -3109,7 +3381,7 @@ declare class RCCallPlusClient {
3109
3381
  isMicrophoneEnabled(): boolean;
3110
3382
  /**
3111
3383
  * 设置所有远端音频流是否可用
3112
- * @param enable 为 true 时,静音所有远端音频流;为 false 时,启用所有远端音频流
3384
+ * @param enable 为 true 时,启用所有远端音频流;为 false 时,静音所有远端音频流
3113
3385
  */
3114
3386
  setAllRemoteAudioEnable(enable: boolean): Promise<{
3115
3387
  code: number;
@@ -3131,4 +3403,4 @@ declare class RCCallPlusClient {
3131
3403
 
3132
3404
  declare const installer: IPluginGenerator<RCCallPlusClient, ICallPlusInitOpts>;
3133
3405
 
3134
- export { IAudioConfig, IAudioConfigBuilder, ICallOpts, ICallPlusEventListener, ICallPlusInitOpts, IRCCallPlusCallRecord, IRCCallPlusGetCallRecordRes, IStatusReportListener, IVideoConfig, IVideoConfigBuilder, RCAudioConfigBuilder, RCCallPlusCallState, RCCallPlusCallUser, RCCallPlusClient, RCCallPlusCode, RCCallPlusMediaType, RCCallPlusMediaTypeChangeResult, RCCallPlusPacketLossStats, RCCallPlusReason, RCCallPlusSession, RCCallPlusSessionUserState, RCCallPlusType, RCVideoConfigBuilder, installer };
3406
+ export { IAndroidPushConfig, IAudioConfig, IAudioConfigBuilder, ICallOpts, ICallPlusEventListener, ICallPlusInitOpts, IRCCallPlusCallRecord, IRCCallPlusGetCallRecordRes, IRCCallPlusPushConfig, IServerPushExt, IStatusReportListener, IVideoConfig, IVideoConfigBuilder, IiOSPushConfig, RCAudioConfigBuilder, RCCallPlusAndroidPushConfigBuilder, RCCallPlusCallState, RCCallPlusCallUser, RCCallPlusClient, RCCallPlusCode, RCCallPlusMediaType, RCCallPlusMediaTypeChangeResult, RCCallPlusPacketLossStats, RCCallPlusReason, RCCallPlusSession, RCCallPlusSessionUserState, RCCallPlusType, RCVideoConfigBuilder, installer };