Pusher Chatkit Android получить информацию о состоянии указанной комнаты - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь интегрировать пушерский чаткит, и мне любопытно несколько вещей:

1) есть ли способ получить информацию о состоянии определенной комнаты c, аналогичной когда вы входите в комнату ... или вам отказывают в комнате. Вот пример ниже, когда вы присоединяетесь к комнате.

D/TAG: Message(id=102785662, sender=User(id=username1-PCKid, createdAt=2020-01-02T01:44:28Z, updatedAt=2020-01-02T01:44:28Z, name=username1, avatarURL=null, customData=null, online=true), room=Room(id=my-room2, createdById=alice, name=my room2, pushNotificationTitleOverride=null, isPrivate=false, customData=null, unreadCount=14, lastMessageAt=2020-01-15T15:34:45Z, createdAt=2020-01-01T20:48:29Z, updatedAt=2020-01-01T20:48:29Z, deletedAt=null), parts=[Part(partType=Inline, payload=Inline(type=text/plain, content=updates on click))], createdAt=Wed Jan 15 07:34:45 PST 2020, updatedAt=Wed Jan 15 07:34:45 PST 2020, deletedAt=null)

****** ОБНОВЛЕНИЕ *** удалось решить номер 1 с помощью этого вызова из адаптера:

    fun addRoom(room:Room){

        list.add(room);
        Log.d(AppActivityTags.chatRoomsListAdapterTAG, "Room name: " + room.name)
        Log.d(AppActivityTags.chatRoomsListAdapterTAG, "Room id: " + room.id)
        Log.d(AppActivityTags.chatRoomsListAdapterTAG, "Room memberUserIds: " + room.memberUserIds)
        Log.d(AppActivityTags.chatRoomsListAdapterTAG, "Room isPrivate: " + room.isPrivate)

    }

2) как я могу получить список члены комнаты? Я попытался room.memberUserIds, но он возвращается пустым.

3) Я новичок в kotlin и также толкнул чаткит, может кто-нибудь, пожалуйста, покажите мне пример того, как войти

currentUser.getJoinableRooms { result ->
  when (result) {
    is Result.Success -> {
      // Do something with List<Room>
      // show me joinable rooms
    }
  }
}

Я предполагаю, что это вызовет не частные комнаты.

4) Я получаю эту ошибку D/ChatRoomsActivity: on subscripetoRoomMultipart reason:: Room membership required однако, пользователь уже является участником комнаты, как показано на консоли чата push-in. в настоящее время пользователь id=username1-PCKid

enter image description here

1 Ответ

1 голос
/ 17 января 2020

1 - Вы можете получить все комнаты, членом которых вы являетесь, с CurrentUser.rooms, и большая часть информации о статусе будет доступна, как только вы подключитесь к Chatkit, например, непрочитанные цифры и название комнаты. Вы можете написать для каждого l oop, чтобы выйти из системы после подключения. Однако ...

2 - Похоже, вы хотите, чтобы текущие пользователи для данной комнаты. Для этого вам нужно будет подписаться на номер до того, как он будет заполнен.

3 - Вы правы, что вернете все присоединяющиеся комнаты. Вы можете написать для каждого l oop, чтобы выйти из каждой присоединяемой комнаты.

4 - Можете ли вы предоставить больше информации - было бы полезно посмотреть, что делает ваш код и в каком порядке!

У нас есть демонстрационное приложение c, которое моделирует некоторые из них - https://github.com/pusher/chatkit-android-public-demo

У нас также есть руководство по началу работы, которое может быть полезно - https://pusher.com/docs/chatkit/getting_started/android

Наконец, справочные документы могут быть еще одним хорошим местом для проверки - https://pusher.com/docs/chatkit/reference/android

Надеюсь, что поможет: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...