首先说说我使用野狗做即时通讯的需求。
项目需求:每个用户能产生一个以用户ID加group命名的群聊,如2_group
消息能多端同步,用户能多端登录。
接收到新消息时有消息提醒功能,本地红点+推送
在项目需求的前提下,最终选择野狗云保存im数据。野狗云对比其他的即时通讯,如环信、融云等,它是偏向后端的,所有的聊天消息构造、页面搭建全都是需要自己定义自己写的。使用野狗云不需要每个用户注册一个账户,只需要每个用户有指向的消息读写路径就行了。
野狗消息写入:群聊中可能存在多端同时写入的情况,为了保证消息的完整性,一般使用childByAutoId方法,向指定节点添加子节点。子节点的 key 由 Wilddog Sync 自动生成并保证唯一。这个key是由时间戳计算而成,具体的我就不知道啦。
<消息写入>"child"为消息写入路径,WDGSyncReference 表示要操作的特定数据节点。编辑好一条特定的消息后,使用childByAutoId生成一个唯一的节点。效果如下图:
<生成的数据结构>下图中的“-Ktz480ocBQAO7otlOfm”就是野狗云自动生成的唯一的key。
网友评论