微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创建自定义类型的Sendbird组频道在该组的其他用户中不可见

如何解决创建自定义类型的Sendbird组频道在该组的其他用户中不可见

我正在尝试创建两个名称相同但用户自定义类型不同的组频道。 但是,既未创建组,也未在列出组时创建。我找不到我做错了什么。

 createGroupChannelWithData(workOrderIds,false,"Ticket Id:" + jobId,"",Integer.toString(jobId),"Private_Ticket");

  private void createGroupChannelWithData(List<String> userIds,boolean distinct,String name,String coverImage,String data,String ticketType) {
        GroupChannel.createChannelWithUserIds(userIds,distinct,name,coverImage,data,ticketType,new GroupChannel.GroupChannelCreateHandler() {
                    @Override
                    public void onResult(GroupChannel groupChannel,SendBirdException e) {
                        if (e != null) {
                            // Error!
                            return;
                        }
                        createGroupChannelWithData1(managementIds,"Ticket");

                    }
                });
    }

` private void createGroupChannelWithData1(List<String> userIds,SendBirdException e) {
                        if (e != null) {
                            // Error!
                            return;
                        }
                        getGroupChannelList("end");

                    }
                });
    }

编辑: 在Sendbird仪表板中创建通道。

enter image description here

但是当我列出频道时,我只有一个频道,自定义类型为“票证”。我需要使用自定义类型“ Private_Ticket”的频道。 每次,我都会创建两个渠道,并且需要两个渠道都在另一个应用程序中列出。 我获取频道列表的代码

GroupChannelListQuery channelListQuery = GroupChannel.createMyGroupChannelListQuery();
        channelListQuery.setIncludeEmpty(true);
        channelListQuery.setorder(GroupChannelListQuery.Order.LATEST_LAST_MESSAGE);
        // CHRONOLOGICAL,LATEST_LAST_MESSAGE,CHANNEL_NAME_ALPHABETICAL,and MetaDATA_VALUE_ALPHABETICAL
        channelListQuery.setLimit(15);

        channelListQuery.next(new GroupChannelListQuery.GroupChannelListQueryResultHandler() {
            @Override
            public void onResult(List<GroupChannel> list,SendBirdException e) {
                if (e != null) {    // Error.
                    return;
                }
                for (int i = 0; i < list.size(); i++) {
                    Log.e(" in first loop name : data : custom type >>",list.get(i).getName()+" : "+list.get(i).getData()+" : "+list.get(i).getCustomType());

                }
            }
        });

编辑: 该问题已解决。我没有在列表中包括第二个应用程序的用户。这是问题的根本原因。谢谢。

解决方法

您有个好问题。希望我能为您提供答案。

第一步是检查您的频道是否真正被创建。您可以在Sendbird的控制台中执行此操作。

Sendbird Dashboard --> Group Channels --> See channel list

如果通道未显示在Sendbird仪表板上,则说明它们尚未创建。在这种情况下,请尝试记录创建频道时在SDK中看到的所有错误。

如果已创建通道且它们在Sendbird仪表板中可见,但未在SDK中显示,请考虑以下内容。

By default channels without any messages will not be displayed in a channel list query. 
Consider these to be "empty channels" 

如果您需要在频道列表查询中看到空白频道,请在channel list query中加入setIncludeEmpty(true)参数。

GroupChannelListQuery channelListQuery = GroupChannel.createMyGroupChannelListQuery();
   channelListQuery.setIncludeEmpty(true);
   channelListQuery.setOrder(GroupChannelListQuery.Order.LATEST_LAST_MESSAGE); 
   // CHRONOLOGICAL,LATEST_LAST_MESSAGE,CHANNEL_NAME_ALPHABETICAL,and METADATA_VALUE_ALPHABETICAL
   channelListQuery.setLimit(15);

   channelListQuery.next(new GroupChannelListQuery.GroupChannelListQueryResultHandler() {
   @Override
       public void onResult(List<GroupChannel> list,SendBirdException e) {
           if (e != null) {    // Error.
               return;
           }
       }
   });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。