2016-11-01 4 views
1

Мы используем PubNub для общения, и мы пытаемся добавить индикатор ввода при вводе пользователем. Мы пытаемся отправить его в state-changed, используя метод client.publish в swift, с каналом присутствия, когда я публикую его, я не получаю никакого события в обратном вызове didReceivePresence. Я также subscribedToPresenceChannels.PubNub show typing indicator

Может ли кто-нибудь уточнить, как работает функция индикатора isTyping с PubNub? Нужно ли использовать Presence (или) Separate Channel для обслуживания? Если нам нужно сделать с separate channel, пожалуйста, подсказывают, как я могу идти дальше

Спасибо

ответ

1

publish API, предназначенный для работы с регулярными каналами, и вы не можете использовать его, чтобы опубликовать некоторое сообщение для присутствия канала. Вы получаете сообщения о присутствии от subscribe to a channel shouldObservePresence parameter enabled.

Вы можете слушать каналы присутствия, а служба PubNub является единственным издателем на каналах присутствия.

Для того чтобы изменить состояние, вам необходимо использовать client.setState API and pass typing:true state для определенного канала, и PubNub создаст событие state-change от имени этого клиента. Все клиенты, подписавшиеся на присутствие, включенное на этом канале, получат событие state-change через слушателя didReceivePresenceEvent.

+0

Извините за задержку, я проверю и обновит результаты, спасибо – rak

+0

'didReceivePresenceEvent' стрельба несколько раз (в большинстве случаев это не стрельба), когда я устанавливаю состояние -' client ?.setState' - и я также 'subscirbe для канала с присутствием true' – rak

+0

, и я также проверил, что я устанавливаю статус в том же канале, который я подписал на другом устройстве. – rak