Documentation ¶
Index ¶
- type Account
- type AccountResponse
- type AttachMsg
- type BatchMsg
- type Bidirection
- type BroadcastMsgReq
- type BroadcastMsgResp
- type ChatRoomMember
- type ChatRoomMemberResp
- type Chatroom
- type ChatroomMsg
- type ChatroomRequest
- type ChatroomRobot
- type File
- type Friend
- type Group
- type Logger
- type MemberRole
- type Msg
- type MsgResult
- type NetEaseIM
- func (n NetEaseIM) AddFriend(friend Friend) error
- func (n NetEaseIM) AddRobot(r ChatroomRobot) error
- func (n NetEaseIM) BlockAccount(accid string, needkick string, kickNotifyExt string) (string, error)
- func (n NetEaseIM) CleanNOS(nos Nos) (string, error)
- func (n NetEaseIM) CleanRobot(req RobotReq) (RobotRes, error)
- func (n NetEaseIM) CreateAccount(account Account) (string, error)
- func (n NetEaseIM) CreateChatroom(room Chatroom) (Chatroom, error)
- func (n NetEaseIM) CreateGroup(group Group) (string, error)
- func (n NetEaseIM) DeleteFriend(accid string, faccid string, isDeleteAlias string) error
- func (n NetEaseIM) GetBatchChatroom(roomids string, needOnlineUserCount string) ([]Chatroom, error)
- func (n NetEaseIM) GetChatroom(roomid string, needOnlineUserCount string) (Chatroom, error)
- func (n NetEaseIM) GetFriend(accid string, updatetime string) ([]Bidirection, error)
- func (n NetEaseIM) GetUinfo(accids string) ([]Account, error)
- func (n NetEaseIM) ListBlackAndMuteList(accid string) ([]string, []string, error)
- func (n NetEaseIM) ListChatRoomMember(req RobotReq) ([]ChatRoomMember, error)
- func (n NetEaseIM) Mute(accid, mute string) error
- func (n NetEaseIM) MuteAV(accid, mute string) error
- func (n NetEaseIM) RefreshToken(accid string) (string, error)
- func (n NetEaseIM) RemoveRobot(req RobotReq) (RobotRes, error)
- func (n NetEaseIM) RequestAddr(r ChatroomRequest) ([]string, error)
- func (n NetEaseIM) SendAttachMsg(msg AttachMsg) error
- func (n NetEaseIM) SendBatchAttachMsg(msg AttachMsg) error
- func (n NetEaseIM) SendBatchMsg(msg BatchMsg) (string, error)
- func (n NetEaseIM) SendBroadcastMsg(msg BroadcastMsgReq) (*BroadcastMsgResp, error)
- func (n NetEaseIM) SendChatRoomMsg(r ChatroomMsg) error
- func (n NetEaseIM) SendMsg(msg Msg) (MsgResult, error)
- func (n *NetEaseIM) SetDebug(b bool)
- func (n NetEaseIM) SetDonnop(accid, donnopOpen string) error
- func (n *NetEaseIM) SetLog(log Logger)
- func (n NetEaseIM) SetMemberRole(r MemberRole) error
- func (n NetEaseIM) SetSpecialRelation(special SpecialRelation) error
- func (n NetEaseIM) ToggleCloseStat(roomid string, operator string, valid string) error
- func (n NetEaseIM) UnBlockAccount(accid string) error
- func (n NetEaseIM) UpdateAccount(accid, token string) error
- func (n NetEaseIM) UpdateChatroom(room Chatroom) error
- func (n NetEaseIM) UpdateFriend(special Friend) error
- func (n NetEaseIM) UpdateUinfo(account Account) error
- func (n NetEaseIM) Upload(file File) (string, error)
- type Nos
- type RobotDesc
- type RobotReq
- type RobotRes
- type SpecialRelation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account struct { Accid string `json:"accid" ` Name string `json:"name" ` Props string `json:"props" ` Icon string `json:"icon" ` Token string `json:"token" ` Sign string `json:"sign" ` Email string `json:"email" ` Birth string `json:"birth" ` Mobile string `json:"mobile" ` Gender int `json:"gender" ` Ex string `json:"ex" ` }
accid String 是 网易云通信ID,最大长度32字符,必须保证一个 APP内唯一(只允许字母、数字、半角下划线_、 @、半角点以及半角-组成,不区分大小写, 会统一小写处理,请注意以此接口返回结果中的accid为准)。 name String 否 网易云通信ID昵称,最大长度64字符。 props String 否 json属性,开发者可选填,最大长度1024字符。该参数已不建议使用。 icon String 否 网易云通信ID头像URL,开发者可选填,最大长度1024 token String 否 网易云通信ID可以指定登录token值,最大长度128字符, 并更新,如果未指定,会自动生成token,并在创建成功后返回 sign String 否 用户签名,最大长度256字符 email String 否 用户email,最大长度64字符 birth String 否 用户生日,最大长度16字符 mobile String 否 用户mobile,最大长度32字符,非中国大陆手机号码需要填写国家代码(如美国:+1-xxxxxxxxxx)或地区代码(如香港:+852-xxxxxxxx) gender int 否 用户性别,0表示未知,1表示男,2女表示女,其它会报参数错误 ex String 否 用户名片扩展字段,最大长度1024字符,用户可自行扩展,建议封装成JSON字符串
type AccountResponse ¶
type AttachMsg ¶
type AttachMsg struct { FromAccid string `json:"fromAccid" ` ToAccids []string `json:"toAccids" ` From string `json:"from" ` Msgtype int `json:"msgtype"` To string `json:"to" ` Attach string `json:"attach" ` Pushcontent string `json:"pushcontent" ` Payload string `json:"payload" ` Sound string `json:"sound" ` Save int `json:"save" ` Option string `json:"option" ` IsForcePush string `json:"isForcePush" ` ForcePushContent string `json:"forcePushContent" ` ForcePushAll string `json:"forcePushAll" ` ForcePushList string `json:"forcePushList" ` }
from String 是 发送者accid,用户帐号,最大32字符,APP内唯一 msgtype int 是 0:点对点自定义通知,1:群消息自定义通知,其他返回414 to String 是 msgtype==0是表示accid即用户id,msgtype==1表示tid即群id attach String 是 自定义通知内容,第三方组装的字符串,建议是JSON串,最大长度4096字符 pushcontent String 否 推送文案,最长500个字符。具体参见 推送配置参数详解。 payload String 否 必须是JSON,不能超过2k字符。该参数与APNs推送的payload含义不同。具体参见 推送配置参数详解。 sound String 否 如果有指定推送,此属性指定为客户端本地的声音文件名,长度不要超过30个字符,如果不指定,会使用默认声音 save int 否 1表示只发在线,2表示会存离线,其他会报414错误。默认会存离线 option String 否 发消息时特殊指定的行为选项,Json格式,可用于指定消息计数等特殊行为;option中字段不填时表示默认值。 option示例: {"badge":false,"needPushNick":false,"route":false} 字段说明: 1. badge:该消息是否需要计入到未读计数中,默认true; 2. needPushNick: 推送文案是否需要带上昵称,不设置该参数时默认false(ps:注意与sendMsg.action接口有别); 3. route: 该消息是否需要抄送第三方;默认true (需要app开通消息抄送功能) isForcePush String 否 发自定义通知时,是否强制推送 forcePushContent String 否 发自定义通知时,强制推送文案,最长500个字符 forcePushAll String 否 发群自定义通知时,强推列表是否为群里除发送者外的所有有效成员 forcePushList String 否 发群自定义通知时,强推列表,格式为JSONArray,如"accid1","accid2"
type BatchMsg ¶
type BatchMsg struct { FromAccid string `json:"fromAccid" ` ToAccids []string `json:"toAccids" ` Type int `json:"type" ` Body string `json:"body"` Option string `json:"option"` Pushcontent string `json:"pushcontent"` Payload string `json:"payload"` Ext string `json:"ext"` Bid string `json:"bid"` UseYidun int `json:"useYidun"` ReturnMsgid bool `json:"returnMsgid" ` }
fromAccid String 是 发送者accid,用户帐号,最大32字符, 必须保证一个APP内唯一 toAccids String 是 ["aaa","bbb"](JSONArray对应的accid,如果解析出错,会报414错误),限500人 type int 是 0 表示文本消息, 1 表示图片, 2 表示语音, 3 表示视频, 4 表示地理位置信息, 6 表示文件, 10 表示提示消息, 100 自定义消息类型 body String 是 最大长度5000字符,JSON格式。 具体请参考: 消息格式示例 option String 否 发消息时特殊指定的行为选项,Json格式,可用于指定消息的漫游,存云端历史,发送方多端同步,推送,消息抄送等特殊行为;option中字段不填时表示默认值 option示例:
{"push":false,"roam":true,"history":false,"sendersync":true,"route":false,"badge":false,"needPushNick":true}
字段说明: 1. roam: 该消息是否需要漫游,默认true(需要app开通漫游消息功能); 2. history: 该消息是否存云端历史,默认true; 3. sendersync: 该消息是否需要发送方多端同步,默认true; 4. push: 该消息是否需要APNS推送或安卓系统通知栏推送,默认true; 5. route: 该消息是否需要抄送第三方;默认true (需要app开通消息抄送功能); 6. badge:该消息是否需要计入到未读计数中,默认true; 7. needPushNick: 推送文案是否需要带上昵称,不设置该参数时默认true; 8. persistent: 是否需要存离线消息,不设置该参数时默认true。 pushcontent String 否 推送文案,最长500个字符。具体参见 推送配置参数详解。 payload String 否 必须是JSON,不能超过2k字符。该参数与APNs推送的payload含义不同。具体参见 推送配置参数详解。 ext String 否 开发者扩展字段,长度限制1024字符 bid String 否 可选,反垃圾业务ID,实现“单条消息配置对应反垃圾”,若不填则使用原来的反垃圾配置 useYidun int 否 可选,单条消息是否使用易盾反垃圾,可选值为0。 0:(在开通易盾的情况下)不使用易盾反垃圾而是使用通用反垃圾,包括自定义消息。
若不填此字段,即在默认情况下,若应用开通了易盾反垃圾功能,则使用易盾反垃圾来进行垃圾消息的判断 returnMsgid Boolean 否 是否需要返回消息ID false:不返回消息ID(默认值) true:返回消息ID(toAccids包含的账号数量不可以超过100个)
type Bidirection ¶
type BroadcastMsgReq ¶
type BroadcastMsgReq struct { Body string `json:"body"` From string `json:"from"` IsOffline bool `json:"isOffline"` TTL int `json:"ttl"` TargetOS []string `json:"targetOs"` }
参数 类型 必须 说明 body String 是 广播消息内容,最大4096字符 from String 否 发送者accid, 用户帐号,最大长度32字符,必须保证一个APP内唯一 isOffline String 否 是否存离线,true或false,默认false ttl int 否 存离线状态下的有效期,单位小时,默认7天 targetOs String 否 目标客户端,默认所有客户端,jsonArray,格式:["ios","aos","pc","web","mac"]
type BroadcastMsgResp ¶
type ChatRoomMember ¶
type ChatRoomMember struct { Roomid int `json:"roomid"` Accid string `json:"accid"` Nick string `json:"nick"` Avator string `json:"avator"` Ext string `json:"ext"` Type string `json:"type"` Level int `json:"level"` Onlinestat bool `json:"onlineStat"` Entertime int64 `json:"enterTime"` Blacklisted bool `json:"blacklisted"` Muted bool `json:"muted"` Tempmuted bool `json:"tempMuted"` Tempmutettl int `json:"tempMuteTtl"` Isrobot bool `json:"isRobot"` Robotexpirat int `json:"robotExpirAt"` }
roomid long 聊天室id accid String 用户accid nick String 聊天室内的昵称 avator String 聊天室内的头像 ext String 开发者扩展字段 type String 角色类型UNSET(未设置),LIMITED(受限用户,黑名单或禁言)COMMON(普通固定成员)CREATOR(创建者),MANAGER(管理员),TEMPORARY(临时用户,非固定成员) level int 成员级别(若未设置成员级别,则无此字段) onlineStat Boolean 是否在线 enterTime long 进入聊天室的时间点 blacklisted Boolean 是否在黑名单中(若未被拉黑,则无此字段) muted Boolean 是否被禁言(若未被禁言,则无此字段) tempMuted Boolean 是否被临时禁言(若未被临时禁言,则无此字段) tempMuteTtl long 临时禁言的解除时长,单位秒(若未被临时禁言,则无此字段) isRobot Boolean 是否是聊天室机器人(若不是机器人,则无此字段) robotExpirAt int 机器人失效的时长,单位秒(若不是机器人,则无此字段
type ChatRoomMemberResp ¶
type ChatRoomMemberResp struct { Desc struct { Data []ChatRoomMember `json:"data"` } `json:"desc"` Code int `json:"code"` }
type Chatroom ¶
type Chatroom struct { Creator string `json:"creator"` Name string `json:"name" ` Announcement string `json:"announcement" ` Broadcasturl string `json:"broadcasturl" ` Ext string `json:"ext" ` Queuelevel int `json:"queuelevel" ` Roomid int `json:"roomid"` Valid bool `json:"valid"` Muted bool `json:"muted"` Onlineusercount int `json:"onlineusercount"` Ionotify bool `json:"ionotify"` }
creator String 是 聊天室属主的账号accid name String 是 聊天室名称,长度限制128个字符 announcement String 否 公告,长度限制4096个字符 broadcasturl String 否 直播地址,长度限制1024个字符 ext String 否 扩展字段,最长4096字符 queuelevel int 否 队列管理权限:0:所有人都有权限变更队列,1:只有主播管理员才能操作变更。默认0
type ChatroomMsg ¶
type ChatroomMsg struct { Roomid string `json:"roomid" ` MsgId string `json:"msgId" ` FromAccid string `json:"fromAccid" ` MsgType int `json:"msgType" ` ResendFlag int `json:"resendFlag" ` Attach string `json:"attach" ` Ext string `json:"ext" ` SkipHistory int `json:"skipHistory" ` AbandonRatio int `json:"abandonRatio" ` HighPriority bool `json:"highPriority" ` NeedHighPriorityMsgResend bool `json:"needHighPriorityMsgResend" ` UseYidun int `json:"useYidun" ` Bid string `json:"bid" ` Antispam string `json:"antispam" ` AntispamCustom string `json:"antispamCustom" ` }
roomid long 是 聊天室id msgId String 是 客户端消息id,使用uuid等随机串,msgId相同的消息会被客户端去重 fromAccid String 是 消息发出者的账号accid msgType int 是 消息类型: 0: 表示文本消息, 1: 表示图片, 2: 表示语音, 3: 表示视频, 4: 表示地理位置信息, 6: 表示文件, 10: 表示Tips消息, 100: 自定义消息类型(特别注意,对于未对接易盾反垃圾功能的应用,该类型的消息不会提交反垃圾系统检测) resendFlag int 否 重发消息标记,0:非重发消息,1:重发消息,如重发消息会按照msgid检查去重逻辑 attach String 否 文本消息:填写消息文案; 其它类型消息,请参考 消息格式示例; 长度限制4096字符 ext String 否 消息扩展字段,内容可自定义,请使用JSON格式,长度限制4096字符 skipHistory int 否 是否跳过存储云端历史,0:不跳过,即存历史消息;1:跳过,即不存云端历史;默认0 abandonRatio int 否 可选,消息丢弃的概率。取值范围[0-9999]; 其中0代表不丢弃消息,9999代表99.99%的概率丢弃消息,默认不丢弃; 注意如果填写了此参数,下面的highPriority参数则会无效; 此参数可用于流控特定业务类型的消息。 highPriority Boolean 否 可选,true表示是高优先级消息,云信会优先保障投递这部分消息;false表示低优先级消息。默认false。 强烈建议应用恰当选择参数,以便在必要时,优先保障应用内的高优先级消息的投递。若全部设置为高优先级,则等于没有设置。 高优先级消息可以设置进入后重发,见needHighPriorityMsgResend参数 needHighPriorityMsgResend Boolean 否 可选,true表示会重发消息,false表示不会重发消息。默认true。注:若设置为true, 用户离开聊天室之后重新加入聊天室,在有效期内还是会收到发送的这条消息,目前有效期默认30s。在没有配置highPriority时needHighPriorityMsgResend不生效。 useYidun int 否 可选,单条消息是否使用易盾反垃圾,可选值为0。 0:(在开通易盾的情况下)不使用易盾反垃圾而是使用通用反垃圾,包括自定义消息。
若不填此字段,即在默认情况下,若应用开通了易盾反垃圾功能,则使用易盾反垃圾来进行垃圾消息的判断 bid String 否 可选,反垃圾业务ID,实现“单条消息配置对应反垃圾”,若不填则使用原来的反垃圾配置 antispam String 否 对于对接了易盾反垃圾功能的应用,本消息是否需要指定经由易盾检测的内容(antispamCustom)。 true或false, 默认false。 只对消息类型为:100 自定义消息类型 的消息生效。 antispamCustom String 否 在antispam参数为true时生效。 自定义的反垃圾检测内容, JSON格式,长度限制同body字段,不能超过5000字符,要求antispamCustom格式如下:
{"type":1,"data":"custom content"}
字段说明: 1. type: 1:文本,2:图片。 2. data: 文本内容or图片地址。
type ChatroomRequest ¶
type ChatroomRequest struct { Roomid string `json:"roomid"` Accid string `json:"accid"` Clienttype int `json:"clienttype" ` Clientip string `json:"clientip" ` }
roomid long 是 聊天室id accid String 是 进入聊天室的账号 clienttype int 否 1:weblink(客户端为web端时使用); 2:commonlink(客户端为非web端时使用);3:wechatlink(微信小程序使用), 默认1 clientip String 否 客户端ip,传此参数时,会根据用户ip所在地区,返回合适的地址
type ChatroomRobot ¶
type ChatroomRobot struct { Roomid string `json:"roomid" ` Accids []string `json:"accids" ` RoleExt string `json:"roleExt" ` NotifyExt string `json:"notifyExt" ` }
roomid long 是 聊天室id accids JSONArray 是 机器人账号accid列表,必须是有效账号,账号数量上限100个 roleExt String 否 机器人信息扩展字段,请使用json格式,长度4096字符 notifyExt String 否 机器人进入聊天室通知的扩展字段,请使用json格式,长度2048字符
type File ¶
type File struct { Content string `json:"content" ` FileType string `json:"type" ` Ishttps string `json:"ishttps"` ExpireSec int `json:"expireSec"` Tag string `json:"tag"` }
content String 是 字符流base64串(Base64.encode(bytes)) ,最大15M的字符流 type String 否 上传文件类型 ishttps String 否 返回的url是否需要为https的url,true或false,默认false expireSec Integer 否 文件过期时长,单位:秒,必须大于等于86400 tag String 否 文件的应用场景,不超过32个字符
type Friend ¶
type Friend struct { Accid string `json:"accid"` Faccid string `json:"faccid"` Type int `json:"type"` Msg string `json:"msg"` Serverex string `json:"serverex"` Alias string `json:"alias"` Ex string `json:"ex"` }
accid String 是 加好友发起者accid faccid String 是 加好友接收者accid type int 是 1直接加好友,2请求加好友,3同意加好友,4拒绝加好友 msg String 否 加好友对应的请求消息,第三方组装,最长256字符 serverex String 否 服务器端扩展字段,限制长度256 此字段client端只读,server端读写 ex String 否 修改ex字段,限制长度256,可设置为空字符串 alias String 否 给好友增加备注名,限制长度128,可设置为空字符串
type Group ¶
type Group struct { Tname string `json:"tname" ` Owner string `json:"owner" ` Members string `json:"members" ` Announcement string `json:"announcement" ` Intro string `json:"intro" ` Msg string `json:"msg" ` Magree string `json:"magree" ` Joinmode string `json:"joinmode" ` Custom string `json:"custom" ` Icon string `json:"icon" ` Beinvitemode string `json:"beinvitemode" ` Invitemode int `json:"invitemode" ` Uptinfomode int `json:"uptinfomode" ` Upcustommode int `json:"upcustommode" ` TeamMemberLimit int `json:"teamMemberLimit" ` }
tname String 是 群名称,最大长度64字符 owner String 是 群主用户帐号,最大长度32字符 members String 是 邀请的群成员列表。["aaa","bbb"](JSONArray对应的accid,如果解析出错会报414),members与owner总和上限为200。members中无需再加owner自己的账号。 announcement String 否 群公告,最大长度1024字符 intro String 否 群描述,最大长度512字符 msg String 是 邀请发送的文字,最大长度150字符 magree int 是 管理后台建群时,0不需要被邀请人同意加入群,1需要被邀请人同意才可以加入群。其它会返回414 joinmode int 是 群建好后,sdk操作时,0不用验证,1需要验证,2不允许任何人加入。其它返回414 custom String 否 自定义高级群扩展属性,第三方可以跟据此属性自定义扩展自己的群属性。(建议为json),最大长度1024字符 icon String 否 群头像,最大长度1024字符 beinvitemode int 否 被邀请人同意方式,0-需要同意(默认),1-不需要同意。其它返回414 invitemode int 否 谁可以邀请他人入群,0-管理员(默认),1-所有人。其它返回414 uptinfomode int 否 谁可以修改群资料,0-管理员(默认),1-所有人。其它返回414 upcustommode int 否 谁可以更新群自定义属性,0-管理员(默认),1-所有人。其它返回414 teamMemberLimit int 否 该群最大人数(包含群主),范围:2至应用定义的最大群人数(默认:200)。其它返回414
type Logger ¶
type Logger interface { Errorf(format string, args ...interface{}) Fatalf(format string, args ...interface{}) Fatal(args ...interface{}) Infof(format string, args ...interface{}) Info(args ...interface{}) Warnf(format string, args ...interface{}) Debugf(format string, args ...interface{}) Debug(args ...interface{}) }
type MemberRole ¶
type MemberRole struct { Roomid string `json:"roomid" ` Operator string `json:"operator"` Target string `json:"target"` Opt int `json:"opt"` Optvalue string `json:"optvalue"` NotifyExt string `json:"notify_ext"` }
roomid long 是 聊天室id operator String 是 操作者账号accid target String 是 被操作者账号accid opt int 是 操作: 1: 设置为管理员,operator必须是创建者 2:设置普通等级用户,operator必须是创建者或管理员 -1:设为黑名单用户,operator必须是创建者或管理员 -2:设为禁言用户,operator必须是创建者或管理员 optvalue String 是 true或false,true:设置;false:取消设置; 执行“取消”设置后,若成员非禁言且非黑名单,则变成游客 notifyExt String 否 通知扩展字段,长度限制2048,请使用json格式
type Msg ¶
type Msg struct { From string `json:"from" ` Ope int `json:"ope" ` To string `json:"to" ` Type int `json:"type" ` Body string `json:"body"` Antispam string `json:"antispam" ` AntispamCustom string `json:"antispamCustom"` Option string `json:"option"` Pushcontent string `json:"pushcontent"` Payload string `json:"payload"` Ext string `json:"ext"` Forcepushlist string `json:"forcepushlist"` Forcepushcontent string `json:"forcepushcontent"` Forcepushall string `json:"forcepushall"` Bid string `json:"bid"` UseYidun int `json:"useYidun"` MarkRead int `json:"mark_read"` CheckFriend bool `json:"check_friend" ` }
from String 是 发送者accid,用户帐号,最大32字符, 必须保证一个APP内唯一 ope int 是 0:点对点个人消息,1:群消息(高级群),其他返回414 to String 是 ope==0是表示accid即用户id,ope==1表示tid即群id type int 是 0 表示文本消息, 1 表示图片, 2 表示语音, 3 表示视频, 4 表示地理位置信息, 6 表示文件, 10 表示提示消息, 100 自定义消息类型(特别注意,对于未对接易盾反垃圾功能的应用,该类型的消息不会提交反垃圾系统检测) body String 是 最大长度5000字符,JSON格式。 具体请参考: 消息格式示例 antispam String 否 对于对接了易盾反垃圾功能的应用,本消息是否需要指定经由易盾检测的内容(antispamCustom)。 true或false, 默认false。 只对消息类型为:100 自定义消息类型 的消息生效。 antispamCustom String 否 在antispam参数为true时生效。 自定义的反垃圾检测内容, JSON格式,长度限制同body字段,不能超过5000字符,要求antispamCustom格式如下: {"type":1,"data":"custom content"}
字段说明: 1. type: 1:文本,2:图片。 2. data: 文本内容or图片地址。 option String 否 发消息时特殊指定的行为选项,JSON格式,可用于指定消息的漫游,存云端历史,发送方多端同步,推送,消息抄送等特殊行为;option中字段不填时表示默认值 ,option示例:
{"push":false,"roam":true,"history":false,"sendersync":true,"route":false,"badge":false,"needPushNick":true}
字段说明: 1. roam: 该消息是否需要漫游,默认true(需要app开通漫游消息功能); 2. history: 该消息是否存云端历史,默认true; 3. sendersync: 该消息是否需要发送方多端同步,默认true; 4. push: 该消息是否需要APNS推送或安卓系统通知栏推送,默认true; 5. route: 该消息是否需要抄送第三方;默认true (需要app开通消息抄送功能); 6. badge:该消息是否需要计入到未读计数中,默认true; 7. needPushNick: 推送文案是否需要带上昵称,不设置该参数时默认true; 8. persistent: 是否需要存离线消息,不设置该参数时默认true。 pushcontent String 否 推送文案,最长500个字符。具体参见 推送配置参数详解。 payload String 否 必须是JSON,不能超过2k字符。该参数与APNs推送的payload含义不同。具体参见 推送配置参数详解。 ext String 否 开发者扩展字段,长度限制1024字符 forcepushlist String 否 发送群消息时的强推用户列表(云信demo中用于承载被@的成员),格式为JSONArray,如["accid1","accid2"]。若forcepushall为true,则forcepushlist为除发送者外的所有有效群成员 forcepushcontent String 否 发送群消息时,针对强推列表forcepushlist中的用户,强制推送的内容 forcepushall String 否 发送群消息时,强推列表是否为群里除发送者外的所有有效成员,true或false,默认为false bid String 否 可选,反垃圾业务ID,实现“单条消息配置对应反垃圾”,若不填则使用原来的反垃圾配置 useYidun int 否 可选,单条消息是否使用易盾反垃圾,可选值为0。 0:(在开通易盾的情况下)不使用易盾反垃圾而是使用通用反垃圾,包括自定义消息。
若不填此字段,即在默认情况下,若应用开通了易盾反垃圾功能,则使用易盾反垃圾来进行垃圾消息的判断 markRead int 否 可选,群消息是否需要已读业务(仅对群消息有效),0:不需要,1:需要 checkFriend boolean 否 是否为好友关系才发送消息,默认否 注:使用该参数需要先开通功能服务
type NetEaseIM ¶
type NetEaseIM struct {
// contains filtered or unexported fields
}
func NewNetEaseIM ¶
func (NetEaseIM) AddRobot ¶
func (n NetEaseIM) AddRobot(r ChatroomRobot) error
func (NetEaseIM) BlockAccount ¶
func (n NetEaseIM) BlockAccount(accid string, needkick string, kickNotifyExt string) (string, error)
1.封禁网易云通信ID后,此ID将不能再次登录。若封禁时,该id处于登录状态,则当前登录不受影响,仍然可以收发消息。封禁效果会在下次登录时生效。因此建议, 将needkick设置为true,让该账号同时被踢出登录。 2.出于安全目的,账号创建后只能封禁,不能删除;封禁后账号仍计入应用内账号总数。 参数 类型 必须 说明 accid String 是 网易云通信ID,最大长度32字符,必须保证一个 APP内唯一 needkick String 否 是否踢掉被禁用户,true或false,默认false kickNotifyExt String 否 踢人时的扩展字段,SDK版本需要大于等于v7.7.0//
func (NetEaseIM) CleanNOS ¶
上传NOS文件清理任务,按时间范围和文件类下、场景清理符合条件的文件 每天提交的任务数量有限制,请合理规划 关于startTime与endTime请注意: startTime必须小于endTime且大于0,endTime和startTime差值在1天以上,7天以内。 endTime必须早于今天(即只可以清理今天以前的文件
func (NetEaseIM) CleanRobot ¶
CleanRobot 清空聊天室机器人
func (NetEaseIM) CreateAccount ¶
第三方帐号导入到网易云通信平台。注册成功后务必在自身的应用服务器上维护好accid与token。 注意accid,name长度以及考虑管理token。 云信应用内的accid若涉及字母,请一律为小写,并确保服务端与所有客户端均保持小写
func (NetEaseIM) CreateChatroom ¶
创建聊天室
func (NetEaseIM) CreateGroup ¶
创建高级群,以邀请的方式发送给用户; custom 字段是给第三方的扩展字段,第三方可以基于此字段扩展高级群的功能,构建自己需要的群; 建群成功会返回tid,需要保存,以便于加人与踢人等后续操作; 每个用户可创建的群数量有限制,限制值由 IM 套餐的群组配置决定,可登录管理后台查看。
func (NetEaseIM) DeleteFriend ¶
删除好友关系 accid String 是 发起者accid faccid String 是 要删除朋友的accid isDeleteAlias Boolean 否 是否需要删除备注信息 默认false:不需要,true:需要
func (NetEaseIM) GetBatchChatroom ¶
批量查询聊天室信息 roomids String 是 多个roomid,格式为:["6001","6002","6003"](JSONArray对应的roomid,如果解析出错,会报414错误),限20个roomid needOnlineUserCount String 否 是否需要返回在线人数,true或false,默认false
func (NetEaseIM) GetChatroom ¶
查询聊天室信息 roomid long 是 聊天室id needOnlineUserCount String 否 是否需要返回在线人数,true或false,默认false
func (NetEaseIM) GetFriend ¶
func (n NetEaseIM) GetFriend(accid string, updatetime string) ([]Bidirection, error)
获取好友关系 查询某时间点起到现在有更新的双向好友 accid String 是 发起者accid updatetime Long 是 更新时间戳,接口返回该时间戳之后有更新的好友列表
func (NetEaseIM) GetUinfo ¶
获取用户名片,可批量 accids String 是 用户帐号(例如:JSONArray对应的accid串,如:["zhangsan"],如果解析出错,会报414)(一次查询最多为200)
func (NetEaseIM) ListBlackAndMuteList ¶
查看指定用户的黑名单和静音列表 accid String 是 用户帐号,最大长度32字符,必须保证一个 APP内唯一
func (NetEaseIM) ListChatRoomMember ¶
func (n NetEaseIM) ListChatRoomMember(req RobotReq) ([]ChatRoomMember, error)
ListChatRoomMember 分页获取成员列表
func (NetEaseIM) Mute ¶
设置或取消账号的全局禁言状态; 账号被设置为全局禁言后,不能发送“点对点”、“群”、“聊天室”消息 accid String 是 用户帐号 mute Boolean 是 是否全局禁言: true:全局禁言,false:取消全局禁言
func (NetEaseIM) MuteAV ¶
账号全局禁用音视频 设置或取消账号是否可以发起音视频功能; 账号被设置为禁用音视频后,不能发起点对点音视频、创建多人音视频、发起点对点白板、创建多人白板
func (NetEaseIM) RefreshToken ¶
由云信webserver随机重置网易云通信ID的token,同时将新的token返回,更新后请开发者务必做好本地的维护。 此接口与网易云通信token更新接口最大的区别在于:前者的token是由云信服务器指定,后者的token是由开发者自己指定。 accid String 是 网易云通信ID,最大长度32字符,必须保证一个APP内唯一
func (NetEaseIM) RequestAddr ¶
func (n NetEaseIM) RequestAddr(r ChatroomRequest) ([]string, error)
请求聊天室地址与令牌
func (NetEaseIM) SendAttachMsg ¶
发送自定义系统通知 1.自定义系统通知区别于普通消息,方便开发者进行业务逻辑的通知; 2.目前支持两种类型:点对点类型和群类型(仅限高级群),根据msgType有所区别。 应用场景:如某个用户给另一个用户发送好友请求信息等,具体attach为请求消息体,第三方可以自行扩展,建议是json格式
func (NetEaseIM) SendBatchAttachMsg ¶
1.系统通知区别于普通消息,应用接收到直接交给上层处理,客户端可不做展示; 2.目前支持类型:点对点类型; 3.最大限500人,只能针对个人,如果批量提供的帐号中有未注册的帐号,会提示并返回给用户; 4.此接口受频率控制,一个应用一分钟最多调用120次,超过会返回416状态码,并且被屏蔽一段时间;
func (NetEaseIM) SendBatchMsg ¶
批量发送点对点普通消息 1.给用户发送点对点普通消息,包括文本,图片,语音,视频,地理位置和自定义消息。 2.最大限500人,只能针对个人,如果批量提供的帐号中有未注册的帐号,会提示并返回给用户。 3.此接口受频率控制,一个应用一分钟最多调用120次,超过会返回416状态码,并且被屏蔽一段时间; 具体消息参考下面描述。
func (NetEaseIM) SendBroadcastMsg ¶
func (n NetEaseIM) SendBroadcastMsg(msg BroadcastMsgReq) (*BroadcastMsgResp, error)
接口描述 1、使用广播消息前,请务必阅读注意事项,详见关于广播消息。 2、广播消息,可以对应用内的所有用户发送广播消息,广播消息目前暂不支持第三方推送(APNS、小米、华为等); 3、广播消息支持离线存储,并可以自定义设置离线存储的有效期,最多保留最近100条离线广播消息; 4、此接口受频率控制,一个应用一分钟最多调用10次,一天最多调用1000次,超过会返回416状态码; 5、该功能目前需申请开通,详情可咨询您的客户经理。
func (NetEaseIM) SetDonnop ¶
设置桌面端在线时,移动端是否需要推送 accid String 是 用户帐号 donnopOpen String 是 桌面端在线时,移动端是否不推送: true:移动端不需要推送,false:移动端需要推送
func (NetEaseIM) SetSpecialRelation ¶
func (n NetEaseIM) SetSpecialRelation(special SpecialRelation) error
拉黑/取消拉黑;设置静音/取消静音
func (NetEaseIM) ToggleCloseStat ¶
roomid long 是 聊天室id operator String 是 操作者账号,必须是创建者才可以操作 valid String 是 true或false,false:关闭聊天室;true:打开聊天室
func (NetEaseIM) UnBlockAccount ¶
解禁被封禁的网易云通信ID accid String 是 网易云通信ID,最大长度32字符,必须保证一个 APP内唯一
func (NetEaseIM) UpdateAccount ¶
更新网易云通信token。通过该接口,可以对accid更新到指定的token,更新后请开发者务必做好本地的维护。更新后,需要确保客户端SDK再次登录时携带的token保持最新。 accid String 是 网易云通信ID,最大长度32字符,必须保证一个 APP内唯一 props String 否 该参数已不建议使用。 token String 否 网易云通信ID可以指定登录token值,最大长度128字符
func (NetEaseIM) UpdateChatroom ¶
func (NetEaseIM) UpdateFriend ¶
更新好友相关信息,如加备注名,必须是好友才可以
func (NetEaseIM) UpdateUinfo ¶
更新用户名片。用户名片中包含的用户信息,在群组、聊天室等场景下,会暴露给群组、聊天室内的其他用户。 这些字段里mobile,email,birth,gender等字段属于非必填、可能涉及隐私的信息,如果您的业务下,这些信息为敏感信息 ,建议在通过扩展字段ex填写相关资料并事先加密
type Nos ¶
type Nos struct { StartTime string `json:"startTime" ` EndTime string `json:"endTime" ` ContentType string `json:"contentType" ` Tag string `json:"tag"` }
startTime Long 是 被清理文件的开始时间(毫秒级) endTime Long 是 被清理文件的结束时间(毫秒级) contentType String 否 被清理的文件类型,文件类型包含contentType则被清理 如原始文件类型为"image/png",contentType参数为"image",则满足被清理条件 tag String 否 被清理文件的应用场景,完全相同才被清理 如上传文件时知道场景为"usericon",tag参数为"usericon",则满足被清理条件
type RobotReq ¶
type RobotReq struct { RoomId string `json:"roomid"` Notify bool `json:"notify,omitempty"` Accids []string `json:"accids,omitempty"` Type int `json:"type"` Endtime int64 `json:"endtime"` Limit int `json:"limit"` }
RoomId long 是 聊天室id Notify int Endtime long 单位毫秒,按时间倒序最后一个成员的时间戳,0表示系统当前时间 Limit long 返回条数,<=100 Accids array 机器人账号accid列表,必须是有效账号,账号数量上限100个 Type int 需要查询的成员类型,0:固定成员;1:非固定成员;2:仅返回在线的固定成员
type SpecialRelation ¶
type SpecialRelation struct { Accid string `json:"accid"` TargetAcc string `json:"target_acc"` RelationType int `json:"relation_type"` Value int `json:"value"` }
accid String 是 用户帐号,最大长度32字符,必须保证一个 APP内唯一 targetAcc String 是 被加黑或加静音的帐号 relationType int 是 本次操作的关系类型,1:黑名单操作,2:静音列表操作 value int 是 操作值,0:取消黑名单或静音,1:加入黑名单或静音