邀请别人加入频道
javascript var pushInfo = {
needPush: true,
pushTitle: 'title',
pushContent: '你收到了邀请',
pushPayload: { from: 111 },
needBadge: true,
}
var param = {
channelId: '2ed4a942417e4b33949f1b65739f3f00',
account: 'cs3',
requestId: '123',
offlineEnabled: true,
attachExt: '12',
pushInfo: pushInfo
}
nim.signalingInvite(param).then(data => {
console.warn("独立呼叫信令,邀请别人加入频道成功,data:", data)
}).catch(error => {
console.warn("独立呼叫信令,邀请别人加入频道失败,error:", error)
switch (error.code) {
case 10404:
console.warn("独立呼叫信令:频道不存在")
break
case 10406:
console.warn("独立呼叫信令:不在频道内(自己)")
break
case 10407:
console.warn("独立呼叫信令:已经在频道内(对方)")
break
case 10419:
console.warn("独立呼叫信令:频道人数超限")
break
case 10201:
console.warn("独立呼叫信令:对方云信不在线")
break
case 10202:
console.warn("独立呼叫信令:对方推送不可达");
break
}
})
param |
类型 |
说明 |
channelId |
string |
对应的频道id |
account |
string |
对方account账号 |
requestId |
string |
邀请者邀请的请求id,需要邀请者填写,之后取消邀请、拒绝、接受需要复用该requestId,长度限制:128 字符 |
offlineEnabled |
boolean |
是否存离线通知 |
attachExt |
string |
操作者(即被邀请者)附加的自定义信息,透传给其他人,可缺省,长度限制 4096 字符 |
pushInfo |
object |
推送信息 |
pushInfo推送消息 |
类型 |
说明 |
pushTitle |
string |
推送标题,长度限制:32 字符 |
pushContent |
string |
推送内容,长度限制:500 字符 |
pushPayload |
string |
推送自定义字段,要求是json格式,Web支持Object对象类型,长度限制:4096 字符 |
needPush |
boolean |
是否需要推送,默认false |
needBadge |
boolean |
是否计入未读计数,默认true |
error结果说明 |
类型 |
说明 |
code |
number |
错误码 10404表示频道不存在 10406表示不在频道内(自己) 10407表示已经在频道内(对方) 10419表示频道人数超限 10201表示对方云信不在线 10202表示对方推送不可达 |
data结果说明 |
类型 |
说明 |
code |
number |
错误码 200表示邀请别人加入频道成功 |
取消邀请别人加入频道
javascript var param = {
channelId: '2ed4a942417e4b33949f1b65739f3f00',
account: 'cs3',
requestId: '123',
offlineEnabled: true,
attachExt: '11'
}
nim.signalingCancel(param).then(data=>{
console.warn("独立呼叫信令,取消邀请别人加入频道成功,data:", data)
}).catch(error=>{
console.warn("独立呼叫信令,取消邀请别人加入频道失败,error:", error)
switch (error.code) {
case 10404:
console.warn("独立呼叫信令:频道不存在")
break
case 10408:
console.warn("独立呼叫信令:邀请不存在或已过期")
break
case 10409:
console.warn("独立呼叫信令:邀请已经拒绝")
break
case 10410:
console.warn("独立呼叫信令:邀请已经接受")
break
}
})
param |
类型 |
说明 |
channelId |
string |
对应的频道id |
account |
string |
对方account账号 |
requestId |
string |
邀请者邀请的请求id,需要邀请者填写,之后取消邀请、拒绝、接受需要复用该requestId,长度限制:128 字符 |
offlineEnabled |
boolean |
是否存离线通知 |
attachExt |
string |
操作者(即被邀请者)附加的自定义信息,透传给其他人,可缺省,长度限制:4096 字符 |
error结果说明 |
类型 |
说明 |
code |
number |
错误码 10404表示频道不存在 10408表示邀请不存在或已过期 10409表示邀请已经拒绝 10410表示邀请已经接受 |
data结果说明 |
类型 |
说明 |
code |
number |
错误码 200表示取消邀请成功 |
接受邀请
-
signalingAccept
该接口用于接受邀请。
-
不打开自动加入开关:该接口只接受邀请并告知邀请者(如果其他在线设备,会同步通知自己的其他在线设备),但不会主动加入频道,需要单独调用加入频道接口(对方会收到你接受邀请的通知)。
-
打开自动加入开关:该接口为组合接口,等同于先调用接受邀请,成功后再加入频道(对方会收到你接受邀请和加入频道的通知)。
-
示例代码
javascript var param = {
channelId: '2ed4a942417e4b33949f1b65739f3f00',
account: 'cs3',
requestId: '123',
offlineEnabled: false,
attachExt: '12',
autoJoin: false,
uid: '123',
joinAttachExt: 'join ext'
}
nim.signalingAccept(param).then(data=>{
console.warn("独立呼叫信令,接受别人的邀请,data:", data)
if(autoJoin) {
console.warn("独立呼叫信令,接受别人的邀请后,自动加入频道成功,data:", data)
}
}).catch(error=>{
console.warn("独立呼叫信令,取消邀请别人加入频道失败,error:", error)
if (error.code == 10404) {
console.warn("独立呼叫信令:频道不存在");
} else if (error.code == 10408) {
console.warn("独立呼叫信令:邀请不存在或已过期");
} else if (error.code == 10409) {
console.warn("独立呼叫信令:邀请已经拒绝");
} else if (error.code == 10410) {
console.warn("独立呼叫信令:邀请已经接受");
} else if (error.code == 10201) {
console.warn("独立呼叫信令:对方不在线");
}
})
param |
类型 |
说明 |
channelId |
string |
对应的频道id |
account |
string |
邀请的account账号 |
requestId |
string |
邀请者邀请的请求id,需要邀请者填写,之后取消邀请、拒绝、接受需要复用该requestId,长度限制:128 字符 |
offlineEnabled |
boolean |
是否存离线通知 |
attachExt |
string |
操作者附加的自定义信息,透传给其他人,可缺省,长度限制:4096 字符 |
autoJoin |
boolean |
是否自动加入频道,默认不打开,打开后后续参数uid、joinAttachExt有效 |
uid |
string |
自己在频道中对应的uid,大于零有效,无效时服务器会分配随机唯一的uid,可缺省 |
joinAttachExt |
string |
加入频道的自定义扩展信息,将在加入频道通知中带给其他频道成员,可缺省 |
error结果说明 |
类型 |
说明 |
code |
number |
错误码 10404表示频道不存在 10408表示邀请不存在或已过期 10409表示邀请已经拒绝 10410表示邀请已经接受 10201表示对方不在线 |
加入频道并接受邀请
signalingJoinAndAccept
接口用于加入频道并接受邀请。该接口为组合接口,等同于先调用加入频道,成功后再接受邀请(对方会收到你接受邀请和加入频道的通知)。
该接口与打开自动加入开关的接受邀请(signalingAccept
)接口的区别在于signalingJoinAndAccept
内部优化了信令的响应时间。
频道成员人数上限 100 人。
var param = {
channelId: '2ed4a942417e4b33949f1b65739f3f00',
account: 'cs3',
requestId: '123',
offlineEnabled: false,
attachExt: '12',
uid: '123',
joinAttachExt: 'join ext'
}
nim.signalingJoinAndAccept(param).then(data=>{
console.warn("独立呼叫信令,接受别人的邀请并加入成功,data:", data)
}).catch(error=>{
console.warn("独立呼叫信令,邀请别人加入频道失败,error:", error)
switch (error.code) {
case 10407:
console.warn("独立呼叫信令:已经在频道内")
break
case 10419:
console.warn("独立呼叫信令:频道人数超限")
break
case 10417:
console.warn("独立呼叫信令:频道成员uid冲突了")
break
case 10420:
console.warn("独立呼叫信令:该账号,在其他端已经登录,并且已经在频道内")
break
case 10404:
console.warn("独立呼叫信令:频道不存在")
break
}
})
param |
类型 |
说明 |
channelId |
string |
对应的频道id |
uid |
string |
自己在频道中对应的uid,大于零有效,无效时服务器会分配随机唯一的uid |
offlineEnabled |
boolean |
是否存离线通知 |
attachExt |
string |
操作者附加的自定义信息,透传给其他人,可缺省 |
account |
string |
邀请者accid |
requestId |
string |
邀请者邀请的请求id |
nertcChannelName |
string |
云信G2-RTC的房间名 |
nertcTokenTtl |
string |
云信G2-RTC的token的有效期,表示token的过期时间,单位秒,选填,默认10分钟 |
nertcJoinRoomQueryParamMap |
string |
云信G2-RTC加入房间的请求参数,可以转成json |
error结果说明 |
类型 |
说明 |
code |
number |
错误码 10407表示已经在频道内 10419表示频道人数已满 10417表示频道内成员的uid有冲突 10420表示该账号,在其他端已经登录,并且已经在频道内 10404表示频道不存在 |
data结果说明 |
类型 |
说明 |
channelInfo |
object |
频道信息,创建频道接口中有说明格式 |
members |
array |
频道里的成员列表,数组元素member是一个object,描述了成员信息 |
members数组中member元素说明 |
类型 |
说明 |
account |
string |
成员account账号 |
uid |
string |
该成员在频道中对应的uid |
createTimestamp |
number |
频道创建时间点 |
expireTimestamp |
number |
频道失效时间点 |
拒绝邀请
javascript var param = {
channelId: channelId,
account: account,
requestId: requestId,
offlineEnabled: offlineEnabled,
attachExt: ext
}
nim.signalingReject(param).then(data=>{
console.warn("独立呼叫信令,拒绝别人的邀请,data:", data)
}).catch(error=>{
console.warn("独立呼叫信令,拒绝别人的邀请失败,error:", error)
if (error.code == 10404) {
console.warn("独立呼叫信令:频道不存在");
} else if (error.code == 10408) {
console.warn("独立呼叫信令:邀请不存在或已过期");
} else if (error.code == 10409) {
console.warn("独立呼叫信令:邀请已经拒绝");
} else if (error.code == 10410) {
console.warn("独立呼叫信令:邀请已经接受");
} else if (error.code == 10201) {
console.warn("独立呼叫信令:对方不在线");
}
})
param |
类型 |
说明 |
channelId |
string |
对应的频道id |
account |
string |
邀请者的account账号 |
requestId |
string |
邀请者邀请的请求id,需要邀请者填写,之后取消邀请、拒绝、接受需要复用该requestId,长度限制:128 字符 |
offlineEnabled |
boolean |
是否存离线通知 |
attachExt |
string |
操作者附加的自定义信息,透传给其他人,可缺省,长度限制:4096字符 |
error结果说明 |
类型 |
说明 |
code |
number |
错误码 10404表示频道不存在 10408表示邀请不存在或已过期 10409表示邀请已经拒绝 10410表示邀请已经接受 10201表示对方不在线 |
呼叫信令
-
signalingCall
用于用户新开一个频道并邀请对方加入频道。
-
该接口为组合接口,等同于用户先创建频道,成功后加入频道并邀请对方。如果返回码不是200、10201、10202时,sdk会主动关闭频道,标记接口调用失败。
-
对方会收到一个邀请通知,对方可以选择接受或者拒绝。
-
示例代码
javascriptvar param = {
type: 1,
channelName: '呼叫信令频道1',
ext: '',
uid: '123',
account: 'cs4',
requestId: '2333',
offlineEnabled: false,
attachExt: '',
pushInfo: {
needPush: true,
pushTitle: 'title',
pushContent: '你收到了邀请',
pushPayload: { from: 'test' },
needBadge: true,
}
}
nim.signalingCall(param).then(data=>{
console.warn("独立呼叫信令,呼叫成功:", data)
}).catch(error=>{
console.warn("独立呼叫信令,呼叫失败:", error)
if (error.code == 10405) {
console.warn("独立呼叫信令:频道已存在");
} else if (error.code == 10201) {
console.warn("独立呼叫信令:对方云信不在线");
} else if (error.code == 10202) {
console.warn("独立呼叫信令:对方推送不可达");
}
})
param |
类型 |
说明 |
type |
number |
通话类型,1:音频;2:视频;3:其他 |
channelName |
string |
频道名,可缺省 |
ext |
string |
频道的自定义扩展信息,可缺省 |
uid |
string |
自己在频道中对应的uid,大于零有效,无效时服务器会分配随机唯一的uid |
account |
string |
邀请的对方account账号 |
requestId |
string |
邀请者邀请的请求id,需要邀请者填写,之后取消邀请、拒绝、接受需要复用该requestId,长度限制:128 字符 |
offlineEnabled |
boolean |
是否存离线通知 |
attachExt |
string |
操作者附加的自定义信息,透传给其他人,可缺省,长度限制:4096 字符 |
pushInfo |
object |
推送信息 |
pushInfo推送消息 |
类型 |
说明 |
pushTitle |
string |
推送标题,长度限制:32 字符 |
pushContent |
string |
推送内容,长度限制:500 字符 |
pushPayload |
string |
推送自定义字段,要求是json格式,否则推送会产生错误,长度限制:4096 字符 |
needPush |
boolean |
是否需要推送,默认false |
needBadge |
boolean |
是否计入未读计数,默认true |
error结果说明 |
类型 |
说明 |
code |
number |
错误码 10405表示频道已存在 10201表示对方云信不在线 10202表示对方推送不可达 |
呼叫信令(新)
呼叫信令接口,同 signalingCall
。区别在于 signalingCallEx
优化了信令的响应时间。
var param = {
type: 1,
channelName: '呼叫信令频道1',
ext: '',
uid: '123',
account: 'cs4',
requestId: '2333',
offlineEnabled: false,
needPush: true,
pushTitle: 'title',
pushContent: '你收到了邀请',
pushPayload: { from: 'test' },
needBadge: true,
attachExt: '',
uid:''
}
nim.signalingCallEx(param).then(data=>{
console.warn("独立呼叫信令,创建频道加入和邀请成功,data:", data)
}).catch(error=>{
console.warn("独立呼叫信令,创建频道加入和邀请失败:", error)
switch (error.code) {
case 10405:
console.warn("独立呼叫信令:频道已存在,请勿重复创建")
break
case 10201:
console.warn("独立呼叫信令:对方云信不在线")
break
case 10202:
console.warn("独立呼叫信令:频道不存在")
break
}
})
param |
类型 |
说明 |
type |
number |
通话类型,1:音频;2:视频;3:其他 |
channelName |
string |
频道名,可缺省 |
ext |
string |
频道的自定义扩展信息,可缺省 |
uid |
string |
自己在频道中对应的uid,大于零有效,无效时服务器会分配随机唯一的uid |
account |
string |
邀请的对方account账号 |
requestId |
string |
邀请者邀请的请求id,需要邀请者填写,之后取消邀请、拒绝、接受需要复用该requestId,长度限制:128 字符 |
offlineEnabled |
boolean |
是否存离线通知 |
attachExt |
string |
操作者附加的自定义信息,透传给其他人,可缺省,长度限制:4096 字符 |
pushInfo |
object |
推送信息 |
nertcChannelName |
string |
云信G2-RTC的房间名 |
nertcTokenTtl |
string |
云信G2-RTC的token的有效期,表示token的过期时间,单位秒,选填,默认10分钟 |
nertcJoinRoomQueryParamMap |
string |
云信G2-RTC加入房间的请求参数,可以转成json |
pushInfo推送消息 |
类型 |
说明 |
pushTitle |
string |
推送标题,长度限制:32 字符 |
pushContent |
string |
推送内容,长度限制:500 字符 |
pushPayload |
string |
推送自定义字段,要求是json格式,否则推送会产生错误,长度限制:4096 字符 |
needPush |
boolean |
是否需要推送,默认false |
needBadge |
boolean |
是否计入未读计数,默认true |
error结果说明 |
类型 |
说明 |
code |
number |
错误码 10405表示频道已存在 10201表示对方云信不在线 10202表示对方推送不可达 |