Создание канала группы 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, false, "Ticket Id:" + jobId, "", Integer.toString(jobId), "Ticket");

                    }
                });
    }

` private void createGroupChannelWithData1(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;
                        }
                        getGroupChannelList("end");

                    }
                });
    }

Редактировать: Каналы создаются в панели инструментов Sendbird. введите здесь описание изображения

Но пока я перечисляю каналы, я получаю только один канал с билетом пользовательского типа. Мне нужно получить канал с пользовательским типом 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());

                }
            }
        });

Изменить: проблема исправлена. Я не включил пользователя второго приложения в список. Это основная причина проблемы. Спасибо.


person Manikandan    schedule 01.09.2020    source источник


Ответы (1)


Отличный у вас вопрос. Надеюсь, я смогу помочь вам с ответом.

Первый шаг — проверить, действительно ли создаются ваши каналы. Вы можете сделать это в Личном кабинете 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" 

Если вам нужно иметь возможность видеть пустые каналы в запросе списка каналов, включите параметр 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;
           }
       }
   });
person Jason Allshorn    schedule 01.09.2020
comment
Спасибо за ваш ответ. Пожалуйста, проверьте мое редактирование в вопросе. Я проверил панель инструментов sendbird, и каналы созданы. Но я не мог получить то же самое при листинге. - person Manikandan; 02.09.2020
comment
Проблема исправлена. Я не включил пользователя второго приложения в список. Это основная причина проблемы. Спасибо. - person Manikandan; 02.09.2020