Создание группового канала Sendbird с пользовательским типом, не видимым у другого пользователя группы

#android #sendbird

#Android #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.
введите описание изображения здесь

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

                }
            }
        });
  

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

Ответ №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;
           }
       }
   });
  

Комментарии:

1. Спасибо за ваш ответ, пожалуйста, проверьте мою правку в вопросе. Я проверил панель управления sendbird, и каналы созданы. Но я не смог получить то же самое при перечислении.

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