Rong Cloud Server SDK in Go.
- 为方便开发者的接入使用,更好的对融云 Server SDK 进行维护管理,融云 Server SDK v3 统一规范了命名及调用方式,结构更加清晰。老版本的 Server SDK 已经切入 v1 v2.0.1 分支,仍然可以使用,但不会再做新的功能更新。
- 如果您是新接入的开发者,建议您使用 Server SDK v3 版本。 对已集成使用老版本 Server SDK 的开发者,不能直接升级使用,强烈建议您重新测试后使用
- go mod 文件:
require github.com/rongcloud/server-sdk-go
- go 文件引入 :
import "github.com/rongcloud/server-sdk-go/sdk"
- v3 版本 :
require github.com/rongcloud/server-sdk-go/v3
- go 文件引入:
import "github.com/rongcloud/server-sdk-go/v3/sdk"
- 直接下载/更新包到 GOPATH:
go get -u github.com/rongcloud/server-sdk-go
- go 文件引入:
import "github.com/rongcloud/server-sdk-go/sdk"
- 请参考 rongcloud_test.go 上面提供了所有的 API 接口的调用用例。
package main
import "fmt"
//旧版本引入 或者 非go mod方式使用
import "github.com/rongcloud/server-sdk-go/sdk"
// go mod v3 版本引入
//import "github.com/rongcloud/server-sdk-go/v3/sdk"
func main() {
rc := sdk.NewRongCloud("appKey", "appSecret")
msg := sdk.TXTMsg{
Content: "hello",
Extra: "helloExtra",
}
err := rc.PrivateSend(
"userId",
[]string{"toUserId"},
"RC:TxtMsg",
&msg,
"",
"",
1,
0,
1,
0,
0,
)
fmt.Println(err)
}
- http连接相关的性能优化
sdk.WithMaxIdleConnsPerHost
: 每个域名最大活跃连接数,默认 100sdk.WithTimeout
: 连接超时设置,默认 10 秒;最小单位为秒,sdk.WithTimeout(30)
表示设置为30秒sdk.WithKeepAlive
: 连接保活时间,默认 30 秒;最小单位为秒,sdk.WithKeepAlive(30)
表示设置保活时间为30秒rc.SetHttpTransport
: 手动设置 http clientrc.GetHttpTransport
: 获得当前全局 http client
package main
import "fmt"
import "time"
import "net"
import "net/http"
import "github.com/rongcloud/server-sdk-go/sdk"
func main() {
// 方法1: 创建对象时设置
rc := sdk.NewRongCloud("appKey",
"appSecret",
// 每个域名最大活跃连接数
sdk.WithMaxIdleConnsPerHost(100),
)
// 方法2: 自定义 http client, 调用 set 方法设置
dialer := &net.Dialer{
Timeout: 10 * time.Second,
KeepAlive: 30 * time.Second,
}
globalTransport := &http.Transport{
DialContext: dialer.DialContext,
MaxIdleConnsPerHost: 100,
}
rc.SetHttpTransport(globalTransport)
}
模块 | 方法名 | 说明 | master |
---|---|---|---|
用户信息 | UserRegister | 注册, 获取 token | √ |
UserUpdate | 更新用户信息 | √ | |
OnlineStatusCheck | 检查用户在线状态 | √ | |
BlacklistAdd | 添加黑名单 | √ | |
BlacklistGet | 获取黑名单列表 | √ | |
BlacklistRemove | 移除黑名单 | √ | |
BlockAdd | 添加用户封禁 | √ | |
BlockGetList | 获取用户封禁列表 | √ | |
BlockRemove | 移除用户封禁 | √ | |
TagSet | 添加用户标签 | √ | |
TagBatchSet | 批量添加用户标签 | √ | |
TagGet | 获取用户标签 | √ | |
GroupMuteAdd | 添加全局群组禁言用户,添加后用户在应用下的所有群组中都不能发送消息 | ||
GroupMuteRemove | 移除全局群组禁言用户 | ||
GroupMuteGetList | 获取全局群组禁言用户列表 | ||
ChatRoomMuteAdd | 添加全局聊天室禁言用户,添加后用户在应用下的所有聊天室中都不能发送消息 | ||
ChatRoomMuteRemove | 移除全局聊天室禁言用户 | ||
ChatRoomMuteGetList | 获取全局聊天室禁言用户列表 | ||
敏感词 | SensitiveAdd | 添加敏感词,添加后默认 2 小时生效 | √ |
SensitiveGetList | 获取敏感词列表 | √ | |
SensitiveRemove | 移除敏感词,支持批量移除功能,移除后默认 2 小时生效 | √ | |
消息发送 | PrivateSend | 发送单聊消息 | √ |
PrivateSendTemplate | 发送单聊模板消息 | √ | |
PrivateRecall | 消息单聊撤回 | √ | |
ChatRoomSend | 发送聊天室消息 | √ | |
ChatRoomBroadcast | 发送聊天室广播消息 | √ | |
GroupSend | 发送群组消息 | √ | |
GroupSendMention | 发送群组 @ 消息 | √ | |
GroupRecall | 撤回群组消息 | √ | |
SystemSend | 发送系统消息 | √ | |
SystemSendTemplate | 发送系统模板消息 | √ | |
SystemBroadcast | 发送广播消息,单个应用每小时只能发送 2 次,每天最多发送 3 次。 | √ | |
消息历史记录 | HistoryGet | 消息历史记录下载地址获取 | √ |
HistoryRemove | 消息历史记录删除方法 | √ | |
广播推送 | PushSend | 发送推送,推送和广播消息合计,单个应用每小时只能发送 2 次,每天最多发送 3 次。 | √ |
群组 | GroupCreate | 创建群组 | √ |
GroupSync | 同步群关系 | √ | |
GroupUpdate | 更新群信息 | √ | |
GroupGet | 获取群信息 | √ | |
GroupJoin | 邀请人加入群组 | √ | |
GroupQuit | 退出群组 | √ | |
GroupDismiss | 解散群组 | √ | |
GroupMuteMembersAdd | 添加指定群组禁言用户,该用户在指定群组中不能发送消息 | √ | |
GroupMuteMembersRemove | 移除指定群组禁言用户 | √ | |
GroupMuteMembersGetList | 获取指定群组禁言用户列表 | √ | |
GroupMuteAllMembersAdd | 添加指定群组全部成员禁言,添加后该群组中所有用户不能在此群组中发送消息 | √ | |
GroupMuteAllMembersRemove | 移除指定群组全部成员禁言 | √ | |
GroupMuteAllMembersGetList | 获取群组禁言列表 | √ | |
GroupMuteWhiteListUserAdd | 添加群组禁言白名单用户,群组被禁言后,该群白名单中用户可以在群组中发送消息 | √ | |
GroupMuteWhiteListUserRemove | 移除群组禁言白名单用户 | √ | |
GroupMuteWhiteListUserGetList | 获取群组禁言白名单用户列表 | √ | |
会话免打扰 | ConversationMute | 添加免打扰会话 | √ |
ConversationUnmute | 移除免打扰会话 | √ | |
ConversationGet | 免打扰会话状态获取 | √ | |
聊天室 | ChatRoomCreate | 创建聊天室 | √ |
ChatRoomDestroy | 销毁聊天室 | √ | |
ChatRoomGet | 查询聊天室信息 | √ | |
ChatRoomIsExist | 检查用户是否在聊天室 | √ | |
ChatRoomBlockAdd | 添加聊天室封禁用户,被封禁后用户无法加入该聊天室,如用户正在聊天室中将被踢出聊天室 | √ | |
ChatRoomBlockGetList | 获取聊天室封禁用户列表 | √ | |
ChatRoomBlockRemove | 移除聊天室封禁用户 | √ | |
ChatRoomMuteMembersAdd | 添加聊天室禁言用户,用户无法在该聊天室中发送消息 | √ | |
ChatRoomMuteMembersGetList | 获取聊天室禁言用户列表 | √ | |
ChatRoomMuteMembersRemove | 移除聊天室禁言用户 | √ | |
ChatRoomDemotionAdd | 添加聊天室低优先级消息,添加后因消息量激增导致服务器压力较大时,默认丢弃低级别的消息 | √ | |
ChatRoomDemotionGetList | 查询聊天室低优先级消息列表 | √ | |
ChatRoomDemotionRemove | 移除聊天室低优先级消息 | √ | |
ChatRoomDistributionStop | 停止聊天室消息分发,服务端收到上行消息后不进行下行发送 | √ | |
ChatRoomDistributionResume | 恢复聊天室消息分发 | √ | |
ChatRoomKeepAliveAdd | 添加保活聊天室,保活中的聊天室不会被自动销毁 | √ | |
ChatRoomKeepAliveRemove | 移除保活聊天室 | √ | |
ChatRoomKeepAliveGetList | 获取保活聊天室列表 | √ | |
ChatRoomWhitelistAdd | 添加白名单消息类型,白名单中的消息类型,在消息量激增导致服务器压力较大时不会被丢弃,确保消息到达 | √ | |
ChatRoomWhitelistRemove | 移除白名单消息类型 | √ | |
ChatRoomWhitelistGetList | 获取白名单消息类型列表 | √ | |
ChatRoomUserWhitelistAdd | 添加白名单用户,白名单中用户发送的消息,在消息量激增导致服务器压力较大时不会被丢弃,确保消息到达 | √ | |
ChatRoomUserWhitelistRemove | 移除白名单用户 | √ | |
ChatRoomUserWhitelistGetList | 获取白名单用户列表 | √ |