极光 IM 的 REST API 没有读取双人私聊聊天记录的接口,那么在极光 IM 的基础上实现私聊聊天记录的最佳实践是什么样呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
gzlock
V2EX    程序员

极光 IM 的 REST API 没有读取双人私聊聊天记录的接口,那么在极光 IM 的基础上实私聊聊天记录的最佳实践是什么样呢?

  •  
  •   gzlock
    gzlock 2022-06-25 23:04:13 +08:00 1545 次点击
    这是一个创建于 1280 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用环境是网页聊天(客服用)+App 聊天(用户端),先假设有客服 A 和用户 B 的私聊会话

    需求是客服需要查看跟用户以往的聊天记录,但是极光 IM 的网页端 sdk 是不支持查看聊天记录的,而 App 端 sdk 也仅支持查看手机 App 本地存储的聊天记录

    极光有提供REST API 读取用户聊天记录接口,但只针对单一用户发出的聊天记录。

    也就是说查看一个双人私聊记录要同时读取客服 A 和用户 B 的聊天记录,再从这两个数组中找出出客服 A 发给用户 B 、用户 B 发给客服 A 的消息,才能组成完整的双人私聊记录,这就很费时费力了。

    也在极光社区咨询过,得到的答复是的确没有直接查看双人私聊记录的 REST API 接口。

    那么问题来了,实现双人私聊记录的最佳实践是什么样呢?

    我想到三个方案:

    1. 在自己服务器上记录双人私聊的聊天内容
    2. 使用聊天室会话代替双人私聊会话
    3. 每个双人私聊会话开设一个两人聊天室会话,将私聊会话的内容转发到聊天室会话,查看聊天室聊天记录等于查看私聊聊天记录

    第一方案是用两个用户 uuid 拼起来的文本文件存放(uuid[].sort().join('_')),例如 650ed3f2-061e-48cb-9748-e10af95cbb3a_c339f272-4be1-4e9f-9245-45e3a6ca5abb.txt

    缺点是当聊天量多起来后对服务器的 io 有很大影响。

    第二个方案简单直接不消耗我方服务器资源,直接查看聊天室聊天记录就可以了。

    缺点是极光 IM 的私聊和聊天室功能体验有较大差距,例如私聊支持离线消息,而聊天室是不支持的

    第三个方案也不消耗我方服务器资源,也可以继续使用私聊功能,似乎是一个很好的折中方案?

    大家有什么更好的想法或建议吗?

    1 条回复    2022-06-27 10:29:32 +08:00
    gzl0ck
        1
    gzl0ck  
       2022-06-27 10:29:32 +08:00
    没有回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2790 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 03:39 PVG 11:39 LAX 19:39 JFK 22:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86