环信通讯 是一个非常专业的平台,主要是针对语音、音视频、文字聊天的第三方服务平台。提供了很多附加功能!

官网:https://console.easemob.com/index

流程

  • 注册环信账号
  • 创建应用
  • 从应用中获取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博客搜索:标题关键字。以获取最新全部资料 ❤