问题标签 [sendbird-syncmanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sendbird - SendBird SyncManager:“推荐”清除现有本地数据库缓存的方法?
我正在尝试使用 Sendbird在原生 iOS 应用程序中发送聊天消息。他们有一个附加的SyncManager。它将频道列表和消息缓存在手机本地以提供离线支持。
我的应用程序允许用户注销应用程序。此时,我想清除消息/频道列表或 SyncManager 存储的任何其他内容的现有缓存。
我的问题是:如何清除 SyncManager 中的所有详细信息?他们的官方文档提到了 SBSMSyncManager.clearCache()但他们也提到将此方法仅用于调试目的,不推荐用于其他(生产?)目的。
从 SyncManager 中清除所有内容的“推荐”方法是什么?
sendbird - Sendbird SyncManager 频道分页问题
我在原生 iOS 应用程序中使用Sendbird来发送聊天消息。他们有一个附加的SyncManager。它将频道列表和消息缓存在手机本地以提供离线支持。
我正在尝试使用 SyncManager 的集合对频道列表进行分页。这是我的代码片段:
问题是query.hasNext
永远不会设置为false
. 我也尝试过检查collection.query.hasNext
,但也true
一直如此。
请注意,Sendbird 的基本 SDK 确实将 设置query.hasNext
为 false,因此我可以确定查询是否有下一页,我应该再次调用。我想使用 SyncManager 进行分页。
他们的 SyncManager 示例应用程序发送下一页请求而不检查是否有可用的下一页,因此每次用户滚动到底部时,他们都在调用 API。我在这里错过了什么吗?
ios - SendBird:搜索个人聊天和群聊
SendBird 将每个频道视为他们的GroupChannel
. 1:1 聊天在技术上也GroupChannel
只有两个用户(isDistinct = true
因此当您尝试再次创建它时,它会返回个人聊天)。
我的问题是,我如何GroupChannel
按他们的名字搜索包括群组和 1:1 聊天的 s?群聊将有一个通用名称,该名称将显示给该组中的所有用户。但是对于 1:1 聊天,GroupChannel
不会有名字,如果有,就不会显示给用户,对于 1:1 聊天,我们总是显示对方的名字(就像几乎所有的聊天系统一样工作)。
通常,主 UI 列表包含群聊和 1:1 聊天(所有GroupChannel
s)的混合。
所有的项目都是技术性的GroupChannel
。请注意,所有 1:1 聊天都没有name
列表中显示的实际。列表中显示的姓名是对方的姓名nickname
。
期待:
现在,如果用户搜索“joh”之类的内容,那么它应该返回名称包含“joh”的所有群聊或对方名称包含“joh”的所有 1:1 聊天。(基本上上面例子中显示的所有项目。)
我的尝试:
我最初的解决方案是将 1:1 频道名称保留为<user1 nickname> & <user2 nickname>
,因此当用户按其姓名搜索其他用户时,1:1 频道看起来就像一个群组频道。
示例代码:
问题:
这样做的问题是:
- 如果用户搜索他们自己的名字(或者只是分隔符
&
或空格),那么所有的个人聊天都将是可见的,这无关紧要。 - 我的系统允许用户更改昵称,因此每次用户更改昵称时,都必须更新所有 1:1 的频道名称(这很痛苦)。
javascript - Sendbird:未正确创建群组频道
我正在使用 SendBird javascript SDK 进行聊天,并尝试通过以下代码创建群组频道:
代码成功返回通道对象,但通道仅包含作为通道成员的发起者/发送者。它返回:……“joinedMemberCount”:1,“memberCount”:1,“members”:[1]……</p>
相反,它应该创建一个频道并将接收者也添加为成员。正确的频道应该有:……“joinedMemberCount”:2,“memberCount”:2,“members”:[2]……</p>
你能告诉我这里可能出什么问题吗?