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

官网: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长链接连接。聊天室的成员是:服务器获取客户端的连接,进而确定的。一旦连接次聊天室,即认定为聊天室成员,一旦掉线,导致连接中断,则不是聊天室成员了!很多接口使用的前提是用户必须在房间内!具体以实际为准!

发表评论

您的电子邮箱地址不会被公开。

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源