环信服务器简单介绍

通信过程及聊天记录保存

通信过程

客户端通过环信服务器进行通信。

  • 在线状态:客户端A发送消息到环信服务器,环信服务器推送消息到客户端B。
  • 离线状态:客户端A发送消息到环信服务器,环信服务器检测到客户端B不在线,会添加到离线缓存中,当客户端B登录后服务器会把离线消息推送给客户端B。

聊天记录保存

客户端A发送消息到环信服务器的同时,SDK 会保存这条消息到本地数据库(SDK 内部创建数据库,不允许直接操作),环信服务器在推送消息到客户端B的同时也会在服务器记录下来(消息历史记录免费存储3天),客户端B收到消息后,SDK 会将这条消息存储到本地数据库。
:客户端并未提供去服务器获取聊天记录的接口,所以,如果换了设备或者清空了数据,聊天记录都不会存在。如果有需求要从服务器拉取聊天记录,可以在自己服务器处理。

实时消息回调

实时消息回调经常用在应用需要针对用户发送的消息进行处理的场景。比如:

  • 针对客户消息的内容进行自动回复
  • 在 APP 自己的服务端实时保存聊天历史

:如果您对聊天消息没有实时性需求,可以直接通过免费的聊天记录拉取 REST API获取聊天记录,无需使用实时消息回调。环信支持 APP 把聊天记录通过 REST 接口导出。实时消息回调属于增值服务,我暂时不会用到,所以不多介绍了。

名词解释

当您申请了 AppKey 后,会得到一个 xxxx#xxxx 格式的字符串,这个就是您的 AppKey,下文中用到的:

  • org_name 对应 # 前面部分
  • app_name 对应 # 后面部分

环信 ID 规则

当 APP 和环信集成的时候,需要把 APP 系统内的已有用户和新注册的用户和环信集成,为每个已有用户创建一个环信的账号(环信 ID),并且 APP 有新用户注册的时候,需要同步的在环信中注册。
在注册环信账户的时候,需要注意环信 ID 的规则:

  • 使用英文字母和(或)数字的组合
  • 不能使用中文
  • 不能使用 email 地址
  • 不能使用 UUID
  • 用户ID的长度在230字节以内
  • 中间不能有空格或者井号(#)等特殊字符
  • 允许的用户名正则 “[a-zA-Z0-9_-.]*”(a~z大小写字母/数字/下划线/横线/英文句号),其他都不允许 如果是大写字母会自动转成小写
  • 不区分大小写。系统忽略大小写,认为 AA、Aa、aa、aA 都是一样的。如果系统已经存在了环信 ID 为 AA 的用户,再试图使用 aa 作为环信 ID 注册新用户,系统返回用户名重复,以此类推。但是请注意:环信 ID 在数据上的表现形式还是用户最初注册的形式,注册时候使用的大写就保存大写,是小写就保存小写。即:使用 AA 注册,环信保存的 ID 就是 AA;使用 Aa 注册,环信保存的 ID 就是 Aa,以此类推。
  • 另:本文档中可能会交错使用“环信 ID”和“环信用户名”两个术语,但是请注意,这里两个的意思是一样的。

你可能感兴趣的:(环信服务器简单介绍)