sdk

package
v0.0.0-...-732794f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 1, 2021 License: MIT Imports: 16 Imported by: 0

Documentation

Overview

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

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

Index

Constants

View Source
const (
	// RONGCLOUDSMSURI 融云默认 SMS API 地址
	RONGCLOUDSMSURI = "http://api.sms.ronghub.com"
	// RONGCLOUDURI 融云默认 API 地址
	RONGCLOUDURI = "http://api-cn.ronghub.com"
	// RONGCLOUDURI2 融云备用 API 地址
	RONGCLOUDURI2 = "http://api2-cn.ronghub.com"
	// ReqType body类型
	ReqType = "json"
	// USERAGENT sdk 名称
	USERAGENT = "rc-go-sdk/3.2.3"
	// DEFAULTTIMEOUT 默认超时时间,10秒
	DEFAULTTIMEOUT = 10
	// DEFAULT_KEEPALIVE http 默认保活时间,30秒
	DEFAULT_KEEPALIVE = 30
	// DEFAULT_MAXIDLECONNSPERHOST http 默认每个域名连接数,100
	DEFAULT_MAXIDLECONNSPERHOST = 100
	// 自动切换 api 地址时间间隔,秒
	DEFAULT_CHANGE_URI_DURATION = 30
)

Variables

This section is empty.

Functions

func RCErrorNew

func RCErrorNew(code int, text string) error

RCErrorNew 创建新的err信息

func WithKeepAlive

func WithKeepAlive(t time.Duration) rongCloudOption

WithKeepAlive 连接保活时间,最小单位为秒

func WithMaxIdleConnsPerHost

func WithMaxIdleConnsPerHost(n int) rongCloudOption

WithMaxIdleConnsPerHost 设置每个域名最大连接数

func WithRongCloudSMSURI

func WithRongCloudSMSURI(rongCloudSMSURI string) rongCloudOption

WithRongCloudSMSURI 设置融云 SMS URI

func WithRongCloudURI

func WithRongCloudURI(rongCloudURI string) rongCloudOption

WithRongCloudURI 设置融云 URI

func WithTimeout

func WithTimeout(t time.Duration) rongCloudOption

WithTimeout 设置超时时间,最小单位为秒

Types

type AndroidPush

type AndroidPush struct {
	Alert string `json:"alert,omitempty"` // iOS 或 Android 不同平台下的推送消息内容,传入后默认的推送消息内容失效,不能为空。(非必传)
	// Extras 请自行实现 Extras Interface
	Extras Extras `json:"extras,omitempty"` // iOS 或 Android 不同平台下的附加信息,如果开发者自己需要,可以自己在 App 端进行解析。(非必传)
}

AndroidPush 设置 Android 平台下的推送及附加信息。

type Audience

type Audience struct {
	Tag         []string `json:"tag,omitempty"`    // 用户标签,每次发送时最多发送 20 个标签,标签之间为 AND 的关系,is_to_all 为 true 时参数无效。(非必传)
	TagOr       []string `json:"tag_or,omitempty"` // 用户标签,每次发送时最多发送 20 个标签,标签之间为 OR 的关系,is_to_all 为 true 时参数无效,tag_or 同 tag 参数可以同时存在。(非必传)
	UserID      []string `json:"userid,omitempty"` // 用户 Id,每次发送时最多发送 1000 个用户,如果 tag 和 userid 两个条件同时存在时,则以 userid 为准,如果 userid 有值时,则 platform 参数无效,is_to_all 为 true 时参数无效。(非必传)
	IsToAll     bool     `json:"is_to_all"`        // 是否全部推送,false 表示按 tag 、tag_or 或 userid 条件推送,true 表示向所有用户推送,tag、tag_or 和 userid 条件无效。(必传)
	PackageName string   `json:"packageName"`      // 应用包名,is_to_all 为 true 时,此参数无效。与 tag、tag_or 同时存在时为 And 的关系,向同时满足条件的用户推送。与 userid 条件同时存在时,以 userid 为准进行推送。(非必传)
}

Audience 推送条件。

type BlacklistResult

type BlacklistResult struct {
	Users []string `json:"users"`
}

BlacklistResult 返回信息

type BlockListResult

type BlockListResult struct {
	Users []User `json:"users"`
}

BlockListResult 返回信息

type Broadcast

type Broadcast struct {
	PlatForm     []PlatForm   `json:"platform"`               // 目标操作系统,iOS、Android 最少传递一个。如果需要给两个系统推送消息时,则需要全部填写。(必传)
	FromUserID   string       `json:"fromuserid"`             // 发送人用户 Id。 (必传)
	Message      Message      `json:"message"`                // 广播消息。(必传)
	Audience     Audience     `json:"audience"`               // 推送条件,包括:tag 、userid 、packageName 、 is_to_all。(必传)
	Notification Notification `json:"notification,omitempty"` // 按操作系统类型推送消息内容,如 platform 中设置了给 iOS 和 Android 系统推送消息,而在 notification 中只设置了 iOS 的推送内容,则 Android 的推送内容为最初 alert 设置的内容。(非必传)
}

Broadcast 广播消息

type BroadcastRecallContent

type BroadcastRecallContent struct {
	MessageId        string `json:"messageUId"`
	ConversationType int    `json:"conversationType"`
	IsAdmin          int    `json:"isAdmin"`
	IsDelete         int    `json:"isDelete"`
}

BroadcastRecallContent content of message broadcast recall

func (*BroadcastRecallContent) ToString

func (content *BroadcastRecallContent) ToString() (string, error)

*

  • @name: ToString
  • @test:
  • @msg: 将广播消息撤回接口需要的 content 结构体参数转换为 json
  • @param {type}
  • @return: string error

type CMDMsg

type CMDMsg struct {
	Name string      `json:"name"`
	Data string      `json:"data"`
	User MsgUserInfo `json:"user"`
}

CMDMsg 消息

func (*CMDMsg) ToString

func (msg *CMDMsg) ToString() (string, error)

ToString CMDMsg

type CMDNtf

type CMDNtf struct {
	Name string      `json:"operation"`
	Data string      `json:"data"`
	User MsgUserInfo `json:"user"`
}

CMDNtf 消息

func (*CMDNtf) ToString

func (msg *CMDNtf) ToString() (string, error)

ToString CMDNtf

type ChatRoom

type ChatRoom struct {
	ChatRoomID string `json:"chrmId"`
	Name       string `json:"name"`
	Time       string `json:"time"`
}

ChatRoom 聊天室信息

type ChatRoomAttr

type ChatRoomAttr struct {
	Key         string `json:"key"`
	Value       string `json:"value"`
	UserID      string `json:"userID"`
	AutoDelete  string `json:"autoDelete"`
	LastSetTime string `json:"lastSetTime"`
}

ChatRoomAttr 聊天室属性自定义结构

type ChatRoomAttrResult

type ChatRoomAttrResult struct {
	Keys []ChatRoomAttr `json:"keys"`
}

ChatRoomAttrResult 聊天室属性自定义返回结果

type ChatRoomInfo

type ChatRoomInfo struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

ChatRoomInfo 聊天室信息

type ChatRoomKVNotiMessage

type ChatRoomKVNotiMessage struct {
	Type  int    `json:"type"`
	Key   string `json:"string"`
	Value string `json:"string"`
	Extra string `json:"string"`
}

ChatRoomKVNotiMessage 聊天室属性通知消息

func (*ChatRoomKVNotiMessage) ToString

func (msg *ChatRoomKVNotiMessage) ToString() (string, error)

ToString ChatRoomKVNotiMessage

type ChatRoomQueryResult

type ChatRoomQueryResult struct {
	ChatRooms []ChatRoom `json:"chatRooms"`
}

ChatRoomQueryResult 聊天室查询接口返回数据

type ChatRoomResult

type ChatRoomResult struct {
	Total            int            `json:"total"`
	Users            []ChatRoomUser `json:"users"`
	Result           []ChatRoomUser `json:"result"`
	ObjectNames      []string       `json:"objectNames"`
	ChatRoomIDs      []string       `json:"chatroomids"`
	WhitelistMsgType []string       `json:"whitlistMsgType"`
}

ChatRoomResult ChatRoom 返回结果

type ChatRoomUser

type ChatRoomUser struct {
	ID       string `json:"id"`
	UserID   string `json:"userId"`
	Time     string `json:"time"`
	IsInChrm int    `json:"isInChrm"`
}

ChatRoomUser 聊天室用户信息

type CodeResult

type CodeResult struct {
	Code         int    `json:"code"`         // 返回码,200 为正常。
	ErrorMessage string `json:"errorMessage"` // 错误信息
}

CodeResult 融云返回状态码和错误码

func (CodeResult) Error

func (e CodeResult) Error() string

Error 获取错误信息

func (CodeResult) ErrorCode

func (e CodeResult) ErrorCode() int

ErrorCode 获取错误码

type ContactNtf

type ContactNtf struct {
	Operation    string      `json:"operation"`
	SourceUserID string      `json:"sourceUserId"`
	TargetUserID string      `json:"targetUserId"`
	Message      string      `json:"message"`
	Extra        string      `json:"extra"`
	User         MsgUserInfo `json:"user"`
}

ContactNtf 消息

func (*ContactNtf) ToString

func (msg *ContactNtf) ToString() (string, error)

ToString ContactNtf

type ConversationType

type ConversationType int

ConversationType 会话类型

const (
	// PRIVATE 单聊
	PRIVATE ConversationType = iota + 1
	// DISCUSSION 讨论组
	DISCUSSION
	// GROUP 群聊
	GROUP
	// SYSTEM 系统
	SYSTEM
	// CUSTOMERSERVICE 客服
	CUSTOMERSERVICE
)

type DizNtf

type DizNtf struct {
	Type      int         `json:"type"`
	Extension string      `json:"extension"`
	Operation string      `json:"operation"`
	User      MsgUserInfo `json:"user"`
}

DizNtf 消息

func (*DizNtf) ToString

func (msg *DizNtf) ToString() (string, error)

ToString DizNtf

type Extras

type Extras interface {
	ToJSON() ([]byte, error)
}

Extras 请自行实现 IOSBroadcast AndroidBroadcast 中 Extras 接口

type FileMsg

type FileMsg struct {
	Name    string      `json:"name"`
	Size    string      `json:"size"`
	Type    string      `json:"type"`
	FileURL string      `json:"fileUrl"`
	User    MsgUserInfo `json:"user"`
}

FileMsg 消息

func (*FileMsg) ToString

func (msg *FileMsg) ToString() (string, error)

ToString FileMsg

type Group

type Group struct {
	ID    string      `json:"id"`
	Users []GroupUser `json:"users"`
	Name  string      `json:"name"`
	Stat  string      `json:"stat"`
}

Group 群组信息

type GroupInfo

type GroupInfo struct {
	GroupInfo []Group `json:"groupinfo"`
}

GroupInfo 群组信息

type GroupUser

type GroupUser struct {
	ID     string `json:"id"`
	UserID string `json:"userId"`
	Time   string `json:"time"`
}

GroupUser 群组用户信息

type GrpNtf

type GrpNtf struct {
	OperatorUserID string      `json:"operatorUserId"`
	Operation      string      `json:"operation"`
	Data           string      `json:"data"`
	Message        string      `json:"message"`
	Extra          string      `json:"extra"`
	User           MsgUserInfo `json:"user"`
}

GrpNtf 消息

func (*GrpNtf) ToString

func (msg *GrpNtf) ToString() (string, error)

ToString GrpNtf

type HQVCMsg

type HQVCMsg struct {
	LocalPath string      `json:"localPath"`
	RemoteUrl string      `json:"remoteUrl"`
	Duration  interface{} `json:"duration"`
	User      MsgUserInfo `json:"user"`
	Extra     string      `json:"extra"`
}

高清语音消息 RC:HQVCMsg

func (*HQVCMsg) ToString

func (msg *HQVCMsg) ToString() (string, error)

ToString HQVCMsg

type History

type History struct {
	URL string `json:"url"`
}

History History

type IMGTextMsg

type IMGTextMsg struct {
	Title    string      `json:"title"`
	Content  string      `json:"content"`
	ImageURI string      `json:"imageUri"`
	User     MsgUserInfo `json:"user"`
	Extra    string      `json:"extra"`
	URL      string      `json:"url"`
}

IMGTextMsg 消息

func (*IMGTextMsg) ToString

func (msg *IMGTextMsg) ToString() (string, error)

ToString IMGTextMsg

type IOSPush

type IOSPush struct {
	Title            string `json:"title,omitempty"`            // 通知栏显示的推送标题,仅针对 iOS 平台,支持 iOS 8.2 及以上版本,参数在 ios 节点下设置,详细可参考“设置 iOS 推送标题请求示例”。(非必传)
	ContentAvailable int    `json:"contentAvailable,omitempty"` // 针对 iOS 平台,静默推送是 iOS7 之后推出的一种推送方式。 允许应用在收到通知后在后台运行一段代码,且能够马上执行。1 表示为开启,0 表示为关闭,默认为 0(非必传)
	Alert            string `json:"alert,omitempty"`            // iOS 或 Android 不同平台下的推送消息内容,传入后默认的推送消息内容失效,不能为空。(非必传)
	// Extras 请自行实现 Extras Interface
	Extras       Extras `json:"extras,omitempty"`       // iOS 或 Android 不同平台下的附加信息,如果开发者自己需要,可以自己在 App 端进行解析。(非必传)
	Badge        int    `json:"badge,omitempty"`        // 应用角标,仅针对 iOS 平台;不填时,表示不改变角标数;为 0 或负数时,表示 App 角标上的数字清零;否则传相应数字表示把角标数改为指定的数字,最大不超过 9999,参数在 ios 节点下设置,详细可参考“设置 iOS 角标数 HTTP 请求示例”。(非必传)
	Category     string `json:"category,omitempty"`     // iOS 富文本推送的类型开发者自已定义,自已在 App 端进行解析判断,与 richMediaUri 一起使用。(非必传)
	RichMediaURI string `json:"richMediaUri,omitempty"` // iOS 富文本推送内容的 URL,与 category 一起使用。(非必传)
}

IOSPush 设置 iOS 平台下的推送及附加信息。

type ImgMsg

type ImgMsg struct {
	Content  string      `json:"content"`
	User     MsgUserInfo `json:"user"`
	ImageURI string      `json:"imageUri"`
	Extra    string      `json:"extra"`
}

ImgMsg 消息

func (*ImgMsg) ToString

func (msg *ImgMsg) ToString() (string, error)

ToString ImgMsg

type InfoNtf

type InfoNtf struct {
	Message string      `json:"message"`
	User    MsgUserInfo `json:"user"`
	Extra   string      `json:"extra"`
}

InfoNtf 消息

func (*InfoNtf) ToString

func (msg *InfoNtf) ToString() (string, error)

ToString InfoNtf

type LBSMsg

type LBSMsg struct {
	Content   string      `json:"content"`
	Extra     string      `json:"extra"`
	POI       string      `json:"poi"`
	Latitude  float64     `json:"latitude"`
	Longitude float64     `json:"longitude"`
	User      MsgUserInfo `json:"user"`
}

LBSMsg 消息

func (*LBSMsg) ToString

func (msg *LBSMsg) ToString() (string, error)

ToString LBSMsg

type ListWordFilterResult

type ListWordFilterResult struct {
	Words []SensitiveWord `json:"words"`
}

ListWordFilterResult listWordFilter返回结果

type MentionMsgContent

type MentionMsgContent struct {
	Content       string        `json:"content"`
	MentionedInfo MentionedInfo `json:"mentionedinfo"`
}

MentionMsgContent MentionMsgContent

type MentionedInfo

type MentionedInfo struct {
	Type        int      `json:"type"`
	UserIDs     []string `json:"userIdList"`
	PushContent string   `json:"mentionedContent"`
}

MentionedInfo Mentioned

type Message

type Message struct {
	Content    string `json:"content"`    // 融云的内置消息,请务必参考 RCMsg Interface 。自定义消息请,自行实现 RCMsg Interface 转换成 String 传入
	ObjectName string `json:"objectName"` // 融云的内置消息,自定义消息
}

Message 广播消息内容

type MsgOption

type MsgOption func(*msgOptions)

MsgOption 接口函数

func WithMsgContentAvailable

func WithMsgContentAvailable(contentAvailable int) MsgOption

针对 iOS 平台,对 SDK 处于后台暂停状态时为静默推送 iOS7 之后推出的一种推送方式。 允许应用在收到通知后在后台运行一段代码,且能够马上执行 1 表示为开启,0 表示为关闭,默认为 0

func WithMsgDisablePush

func WithMsgDisablePush(isDisablePush bool) MsgOption

disablePush Boolean 是否为静默消息,默认为 false,设为 true 时终端用户离线情况下不会收到通知提醒。暂不支持海外数据中心

func WithMsgExpansion

func WithMsgExpansion(isExpansion bool) MsgOption

是否为可扩展消息,默认为 false,设为 true 时终端在收到该条消息后,可对该条消息设置扩展信息。暂不支持海外数据中心

func WithMsgMentioned

func WithMsgMentioned(isMentioned int) MsgOption

是否为 @消息,0 表示为普通消息,1 表示为 @消息,默认为 0

func WithMsgPushContent

func WithMsgPushContent(pushContent string) MsgOption

pushContent String 定义显示的 Push 内容,如果 objectName 为融云内置消息类型时,则发送后用户一定会收到 Push 信息。 如果为自定义消息,则 pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。

func WithMsgPushData

func WithMsgPushData(pushData string) MsgOption

pushData String 针对 iOS 平台为 Push 通知时附加到 payload 中,客户端获取远程推送内容时为 appData, 同时融云默认携带了消息基本信息,客户端可通过 'rc' 属性获取,Android 客户端收到推送消息时对应字段名为 pushData。

func WithMsgPushExt

func WithMsgPushExt(pushExt string) MsgOption

pushExt String 推送通知属性设置,详细查看 pushExt 结构说明,pushExt 为 JSON 结构请求时需要做转义处理。 disablePush 为 true 时此属性无效。暂不支持海外数据中心

func WithMsgVerifyBlacklist

func WithMsgVerifyBlacklist(verifyBlacklist int) MsgOption

是否过滤发送人黑名单列表,0 为不过滤、 1 为过滤,默认为 0 不过滤。

type MsgUserInfo

type MsgUserInfo struct {
	ID       string `json:"id"`
	Name     string `json:"name"`
	Icon     string `json:"icon"`
	Portrait string `json:"portrait"`
	Extra    string `json:"extra"`
}

MsgUserInfo 融云内置消息用户信息

type Notification

type Notification struct {
	Alert   string      `json:"alert"`             // 默认推送消息内容,如填写了 iOS 或 Android 下的 alert 时,则推送内容以对应平台系统的 alert 为准。(必传)
	IOS     IOSPush     `json:"ios,omitempty"`     // 设置 iOS 平台下的推送及附加信息。
	Android AndroidPush `json:"android,omitempty"` // 设置 Android 平台下的推送及附加信息。
}

Notification 按操作系统类型推送消息内容,如 platform 中设置了给 iOS 和 Android 系统推送消息,而在 notification 中只设置了 iOS 的推送内容,则 Android 的推送内容为最初 alert 设置的内容。(必传)

type PlatForm

type PlatForm string

PlatForm 广播类型

const (
	// IOSPlatForm 广播
	IOSPlatForm PlatForm = "ios"
	// AndroidPlatForm 广播
	AndroidPlatForm PlatForm = "android"
)

type ProfileNtf

type ProfileNtf struct {
	Operation string      `json:"operation"`
	Data      string      `json:"data"`
	User      MsgUserInfo `json:"user"`
	Extra     string      `json:"extra"`
}

ProfileNtf 消息

func (*ProfileNtf) ToString

func (msg *ProfileNtf) ToString() (string, error)

ToString ProfileNtf

type Push

type Push struct {
	PlatForm     []PlatForm   `json:"platform"`     // 目标操作系统,iOS、Android 最少传递一个。如果需要给两个系统推送消息时,则需要全部填写。(必传)
	Audience     Audience     `json:"audience"`     // 推送条件,包括:tag 、userid 、packageName 、 is_to_all。(必传)
	Notification Notification `json:"notification"` // 按操作系统类型推送消息内容,如 platform 中设置了给 iOS 和 Android 系统推送消息,而在 notification 中只设置了 iOS 的推送内容,则 Android 的推送内容为最初 alert 设置的内容。(必传)
}

Push 广播推送

type PushResult

type PushResult struct {
	*CodeResult
	ID string `json:"id"`
}

PushResult Send 函数返回

type RongCloud

type RongCloud struct {
	// contains filtered or unexported fields
}

RongCloud appKey appSecret extra

func GetRongCloud

func GetRongCloud() *RongCloud

GetRongCloud 获取 RongCloud 对象

func NewRongCloud

func NewRongCloud(appKey, appSecret string, options ...rongCloudOption) *RongCloud

NewRongCloud 创建 RongCloud 对象

func (*RongCloud) AddWhiteList

func (rc *RongCloud) AddWhiteList(userId string, whiteList []string) error

*

  • @name: AddWhiteList
  • @test:
  • @msg: 添加用户到白名单(每秒限 100 次)
  • @param string userId
  • @param []string whiteList
  • @return: error

func (*RongCloud) BlacklistAdd

func (rc *RongCloud) BlacklistAdd(id string, blacklist []string) error

BlacklistAdd 添加用户到黑名单方法(每秒钟限 100 次)

*@param id:用户 ID。 *@param blacklist:被设置为黑名单的用户列表。 * *@return error

func (*RongCloud) BlacklistGet

func (rc *RongCloud) BlacklistGet(id string) (BlacklistResult, error)

BlacklistGet 获取某用户的黑名单列表方法(每秒钟限 100 次)

*@param id:用户 ID。 * *@return BlacklistResult error

func (*RongCloud) BlacklistRemove

func (rc *RongCloud) BlacklistRemove(id string, blacklist []string) error

BlacklistRemove 从黑名单中移除用户方法(每秒钟限 100 次)

*@param id:用户 ID。 *@param blacklist:被移除黑名单列表。 * *@return error

func (*RongCloud) BlockAdd

func (rc *RongCloud) BlockAdd(id string, minute uint64) error

BlockAdd 添加用户到黑名单

*@param id:用户 ID。 *@param minute:封禁时长 1 - 1 * 30 * 24 * 60 分钟,最大值为 43200 分钟 * *@return error

func (*RongCloud) BlockGetList

func (rc *RongCloud) BlockGetList() (BlockListResult, error)

BlockGetList 获取某用户的黑名单列表

*@return QueryBlockUserResult error

func (*RongCloud) BlockRemove

func (rc *RongCloud) BlockRemove(id string) error

BlockRemove 从黑名单中移除用户

*@param id:用户 ID。 * *@return error

func (*RongCloud) ChangeURI

func (rc *RongCloud) ChangeURI()

changeURI 自动切换 Api 服务器地址 在 api、api2之间自动切换。无法切换其他域名。其他请使用 PrivateURI 设置

func (*RongCloud) ChatRoomBanAdd

func (rc *RongCloud) ChatRoomBanAdd(members []string, minute uint) error

ChatRoomBanAdd 添加聊天室全局禁言

*@param  members:成员列表,最多不超过 20 个。
*@param  minute:禁言时长,范围: 1 - 1 * 30 * 24 * 60 分钟。
*
*@return error

func (*RongCloud) ChatRoomBanGetList

func (rc *RongCloud) ChatRoomBanGetList() ([]ChatRoomUser, error)

ChatRoomBanGetList 获取聊天室全局禁言列表

*@return []ChatRoomUser error

func (*RongCloud) ChatRoomBanRemove

func (rc *RongCloud) ChatRoomBanRemove(members []string) error

ChatRoomBanRemove 解除聊天室全局禁言

*@param  members:成员列表,最多不超过 20 个。
*
*@return error

func (*RongCloud) ChatRoomBlockAdd

func (rc *RongCloud) ChatRoomBlockAdd(id string, members []string, minute uint) error

ChatRoomBlockAdd 添加封禁聊天室成员方法 *

*
*@param  id:聊天室 Id。
*@param  members:封禁列表。
*@param  minute:封禁时长,以分钟为单位,最大值为43200分钟。
*
*@return error

func (*RongCloud) ChatRoomBlockGetList

func (rc *RongCloud) ChatRoomBlockGetList(id string) (ChatRoomResult, error)

ChatRoomBlockGetList 查询被封禁聊天室成员方法

*@param  id:聊天室 ID。
*
*@return ChatRoomResult error

func (*RongCloud) ChatRoomBlockRemove

func (rc *RongCloud) ChatRoomBlockRemove(id string, members []string) error

ChatRoomBlockRemove 移除封禁聊天室成员方法

*
*@param  id:聊天室 ID。
*@param  members: 用户列表。
*
*@return error

func (*RongCloud) ChatRoomBroadcast

func (rc *RongCloud) ChatRoomBroadcast(senderID, objectName string, msg rcMsg) error

ChatRoomBroadcast 向应用内所有聊天室广播消息方法,此功能需开通 专属服务(以一个用户身份向群组发送消息,单条消息最大 128k.每秒钟最多发送 20 条消息。)

*@param senderID:发送人用户 ID 。 *@param objectName:消息类型 *@param msg:发送消息内容 * *@return error

func (*RongCloud) ChatRoomCreate

func (rc *RongCloud) ChatRoomCreate(id, name string) error

ChatRoomCreate 创建聊天室方法

*@param  id:要创建的聊天室的ID;
*@param  name:要创建的聊天室的name。
*
*@return error

func (*RongCloud) ChatRoomDemotionAdd

func (rc *RongCloud) ChatRoomDemotionAdd(objectNames []string) error

ChatRoomDemotionAdd 添加聊天室消息优先级方法

*@param  objectName:消息类型列表,最多 20 个。
*@return err

func (*RongCloud) ChatRoomDemotionGetList

func (rc *RongCloud) ChatRoomDemotionGetList() ([]string, error)

ChatRoomDemotionGetList 获取应用内聊天室降级消息

*@return []string error

func (*RongCloud) ChatRoomDemotionRemove

func (rc *RongCloud) ChatRoomDemotionRemove(objectNames []string) error

ChatRoomDemotionRemove 移除应用内聊天室降级消息

*@param  objectName:消息类型列表。
*@return err

func (*RongCloud) ChatRoomDestroy

func (rc *RongCloud) ChatRoomDestroy(id string) error

ChatRoomDestroy 销毁聊天室方法 *

*
*@param  id:要销毁的聊天室 ID。
*
*@return error

func (*RongCloud) ChatRoomDistributionResume

func (rc *RongCloud) ChatRoomDistributionResume(id string) error

ChatRoomDistributionResume 聊天室消息恢复分发方法

*@param  id:聊天室 ID。
*@return error

func (*RongCloud) ChatRoomDistributionStop

func (rc *RongCloud) ChatRoomDistributionStop(id string) error

ChatRoomDistributionStop 聊天室消息停止分发方法(可实现控制对聊天室中消息是否进行分发,停止分发后聊天室中用户发送的消息,融云服务端不会再将消息发送给聊天室中其他用户。)

*@param  id:聊天室 ID。
*@return error

func (*RongCloud) ChatRoomEntryQuery

func (rc *RongCloud) ChatRoomEntryQuery(chatRoomID, keys string) ([]ChatRoomAttr, error)

ChatRoomEntryQuery 获取聊天室属性自定义 *

  • @param ChatRoomID 聊天室 Id
  • @param keys 批量获取指定聊天室中的 Key 值,最多上限为 100 个,为空时获取全部 key 值。 *
  • @return []ChatRoomAttr 属性列表
  • @return error 错误

func (*RongCloud) ChatRoomEntryRemove

func (rc *RongCloud) ChatRoomEntryRemove(chatRoomID, userID, key string) error

ChatRoomEntryRemove 删除聊天室自定义属性 *

  • @param chatRoomID 聊天室 Id
  • @param userID 操作用户 Id。通过 Server API 非聊天室中用户可以进行设置。
  • @param key 聊天室属性名称,Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,大小写敏感。最大长度 128 字 *
  • @return error

func (*RongCloud) ChatRoomEntrySet

func (rc *RongCloud) ChatRoomEntrySet(chatRoomID, userID, key, value string, autoDelete bool) error

ChatRoomEntrySet 设置聊天室自定义属性 *

  • @param chatRoomID 聊天室 Id
  • @param userID 操作用户 Id。通过 Server API 非聊天室中用户可以进行设置。
  • @param key 聊天室属性名称,Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,大小写敏感。最大长度 128 字符
  • @param value 聊天室属性对应的值,最大长度 4096 个字符
  • @param autoDelete 用户退出聊天室后,是否删除此 Key 值。为 true 时删除此 Key 值,为 false 时用户退出后不删除此 Key *
  • @retrun error

func (*RongCloud) ChatRoomGagAdd

func (rc *RongCloud) ChatRoomGagAdd(id string, members []string, minute uint) error

ChatRoomGagAdd 添加禁言聊天室成员方法(在 App 中如果不想让某一用户在聊天室中发言时,可将此用户在聊天室中禁言,被禁言用户可以接收查看聊天室中用户聊天信息,但不能发送消息.)

*
*@param  id:聊天室 ID。
*@param  members:禁言列表。
*@param  minute:禁言时长,以分钟为单位,最大值为43200分钟。(必传)
*
*@return error

func (*RongCloud) ChatRoomGagGetList

func (rc *RongCloud) ChatRoomGagGetList(id string) ([]ChatRoomUser, error)

ChatRoomGagGetList 查询被禁言聊天室成员方法

*@param  id:聊天室 ID。(必传)
*
*@return []ChatRoomUser error

func (*RongCloud) ChatRoomGagRemove

func (rc *RongCloud) ChatRoomGagRemove(id string, members []string) error

ChatRoomGagRemove 移除禁言聊天室成员方法

*@param  id:聊天室Id。
*@param  members:解除禁言列表
*
*@return error

func (*RongCloud) ChatRoomGet

func (rc *RongCloud) ChatRoomGet(id string, count, order int) (ChatRoomResult, error)

ChatRoomGet 查询聊天室内用户方法

*@param  id:要查询的聊天室 ID。
*@param  count:要获取的聊天室成员数,上限为 500 ,超过 500 时最多返回 500 个成员。
*@param  order:加入聊天室的先后顺序, 1 为加入时间正序, 2 为加入时间倒序。
*
*@return ChatRoomResult error

func (*RongCloud) ChatRoomIsExist

func (rc *RongCloud) ChatRoomIsExist(id string, members []string) ([]ChatRoomUser, error)

ChatRoomIsExist 检查用户是否在聊天室

*@param  id:要查询的聊天室 ID。
*@param  members:每次最多 1000 个成员。
*
*@return ChatRoomResult error

func (*RongCloud) ChatRoomKeepAliveAdd

func (rc *RongCloud) ChatRoomKeepAliveAdd(id string) error

ChatRoomKeepAliveAdd 添加保活聊天室

*@param  id:聊天室 ID。
*@return error

func (*RongCloud) ChatRoomKeepAliveGetList

func (rc *RongCloud) ChatRoomKeepAliveGetList() ([]string, error)

ChatRoomKeepAliveGetList 获取保活聊天室

*@param  id:聊天室 ID。
*@return []string error

func (*RongCloud) ChatRoomKeepAliveRemove

func (rc *RongCloud) ChatRoomKeepAliveRemove(id string) error

ChatRoomKeepAliveRemove 删除保活聊天室

*@param  id:聊天室 ID。
*@return error

func (*RongCloud) ChatRoomMuteMembersAdd

func (rc *RongCloud) ChatRoomMuteMembersAdd(id string, members []string, minute uint) error

ChatRoomMuteMembersAdd 添加禁言聊天室成员方法(在 App 中如果不想让某一用户在聊天室中发言时,可将此用户在聊天室中禁言,被禁言用户可以接收查看聊天室中用户聊天信息,但不能发送消息.)

*
*@param  id:聊天室 ID。
*@param  members:禁言列表。
*@param  minute:禁言时长,以分钟为单位,最大值为43200分钟。(必传)
*
*@return error

func (*RongCloud) ChatRoomMuteMembersGetList

func (rc *RongCloud) ChatRoomMuteMembersGetList(id string) ([]ChatRoomUser, error)

ChatRoomMuteMembersGetList 查询被禁言聊天室成员方法

*@param  id:聊天室 ID。(必传)
*
*@return []ChatRoomUser error

func (*RongCloud) ChatRoomMuteMembersRemove

func (rc *RongCloud) ChatRoomMuteMembersRemove(id string, members []string) error

ChatRoomMuteMembersRemove 移除禁言聊天室成员方法

*@param  id:聊天室Id。
*@param  members:解除禁言列表
*
*@return error

func (*RongCloud) ChatRoomQuery

func (rc *RongCloud) ChatRoomQuery(chatRoomID []string) ([]ChatRoom, error)

ChatRoomQuery 查询聊天室基础信息 *

  • @param chatRoomID 要查询的聊天室id *
  • @return []ChatRoom 聊天室信息数组
  • @return error 错误信息 *

func (*RongCloud) ChatRoomRecall

func (rc *RongCloud) ChatRoomRecall(userId string, targetId string, messageId string, sentTime int) error

*

  • @name: ChatRoomRecall
  • @test:
  • @msg: 消息撤回 - 聊天室
  • @param string userId
  • @param string targetId
  • @param string messageId
  • @param int sentTime
  • @return: error

func (*RongCloud) ChatRoomSend

func (rc *RongCloud) ChatRoomSend(senderID string, targetID []string, objectName string, msg rcMsg) error

ChatRoomSend 发送聊天室消息方法。(以一个用户身份向群组发送消息,单条消息最大 128k.每秒钟最多发送 20 条消息,每次最多向 3 个群组发送,如:一次向 3 个群组发送消息,示为 3 条消息。)

*@param senderID:发送人用户 ID 。 *@param targetID:接收聊天室ID, 建议最多不超过 10 个聊天室。 *@param objectName:消息类型 *@param msg:发送消息内容 * *@return error

func (*RongCloud) ChatRoomUserWhitelistAdd

func (rc *RongCloud) ChatRoomUserWhitelistAdd(id string, members []string) error

ChatRoomUserWhitelistAdd 添加聊天室白名单成员方法

*@param  id:聊天室 ID。
*@param  members:白名单列表,最多不超过 5 个。
*@return error

func (*RongCloud) ChatRoomUserWhitelistGetList

func (rc *RongCloud) ChatRoomUserWhitelistGetList(id string) ([]string, error)

ChatRoomUserWhitelistGetList 获取聊天室用户白名单

*@param  id:聊天室 ID。
*@return []string error

func (*RongCloud) ChatRoomUserWhitelistRemove

func (rc *RongCloud) ChatRoomUserWhitelistRemove(id string, members []string) error

ChatRoomUserWhitelistRemove 将用户从白名单中移除

*@param  id:聊天室 ID。
*@param  members:白名单列表,最多不超过 5 个。
*@return error

func (*RongCloud) ChatRoomWhitelistAdd

func (rc *RongCloud) ChatRoomWhitelistAdd(objectNames []string) error

ChatRoomWhitelistAdd 添加聊天室消息白名单

*@param  objectNames:消息类型列表。
*@return error

func (*RongCloud) ChatRoomWhitelistGetList

func (rc *RongCloud) ChatRoomWhitelistGetList() ([]string, error)

ChatRoomWhitelistGetList 获取聊天室消息白名单

*@return []string error

func (*RongCloud) ChatRoomWhitelistRemove

func (rc *RongCloud) ChatRoomWhitelistRemove(objectNames []string) error

ChatRoomWhitelistRemove 删除聊天室消息白名单

*@param  objectNames:消息类型列表。
*@return error

func (*RongCloud) ConversationGet

func (rc *RongCloud) ConversationGet(conversationType ConversationType, userID, targetID string) (int, error)

ConversationGet 免打扰会话状态获取

*@param conversationType:会话类型 PRIVATE、GROUP、DISCUSSION、SYSTEM。 *@param userID:设置用户 ID。 *@param targetID:需要屏蔽的目标 ID。 * *@return int error

func (*RongCloud) ConversationMute

func (rc *RongCloud) ConversationMute(conversationType ConversationType, userID, targetID string) error

ConversationMute 设置用户某个会话屏蔽 Push

*@param conversationType:会话类型 PRIVATE、GROUP、DISCUSSION、SYSTEM。 *@param userID:设置用户 ID。 *@param targetID:需要屏蔽的目标 ID。 * *@return error

func (*RongCloud) ConversationUnmute

func (rc *RongCloud) ConversationUnmute(conversationType ConversationType, userID, targetID string) error

ConversationUnmute 设置用户某个会话接收 Push

*@param conversationType:会话类型 PRIVATE、GROUP、DISCUSSION、SYSTEM。 *@param userID:设置用户 ID。 *@param targetID:需要屏蔽的目标 ID。 * *@return error

func (*RongCloud) GetHttpTransport

func (rc *RongCloud) GetHttpTransport() *http.Transport

func (*RongCloud) GroupCreate

func (rc *RongCloud) GroupCreate(id, name string, members []string) error

GroupCreate 创建群组方法(创建群组,并将用户加入该群组,用户将可以收到该群的消息,同一用户最多可加入 500 个群,每个群最大至 3000 人,App 内的群组数量没有限制.注:其实本方法是加入群组方法 /group/join 的别名。)

*@param  id:群组 Id,最大长度 30 个字符,建议使用 英文字母、数字 混排
*@param  name:群组名称,最大长度 60 个字符
*@param  members:加入群组的用户列表
*
*@return error

func (*RongCloud) GroupDismiss

func (rc *RongCloud) GroupDismiss(id, member string) error

GroupDismiss 解散群组方法

*@param  id:群组 ID,最大长度 30 个字符,建议使用 英文字母、数字 混排
*@param  member:群主或群管理.
*
*@return error

func (*RongCloud) GroupGagAdd

func (rc *RongCloud) GroupGagAdd(id string, members []string, minute int) error

GroupGagAdd 添加禁言群成员方法(在 App 中如果不想让某一用户在群中发言时,可将此用户在群组中禁言,被禁言用户可以接收查看群组中用户聊天信息,但不能发送消息。)

*@param id:群组 ID。 *@param members:禁言群成员列表。 *@param minute:禁言时长,以分钟为单位,最大值为43200分钟。 * *@return error

func (*RongCloud) GroupGagList

func (rc *RongCloud) GroupGagList(id string) (Group, error)

GroupGagList 查询被禁言群成员方法

*@param id:群组ID。 * *@return Group error

func (*RongCloud) GroupGagRemove

func (rc *RongCloud) GroupGagRemove(id string, members []string) error

GroupGagRemove 移除禁言群成员方法

*@param id:群组 Id。 *@param members:解除禁言群成员列表 。 * *@return error

func (*RongCloud) GroupGet

func (rc *RongCloud) GroupGet(id string) (Group, error)

GroupGet 查询群成员方法

*@param  id:群组Id。
*
*@return Group error

func (*RongCloud) GroupJoin

func (rc *RongCloud) GroupJoin(id, name, member string) error

GroupJoin 将用户加入指定群组,用户将可以收到该群的消息。

*@param  id:加入的群组 Id。
*@param  name:群组名称,最大长度 60 个字符。
*@param  member:要加入群组的用户。
*
*@return error

func (*RongCloud) GroupMuteAllMembersAdd

func (rc *RongCloud) GroupMuteAllMembersAdd(members []string) error

GroupMuteAllMembersAdd 设置某一群组禁言,禁言后群组中所有成员禁止发送消息,如需要某些用户可以发言时,可将此用户加入到群禁言用户白名单中。

*@param members:禁言群成员列表。 * *@return error

func (*RongCloud) GroupMuteAllMembersGetList

func (rc *RongCloud) GroupMuteAllMembersGetList(members []string) (GroupInfo, error)

GroupMuteAllMembersGetList 查询全部群组禁言列表

*@param id:群组ID。 * *@return Group error

func (*RongCloud) GroupMuteAllMembersRemove

func (rc *RongCloud) GroupMuteAllMembersRemove(members []string) error

GroupMuteAllMembersRemove 解除群组禁言

*@param members:禁言群成员列表。 * *@return error

func (*RongCloud) GroupMuteMembersAdd

func (rc *RongCloud) GroupMuteMembersAdd(id string, members []string, minute int) error

GroupMuteMembersAdd 添加禁言群成员方法(在 App 中如果不想让某一用户在群中发言时,可将此用户在群组中禁言,被禁言用户可以接收查看群组中用户聊天信息,但不能发送消息。)

*@param id:群组 ID。 *@param members:禁言群成员列表。 *@param minute:禁言时长,以分钟为单位,最大值为43200分钟。 * *@return error

func (*RongCloud) GroupMuteMembersGetList

func (rc *RongCloud) GroupMuteMembersGetList(id string) (Group, error)

GroupMuteMembersGetList 查询被禁言群成员方法

*@param id:群组ID。 * *@return Group error

func (*RongCloud) GroupMuteMembersRemove

func (rc *RongCloud) GroupMuteMembersRemove(id string, members []string) error

GroupMuteMembersRemove 移除禁言群成员方法

*@param id:群组 Id。 *@param members:解除禁言群成员列表 。 * *@return error

func (*RongCloud) GroupMuteWhiteListUserAdd

func (rc *RongCloud) GroupMuteWhiteListUserAdd(id string, members []string) error

GroupMuteWhiteListUserAdd 在群组被禁言状态下,如果需要某些用户可以发言时,可将此用户加入到群组禁言用户白名单中。群禁言用户白名单,只有群组被设置为全部禁言时才会生效。

*@param id:群组 ID。 *@param members:禁言群成员列表。 * *@return error

func (*RongCloud) GroupMuteWhiteListUserGetList

func (rc *RongCloud) GroupMuteWhiteListUserGetList(id string) ([]string, error)

GroupMuteWhiteListUserGetList 查询群禁言白名单用户列表。

*@param id:群组 ID。 * *@return error

func (*RongCloud) GroupMuteWhiteListUserRemove

func (rc *RongCloud) GroupMuteWhiteListUserRemove(id string, members []string) error

GroupMuteWhiteListUserRemove 移除群禁言白名单用户。

*@param id:群组 ID。 *@param members:禁言群成员列表。 * *@return error

func (*RongCloud) GroupQuit

func (rc *RongCloud) GroupQuit(member, id string) error

GroupQuit 退出群组方法(将用户从群中移除,不再接收该群组的消息.)

*@param  id:要退出的群组 Id。
*@param  member:要退出群组的群成员。
*
*@return error

func (*RongCloud) GroupRecall

func (rc *RongCloud) GroupRecall(senderID, targetID, uID string, sentTime int) error

GroupRecall 撤回群聊消息

*@param senderID:发送人用户 ID。 *@param targetID:接收用户 ID。 *@param uID:消息的唯一标识,各端 SDK 发送消息成功后会返回 uID。 *@param sentTime:消息的发送时间,各端 SDK 发送消息成功后会返回 sentTime。 * *@return error

func (*RongCloud) GroupSend

func (rc *RongCloud) GroupSend(senderID string, targetID, userID []string, objectName string, msg rcMsg,
	pushContent string, pushData string, isPersisted, isIncludeSender int,
	options ...MsgOption) error

GroupSend 发送群组消息方法(以一个用户身份向群组发送消息,单条消息最大 128k.每秒钟最多发送 20 条消息,每次最多向 3 个群组发送,如:一次向 3 个群组发送消息,示为 3 条消息。)

*@param  senderID:发送人用户 ID 。
*@param  targetID:接收群ID.
*@param  objectName:消息类型。
*@param  userID:群定向消群定向消息功能,向群中指定的一个或多个用户发送消息,群中其他用户无法收到该消息,当 targetID 为一个群组时此参数有效。注:如果开通了“单群聊消息云存储”功能,群定向消息不会存储到云端,向群中部分用户发送消息阅读状态回执时可使用此功能。(可选)
*@param  msg:发送消息内容
*@param  pushContent:定义显示的 Push 内容,如果 objectName 为融云内置消息类型时,则发送后用户一定会收到 Push 信息. 如果为自定义消息,则 pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。
*@param  pushData:针对 iOS 平台为 Push 通知时附加到 payload 中,Android 客户端收到推送消息时对应字段名为 pushData。
*@param  isPersisted:当前版本有新的自定义消息,而老版本没有该自定义消息时,老版本客户端收到消息后是否进行存储,0 表示为不存储、 1 表示为存储,默认为 1 存储消息。
*@param  isIncludeSender:发送用户自已是否接收消息,0 表示为不接收,1 表示为接收,默认为 0 不接收。
*@param  options 发送消息需要用的其他扩展参数
*
*@return error

func (*RongCloud) GroupSendMention

func (rc *RongCloud) GroupSendMention(senderID string, targetID []string, objectName string, msg MentionMsgContent,
	pushContent, pushData string, isPersisted, isIncludeSender, isMentioned, contentAvailable int) error

GroupSendMention 发送群组 @ 消息

*@param senderID:发送人用户 ID 。 *@param targetID:接收群ID,最多不超过 3 个群组。 *@param objectName:消息类型。 *@param msg:发送消息内容。 *@param pushContent:定义显示的 Push 内容,如果 objectName 为融云内置消息类型时,则发送后用户一定会收到 Push 信息. 如果为自定义消息,则 pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。 *@param pushData:针对 iOS 平台为 Push 通知时附加到 payload 中,Android 客户端收到推送消息时对应字段名为 pushData。 *@param isPersisted:当前版本有新的自定义消息,而老版本没有该自定义消息时,老版本客户端收到消息后是否进行存储,0 表示为不存储、 1 表示为存储,默认为 1 存储消息。 *@param isIncludeSender:发送用户自已是否接收消息,0 表示为不接收,1 表示为接收,默认为 0 不接收。 *@param isMentioned:是否为 @消息,0 表示为普通消息,1 表示为 @消息,默认为 0。当为 1 时 content 参数中必须携带 mentionedInfo @消息的详细内容。为 0 时则不需要携带 mentionedInfo。当指定了 toUserId 时,则 @ 的用户必须为 toUserId 中的用户。 *@param contentAvailable:针对 iOS 平台,对 SDK 处于后台暂停状态时为静默推送,是 iOS7 之后推出的一种推送方式。 允许应用在收到通知后在后台运行一段代码,且能够马上执行,查看详细。1 表示为开启,0 表示为关闭,默认为 0 * *@return error

func (*RongCloud) GroupSync

func (rc *RongCloud) GroupSync(id string, groups []Group) error

GroupSync 同步用户所属群组方法(当第一次连接融云服务器时,需要向融云服务器提交 ID 对应的用户当前所加入的所有群组,此接口主要为防止应用中用户群信息同融云已知的用户所属群信息不同步。)

*@param  id:被同步群信息的用户 ID。(必传)
*@param  groups:用户所在群组列表。
*
*@return error

func (*RongCloud) GroupUpdate

func (rc *RongCloud) GroupUpdate(id, name string) error

GroupUpdate 刷新群组信息方法

*@param id:群组 Id。 *@param name:群名称。 * *@return error

func (*RongCloud) HistoryGet

func (rc *RongCloud) HistoryGet(date string) (History, error)

HistoryGet 按小时获取历史消息日志文件 URL,包含小时内应用产生的所有消息,消息日志文件无论是否已下载,3 天后将从融云服务器删除

*@param date:精确到小时,例如: 2018030210 表示获取 2018 年 3 月 2 日 10 点至 11 点产生的数据 * *@return History error

func (*RongCloud) HistoryRemove

func (rc *RongCloud) HistoryRemove(date string) error

HistoryRemove 删除历史消息日志文件

*@param date:精确到小时,例如: 2018030210 表示获取 2018 年 3 月 2 日 10 点至 11 点产生的数据 * *@return error

func (*RongCloud) MessageBroadcastRecall

func (rc *RongCloud) MessageBroadcastRecall(userId string, objectName string, content BroadcastRecallContent) error

*

  • @name: MessageBroadcastRecall
  • @test:
  • @msg:广播消息撤回
  • @param string userId
  • @param string objectName
  • @param BroadcastRecallContent content
  • @return: error

func (*RongCloud) OnlineStatusCheck

func (rc *RongCloud) OnlineStatusCheck(userID string) (int, error)

OnlineStatusCheck 检查用户在线状态

*@param userID:用户 ID,最大长度 64 字节.是用户在 App 中的唯一标识码,必须保证在同一个 App 内不重复,重复的用户 Id 将被当作是同一用户。 * *@return int, error

func (*RongCloud) PrivateRecall

func (rc *RongCloud) PrivateRecall(senderID, targetID, uID string, sentTime int) error

PrivateRecall 撤回单聊消息方法

* *@param senderID:发送人用户 ID。 *@param targetID:接收用户 ID。 *@param uID:消息的唯一标识,各端 SDK 发送消息成功后会返回 uID。 *@param sentTime:消息的发送时间,各端 SDK 发送消息成功后会返回 sentTime。 * *@return error

func (*RongCloud) PrivateSend

func (rc *RongCloud) PrivateSend(senderID string, targetID []string, objectName string, msg rcMsg,
	pushContent, pushData string, count, verifyBlacklist, isPersisted, isIncludeSender, contentAvailable int,
	options ...MsgOption) error

PrivateSend 发送单聊消息方法(一个用户向多个用户发送消息,单条消息最大 128k。每分钟最多发送 6000 条信息,每次发送用户上限为 1000 人,如:一次发送 1000 人时,示为 1000 条消息。)

*@param  senderID:发送人用户 ID。
*@param  targetID:接收用户 ID。可以实现向多人发送消息,每次上限为 1000 人。
*@param  objectName:发送的消息类型。
*@param  msg:消息内容。
*@param  pushContent:定义显示的 Push 内容,如果 objectName 为融云内置消息类型时,则发送后用户一定会收到 Push 信息。如果为自定义消息,则 pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。
*@param  pushData:针对 iOS 平台为 Push 通知时附加到 payload 中,Android 客户端收到推送消息时对应字段名为 pushData。
*@param  count:针对 iOS 平台,Push 时用来控制未读消息显示数,只有在 toUserId 为一个用户 Id 的时候有效。
*@param  verifyBlacklist:是否过滤发送人黑名单列表,0 表示为不过滤、 1 表示为过滤,默认为 0 不过滤。
*@param  isPersisted:当前版本有新的自定义消息,而老版本没有该自定义消息时,老版本客户端收到消息后是否进行存储,0 表示为不存储、 1 表示为存储,默认为 1 存储消息。
*@param  isIncludeSender:发送用户自已是否接收消息,0 表示为不接收,1 表示为接收,默认为 0 不接收。
*@param  contentAvailable:针对 iOS 平台,对 SDK 处于后台暂停状态时为静默推送,是 iOS7 之后推出的一种推送方式。 允许应用在收到通知后在后台运行一段代码,且能够马上执行,查看详细。1 表示为开启,0 表示为关闭,默认为 0。
*@param  options 发送消息需要用的其他扩展参数
*
*@return error

func (*RongCloud) PrivateSendTemplate

func (rc *RongCloud) PrivateSendTemplate(senderID, objectName string, template TXTMsg, content []TemplateMsgContent,
	options ...MsgOption) error

PrivateSendTemplate 向多个用户发送不同内容消息

*@param  senderID:发送人用户 ID。
*@param  objectName:发送的消息类型。
*@param  template:消息模版。
*@param  content:数据内容,包含消息内容和接收者。
*@param  options 发送消息需要用的其他扩展参数
*
*@return error

func (*RongCloud) PrivateURI

func (rc *RongCloud) PrivateURI(uri, sms string)

PrivateURI 私有云设置 Api 地址

func (*RongCloud) PushSend

func (rc *RongCloud) PushSend(sender Sender) (PushResult, error)

PushSend 此方法与 /message/broadcast 广播消息方法发送机制一样,可选择更多发送条件。 该功能开发环境下可免费使用。生产环境下,您需要在开发者后台高级功能设置中开通 IM 商用版后,在“广播消息和推送”中,开启后才能使用。 推送和广播消息合计每小时只能发送 2 次,每天最多发送 3 次。如需要调整发送频率.

*@param Push: 广播消息体 push。 * *@return PushResult, error

func (*RongCloud) QueryWhiteList

func (rc *RongCloud) QueryWhiteList(userId string) (WhiteList, error)

*

  • @name: QueryWhiteList
  • @test:
  • @msg: 获取某用户白名单列表(每秒限100次)
  • @param string userId
  • @return: WhiteList error

func (*RongCloud) RemoveWhiteList

func (rc *RongCloud) RemoveWhiteList(userId string, whiteList []string) error

*

  • @name: RemoveWhiteList
  • @test:
  • @msg: 移除白名单中用户(每秒限 100 次)
  • @param string userId
  • @param []string whiteList
  • @return: error

func (*RongCloud) SensitiveAdd

func (rc *RongCloud) SensitiveAdd(keyword, replace string, sensitiveType int) error

SensitiveAdd 添加敏感词

*@param keyword:敏感词,最长不超过 32 个字符,格式为汉字、数字、字母 *@param replace:敏感词替换,最长不超过 32 个字符, 敏感词屏蔽可以为空 *@param sensitiveType:0: 敏感词替换 1: 敏感词屏蔽 * *@return error

func (*RongCloud) SensitiveGetList

func (rc *RongCloud) SensitiveGetList() (ListWordFilterResult, error)

SensitiveGetList 查询敏感词列表方法

*@return ListWordFilterResult error

func (*RongCloud) SensitiveRemove

func (rc *RongCloud) SensitiveRemove(keywords []string) error

SensitiveRemove 移除敏感词方法(从敏感词列表中,移除某一敏感词。)

*@param keywords:每次最多删除 50 个敏感词,2 小时后生效 * *@return error

func (*RongCloud) SetHttpTransport

func (rc *RongCloud) SetHttpTransport(httpTransport *http.Transport)

自定义 http 参数

func (*RongCloud) SystemBroadcast

func (rc *RongCloud) SystemBroadcast(senderID, objectName string, msg rcMsg,
	options ...MsgOption) error

SystemBroadcast 给应用内所有用户发送消息方法,每小时最多发 2 次,每天最多发送 3 次(以一个用户身份向群组发送消息,单条消息最大 128k.每秒钟最多发送 20 条消息。)

*@param senderID:发送人用户 ID 。 *@param objectName:消息类型 *@param msg:发送消息内容 * *@return error

func (*RongCloud) SystemSend

func (rc *RongCloud) SystemSend(senderID string, targetID []string, objectName string, msg rcMsg,
	pushContent, pushData string, count, isPersisted int,
	options ...MsgOption) error

SystemSend 一个用户向一个或多个用户发送系统消息,单条消息最大 128k,会话类型为 SYSTEM。

*@param senderID:发送人用户 ID。 *@param targetID:接收用户 ID, 上限为 100 人。 *@param objectName:发送的消息类型。 *@param msg:消息。 *@param pushContent:定义显示的 Push 内容,如果 objectName 为融云内置消息类型时,则发送后用户一定会收到 Push 信息。如果为自定义消息,则 pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。 *@param pushData:针对 iOS 平台为 Push 通知时附加到 payload 中,Android 客户端收到推送消息时对应字段名为 pushData。 *@param count:针对 iOS 平台,Push 时用来控制未读消息显示数,只有在 toUserId 为一个用户 Id 的时候有效。 *@param isPersisted:当前版本有新的自定义消息,而老版本没有该自定义消息时,老版本客户端收到消息后是否进行存储,0 表示为不存储、 1 表示为存储,默认为 1 存储消息。 *@param options 发送消息需要用的其他扩展参数

* *@return error

func (*RongCloud) SystemSendTemplate

func (rc *RongCloud) SystemSendTemplate(senderID, objectName string, template TXTMsg, content []TemplateMsgContent) error

SystemSendTemplate 一个用户向一个或多个用户发送系统消息,单条消息最大 128k,会话类型为 SYSTEM

*@param senderID:发送人用户 ID。 *@param objectName:发送的消息类型。 *@param template:消息模版。 *@param content:数据内容,包含消息内容和接收者。 * *@return error

func (*RongCloud) TagBatchSet

func (rc *RongCloud) TagBatchSet(tagBatch TagBatch) error

TagBatchSet 为应用中的用户批量添加标签,如果某用户已经添加了标签,再次对用户添加标签时将覆盖之前设置的标签内容。

*@param t :标签 TagBatch 构造体。 * *@return error

func (*RongCloud) TagGet

func (rc *RongCloud) TagGet(userIds []string) (TagResult, error)

TagGet 查询用户所有标签功能,支持批量查询每次最多查询 50 个用户。

*@param userIds: 用户 ID。 * *@return error

func (*RongCloud) TagSet

func (rc *RongCloud) TagSet(tag Tag) error

TagSet 为应用中的用户添加标签,如果某用户已经添加了标签,再次对用户添加标签时将覆盖之前设置的标签内容。

*@param tag :标签 Tag 构造体。 * *@return error

func (*RongCloud) UserRegister

func (rc *RongCloud) UserRegister(userID, name, portraitURI string) (User, error)

UserRegister 注册用户,生成用户在融云的唯一身份标识 Token

*@param userID:用户 ID,最大长度 64 字节.是用户在 App 中的唯一标识码,必须保证在同一个 App 内不重复,重复的用户 Id 将被当作是同一用户。 *@param name:用户名称,最大长度 128 字节.用来在 Push 推送时显示用户的名称.用户名称,最大长度 128 字节.用来在 Push 推送时显示用户的名称。 *@param portraitURI:用户头像 URI,最大长度 1024 字节.用来在 Push 推送时显示用户的头像。可以为空 * *@return User, error

func (*RongCloud) UserUpdate

func (rc *RongCloud) UserUpdate(userID, name, portraitURI string) error

UserUpdate 修改用户信息

*@param userID:用户 ID,最大长度 64 字节.是用户在 App 中的唯一标识码,必须保证在同一个 App 内不重复,重复的用户 Id 将被当作是同一用户。 *@param name:用户名称,最大长度 128 字节。用来在 Push 推送时,显示用户的名称,刷新用户名称后 5 分钟内生效。(可选,提供即刷新,不提供忽略) *@param portraitURI:用户头像 URI,最大长度 1024 字节。用来在 Push 推送时显示。(可选,提供即刷新,不提供忽略) * *@return error

type Sender

type Sender interface {
	// contains filtered or unexported methods
}

Sender 广播推送接口

type SensitiveWord

type SensitiveWord struct {
	Type        string `json:"type"`
	Word        string `json:"word"`
	ReplaceWord string `json:"replaceWord"`
}

SensitiveWord 敏感词

type TXTMsg

type TXTMsg struct {
	Content string      `json:"content"`
	User    MsgUserInfo `json:"user"`
	Extra   string      `json:"extra"`
}

TXTMsg 消息

func (*TXTMsg) ToString

func (msg *TXTMsg) ToString() (string, error)

ToString TXTMsg

type Tag

type Tag struct {
	UserID string   `json:"userId"` // 用户 Id。(必传)
	Tags   []string `json:"tags"`   // 用户标签,一个用户最多添加 20 个标签,每个 tag 最大不能超过 40 个字节,标签中不能包含特殊字符。(必传)
}

Tag TagSet 参数

type TagBatch

type TagBatch struct {
	UserIDs []string `json:"userIds"` // 用户 Id,一次最多支持 1000 个用户。(必传)
	Tags    []string `json:"tags"`    // 用户标签,一个用户最多添加 20 个标签,每个 tag 最大不能超过 40 个字节,标签中不能包含特殊字符。(必传)
}

TagBatch TagBatchSet 参数

type TagResult

type TagResult struct {
	*CodeResult
	Result map[string][]string `json:"result"` // 用户所有的标签数组。
}

TagResult TagGet 返回值

type TemplateMsgContent

type TemplateMsgContent struct {
	TargetID    string
	Data        map[string]string
	PushContent string
	PushData    string
}

TemplateMsgContent 消息模版

type User

type User struct {
	Token        string `json:"token"`
	UserID       string `json:"userId"`
	BlockEndTime string `json:"blockEndTime,omitempty"`
	Status       string `json:"status,omitempty"`
}

User 用户信息 返回信息

type VCMsg

type VCMsg struct {
	Content  string      `json:"content"`
	User     MsgUserInfo `json:"user"`
	Extra    string      `json:"extra"`
	Duration interface{} `json:"duration"`
}

VCMsg 消息

func (*VCMsg) ToString

func (msg *VCMsg) ToString() (string, error)

ToString VCMsg

type WhiteList

type WhiteList struct {
	Users []string `json:"users"`
}

WhiteList QueryWhiteList 返回数据

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL