Categorygithub.com/rongcloud/server-sdk-go/v3
modulepackage
3.2.24
Repository: https://github.com/rongcloud/server-sdk-go.git
Documentation: pkg.go.dev

# README

server-sdk-go

Rong Cloud Server SDK in Go.

版本说明

  • 为方便开发者的接入使用,更好的对融云 Server SDK 进行维护管理,融云 Server SDK v3 统一规范了命名及调用方式,结构更加清晰。老版本的 Server SDK 已经切入 v1 v2.0.1 分支,仍然可以使用,但不会再做新的功能更新。
  • 如果您是新接入的开发者,建议您使用 Server SDK v3 版本。 对已集成使用老版本 Server SDK 的开发者,不能直接升级使用,强烈建议您重新测试后使用

API文档

如何使用

1. go mod 使用旧版本

  • go mod 文件: require github.com/rongcloud/server-sdk-go
  • go 文件引入 : import "github.com/rongcloud/server-sdk-go/sdk"

2. go mode 方式使用 v3

  • v3 版本 : require github.com/rongcloud/server-sdk-go/v3
  • go 文件引入: import "github.com/rongcloud/server-sdk-go/v3/sdk"

3. 非 go mod 直接使用

  • 直接下载/更新包到 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 参数优化

  • http连接相关的性能优化
  • sdk.WithMaxIdleConnsPerHost : 每个域名最大活跃连接数,默认 100
  • sdk.WithTimeout : 连接超时设置,默认 10 秒;最小单位为秒, sdk.WithTimeout(30) 表示设置为30秒
  • sdk.WithKeepAlive : 连接保活时间,默认 30 秒;最小单位为秒, sdk.WithKeepAlive(30) 表示设置保活时间为30秒
  • rc.SetHttpTransport : 手动设置 http client
  • rc.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)
	
}

GO SDK 功能支持的版本清单

模块方法名说明master
用户信息UserRegister注册, 获取 token
UserUpdate更新用户信息
OnlineStatusCheck检查用户在线状态
BlacklistAdd添加黑名单
BlacklistGet获取黑名单列表
BlacklistRemove移除黑名单
BlockAdd添加用户封禁
BlockGetList获取用户封禁列表
BlockRemove移除用户封禁
TagSet添加用户标签
TagBatchSet批量添加用户标签
TagGet获取用户标签
GroupMuteAdd添加全局群组禁言用户,添加后用户在应用下的所有群组中都不能发送消息
GroupMuteRemove移除全局群组禁言用户
GroupMuteGetList获取全局群组禁言用户列表
ChatRoomMuteAdd添加全局聊天室禁言用户,添加后用户在应用下的所有聊天室中都不能发送消息
ChatRoomMuteRemove移除全局聊天室禁言用户
ChatRoomMuteGetList获取全局聊天室禁言用户列表
UserDeactivate注销用户
UserDeactivateQuery查询已注销用户
UserReactivate重新激活注销用户
敏感词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获取白名单用户列表

# Packages

* @Descripttion: * @version: * @Author: ran.ding * @Date: 2019-09-02 18:29:55 * @LastEditors: ran.ding * @LastEditTime: 2019-09-10 11:22:38 */.