露脸云只是实时通讯的流程控制和数据传输通道。露脸云本身不提供用户体系的服务,露脸云既不保存任何 APP 的业务数据,也不保存任何 APP 的用户信息。比如说,你的 APP 是一个教育 APP,那么你的 APP 用户的头像、昵称、电话号码等信息是保存在你自己的 APP 业务服务器上,这些信息不需要提供给露脸云。
露脸云这样设计的目的有2个:
要使用露脸云,只需要为每一个 APP 用户创建一个露脸云账号。创建帐号只需要提供开发者 AAP 的帐号ID和昵称即可;帐号 ID 对每个 APP 内应该唯一,昵称是在推送时使用,以便接受推送的用户能知道是谁发来的信息。
露脸云和用户体系的集成主要发生在2个地方,服务器端集成和客户端集成。
露脸云提供了一个创建露脸云账号的 REST 方法。这个方法很简单,只需要提供账号 ID 和昵称 2 个参数,就可以创建一个露脸云账号。对一个已经上线,已经有很多现有用户的 APP 来说,要集成露脸云,只需要写一个脚本,循环调用创建露脸云用户的 REST 方法即可;创建成功后接口会返回露脸云唯一ID号和用户登录露脸云的SessionID,这两个信息需要存储到 APP 的用户信息中,并且提供给客户端,客户端的消息收发,拨打音视频电话时,都需要使用到这两个数据。
为保证安全,只能在开发者服务器端调用创建露脸云账号的 REST 方法。即每次当 APP 客户端调用 APP 自己的业务后台创建新用户时,也在露脸云上为该 APP 用户创建一个露脸云账号。
通常的做法是在自己 APP 创建用户成功后调用创建露脸云账号的 REST 方法来创建露脸云账号。因为这个方法是服务器对服务器的调用,所以因为网络不稳定原因失败的可能很小。但开发者仍旧需要对该方法的返回结果做处理,如果该方法失败,应该做个 retry,如果仍旧失败,应该回滚在自己 APP 创建用户的操作。否则会导致 APP 的用户账号和露脸云账号不一致的问题。
为保证安全,只能在开发者服务器端调用删除露脸云账号的 REST 方法。即每次当 APP 客户端调用 APP 自己的业务后台删除新用户时,也在露脸云上将该 APP 用户对应的露脸云账号删除。
为保证安全,只在开发者服务器端调用修改露脸云账号昵称的 REST 方法。即每次当 APP 用户的昵称被修改时,也要更新该 APP 用户对应的露脸云账号的昵称。
APP 客户端在创建 APP 帐号成功后,APP 服务端需要返回帐号对应的露脸云 ID 和 SessionID,客户端需要调用露脸云客户端 SDK 的登录方法进行登录。
APP 客户端需要调用露脸云客户端 SDK 的退出登录方法。
所谓群组体系,是 APP 应用内有需要支持群组聊天和群组音视频通话,那么 APP 需要首先有自己的群组管理体系,在对群组做创建、添加人员、删除人员、删除群组等操作时,需要 APP 服务端同步调用露脸云的相关接口,以使得客户端可以正常使用露脸云的群组聊天和群组音视频通话功能。
APP 服务端在在对群组做创建、添加人员、删除人员、删除群组等操作时,步调用露脸云的相关接口即可,群组相关接口
客户端可调用露脸云客户端 SDK 群组相关接口实现群组消息的收发,群组音视频通话的功能使用。