环信通讯 是一个非常专业的平台,主要是针对语音、音视频、文字聊天的第三方服务平台。提供了很多附加功能!
流程
- 注册环信账号
- 创建应用
- 从应用中获取APPKEY、Client ID、ClientSecret、Appname、Orgname即可完成我们的下面开发
API 与 SDK 文档网站
RestAPI 网站:http://api-docs.easemob.com/
超好用SDK:https://docs-im.easemob.com/im/server/ready/sdk Java推荐
REST API接口限流说明:https://docs-im.easemob.com/im/server/help/restastrict
错误码相关文档:https://docs-im.easemob.com/start/450errorcode/10restapierrorcode
Java代码
如果你想看 Server SDK 的请求与响应,可以在配置文件中添加:
logging.level.com.easemob.im.http=debug
Maven依赖
<dependency>
<groupId>com.easemob.im</groupId>
<artifactId>im-sdk-core</artifactId>
<version>不好意思,为了避免sdk版本差异,请使用最新的版本</version>
0.5.1 是2022年3月17日的SDK,请务必使用最新版本的SDK
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.14</version>
</dependency>
配置类
import com.easemob.im.server.EMProperties;
import com.easemob.im.server.EMService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author : zanglikun
* @date : 2021/11/19 17:25
* @Version: 1.0
* @Desc : https://docs-im.easemob.com/im/server/ready/sdk#%E5%87%86%E5%A4%87
*/
@Configuration
public class EmConfig {
@Bean
public EMService service() {
EMProperties properties = EMProperties.builder()
.setAppkey("AppKey")
.setClientId("ClientID")
.setClientSecret("ClientSecret")
.build();
return new EMService(properties);
}
}
代码Demo如下
发送消息的代码
EMTextMessage emMessage = new EMTextMessage();
emMessage.text("您因:" + quickchatBanRecord.getBanReason() + ",被系统封停,封停至:" + new DateTime(quickchatBanRecord.getUnsealTime()) + " 如有疑问,请联系官方客服QQ:1834571998");
HashSet<String> hashSet = new HashSet();
hashSet.add(account);
MessageApi message = emService.message();
HashSet<EMKeyValue> ext = new HashSet<>();
EMKeyValue emKeyValue = EMKeyValue.of("ban", true);
EMKeyValue time = EMKeyValue.of("time", (quickchatBanRecord.getUnsealTime() - System.currentTimeMillis()) / 86400000);
ext.add(emKeyValue);
ext.add(time);
EMSentMessageIds users = message.send("6666", "users", hashSet, emMessage, ext).block(Duration.ofSeconds(3));
环信创建房间代码
//创建环信房间,拿到房间ID
RoomApi emroom = emService.room();
List<String> member = new ArrayList<>();
// 创建房间的参数是:聊天室名称,聊天室描述,聊天室主ID,聊天室初始成员ID的List集合,最大成员数
String huanxinroomId = emroom.createRoom(account + "的聊天室", "没有描述", account, member, 200).block();
其他代码,相关SDK都有相应说明。
聊天室底层是:网络连接。Uniapp的是WebSocket连接、传统原生App就是TCP长链接连接。聊天室的成员是:服务器获取客户端的连接,进而确定的。一旦连接次聊天室,即认定为聊天室成员,一旦掉线,导致连接中断,则不是聊天室成员了!很多接口使用的前提是用户必须在房间内!具体以实际为准!
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
评论(0)