2016-05-05 4 views

ответ

2

Примечание

Этот ответ является действительным согласно моему опыту с quickblox рамках 2.7 и ниже. Поскольку quickblox очень часто выпускает новую структуру, вы можете найти лучший API для этого в будущем. До тех пор вы можете использовать этот подход.

Ответ

Я не думаю, что вы можете отключить уведомление толчок для конкретного пользователя в группе с использованием Quickblox API.

Когда вы отправляете сообщение (QBChat) группе, все в QBChatDialog получают сообщение, включая человека, который его отправляет.

Существует список конфиденциальности, запрещающий пользователю получать сообщения от определенных пользователей, но для этого требуется инициирование с конца пользователя. Поэтому я не думаю, что это поможет вам здесь много. Эта функция может быть использована для блокирования отправки человеком человеком/группой пользователя.

Решение

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

1> Отправьте сообщение QBChat с определенным пользовательским объектом с данными, такими как идентификатор группы, тип группы, имя группы и все другие необходимые данные, которые будут отличать ее от других сообщений QBChat всем пользователям в группе.

2> При получении этого специального сообщения покажите пользовательский интерфейс, который будет работать с ним, как предупреждение с «хотите ли вы присоединиться к группе?» и кнопка принимает или отклоняет

3> При нажатии на прием, сделайте вызов WS на свой собственный сервер и на своем сервере api добавьте пользователя в определенную группу, для которой он согласился присоединиться. Поскольку вы уже заполнили сообщение QBChat с объектом, содержащим информацию о диалоговом окне, вы можете легко сообщить своему серверу, к которому присоединился пользователь группы.

После того, как пользователь присоединился к группе, он будет продолжать Получать все сообщения в группе

EDIT

Вот подробный ответ на свой вопрос в комментарии :)

Я был в значительной степени конечно, вы зададите этот вопрос :)

Чтобы добавить идентификатор пользователя в существующую группу QBChatDialog, мы использовали остальные api Quickblox. Помните, я сказал вам, что вы не добавляете всех участников в группу сначала, добавьте их один за другим после того, как они согласятся присоединиться к группе? Когда пользователь принимает участие в группе, мы вызываем наш rest api, который в свою очередь вызывает quickblox api и добавляет текущий идентификатор пользователя в группу :)

Вы можете легко найти api для этого в разделе API quickblox.В случае, если вы гам найти его GIMME время до понедельника Лемм попросить мой разработчик API и обновлять U на тот же

Существует CATACH с этим подходом.

QB docs ясно говорит, что только владелец группы может добавлять членов в группу. Это означает, что у вас есть REST API, который вы не можете добавить в группу. Вам нужно будет иметь действительный идентификатор сеанса владельца группы. Вы получите идентификатор сеанса при входе в систему, я считаю, что вы очень хорошо это понимаете :)

Теперь, как я получу идентификатор сеанса группы?

Вот такой подход, которым мы руководствовались. Мы предвидели, что такие проблемы могут возникнуть задолго до начала проекта :)

Когда пользователь регистрируется в нашем приложении, мы сохраняем его имя пользователя и пароль на нашем сервере db и генерируем случайное имя пользователя и пароль и создаем учетную запись Quickblox с помощью что usrname и пароль для пользователя, и мы сохраняем это быстрое имя пользователя blox, пароль quickblox и идентификатор пользователя quickblox для этого пользователя :)

Итак, хотя регистрация действительно имеет дело с двумя серверами, пользователь всегда будет чувствовать, что имеет дело с одним сервером и он продолжает думать, что использует свое имя пользователя и пароль для входа в чат.

Но на самом деле, когда пользователь использует свое имя пользователя и пароль для входа в приложение в ответ на вход, мы получаем имя пользователя quickblox и пароль quickblox, которые использовали сервер для создания учетной записи. Получив это приложение использует базу QB для входа в учетную запись quickblox с таким именем и паролем :)

Таким образом, пользователь никогда не знает о его quickblox имя пользователя и пароль и идентификатор пользователя :) дает нам много контроля, а также :)

Это, как говорится :) Теперь, когда пользователь создает группу и посылает специальное сообщение, содержащее QBChat пользовательский объект, в этом специальном объекте наряду с подробной информацией о диалоге, он также посылает его quickbloxuserid :)

Теперь, когда пользователь, который recieves специальный QBChat принимает запрос, мы извлекаем идентификатор диалога (к которому он собирается присоединиться) group_owner_id (идентификатор пользователя, который создал диалог и отправил это специальное сообщение), d отправляет его в наш rest api вместе со своим идентификатором :)

После того как API получит идентификатор владельца группы, он связывает имя пользователя и пароль QB с его db и входит в него с этим и получает действительный идентификатор сеанса и, наконец, добавляет пользователь может группировать этот идентификатор сеанса.

Примечание: Quickblox позволяет пользователю входить в систему на нескольких устройствах одновременно, что означает, что он содержит несколько действительных идентификаторов сеанса для пользователя.

Надеюсь, что я сделал свою точку зрения :) Счастливое кодирование.

+0

Есть ли способ добавить идентификаторы пассажиров в существующую группу QBChatDialog? –