频道的状态修改 ?

hui 15天前 84

  • 在sdk 中 没有发现有能修改频道状态的接口api 只有创建的时候才能修改

  • 其二 由客户端安卓调用的im 创建 接口 能使用listenChannel 订阅但是无法通过后端的ChannelServiceApi 接口进行订阅

  • 仔细查看im文档有以下状态

  • 文档中状态客户端只能创建0 也就是

    1. 不允许查看用户所有信息
    2. 不允许查看非订阅用户信息
    3. 不允许主动添加用户订阅关系
    4. 不允许给非订阅用户发送消息
      5. 不是私有,能被用户搜索和添加

  • 然后在根据im 社区版的源码 有以下 代码

  • 通过ChannelServiceApi进行订阅的代码:

  • 通过客户端listenChannel进行订阅代码:


  • 就很乱, 麻烦能给解释, “主动添加用户订阅关系” 与“能被用户搜索和添加” 有啥区别, 是指管理员拉人和普通用户自己进入区别吗??

  • 还有根据状态1 “不允许查看用户所有信息” 这个状态,结果调用subscriber_list这个接口api 即可拿到所以userId 等于这个状态其实是无效的?
最新回复 (7)
  • HeavyRain 15天前
    引用 2
    这个状态只能通过server api调用创建才能修改,客户端创建的是能是0,不能是其他值,频道api是无权修改这个值的。

    主动添加用户订阅关系 是说通过频道 api能够把用户给订阅上此频道。

    能被用户搜索和添加 是说用户搜索频道的时候能不能搜索到。

    不允许查看用户所有信息 是说通过频道api,不能获取到用户的信息,包括用户昵称/电话等信息

  • hui 15天前
    引用 3
    1. 那意思是频道的状态是无法修改的 , 只能创建时候定死?
    2. 你的第二回复我没看懂, 我问主要问题为:为什么客户端能允许用户订阅频道,而服务器无法允许用户订阅频道呢? 而这个两个订阅又有什么区别 ?? 逻辑很难理解你们频道的状态 3.“不允许查看用户所有信息” 那意思是我打开这个开关调用subscriber_list能获取用户的信息,包括用户昵称/电话等信息 ?
  • x86 15天前
    引用 4
    1. 可以修改,通过 server api,就是创建频道那个 server api,参数里面包含频道 id 时,会对对应的频道进行更新
  • hui 15天前
    引用 5

    是这个吗? 但是我根据野火的文档,这个没有涉及修改状态的啊 ?

    还是说是创建api 创建一样的覆盖操作?

  • hui 15天前
    引用 6

    偶豁 原来是直接类型map给 覆盖了,好吧,这样来说,确实能修改状态,但也太暴力和麻烦了,我等于重新创建一个频道一样

  • hui 15天前
    引用 7
    那第二个问题可以回复下吗?  就是关于 用户订阅问题。 这个第三方接口(ChannelServiceApi)有啥其他特殊含义吗? 为什么调用比较麻烦而且逻辑 还不一样, 像客户端能订阅,这个ChannelServiceApi却不能订阅,ChannelAdmin是可以订阅的所以 服务器只能用ChannelAdmin吗?
  • HeavyRain 15天前
    引用 8
    第二个问题的原因是,channel api有可能是给第三方使用的,必须对权限有一定的约束。而server api是超级权限,没有限制
返回