Интеграция обмена сообщениями в реальном времени в приложении для Android
Я долго искал, что может быть лучшим вариантом для интеграции обмена сообщениями в реальном времени в моем приложении. Я читал о нескольких доступных API чата, таких как Sinch, Applozic, Quickblox, SendBird и т. Д. Меня смущает то, что, поскольку я использую Firebase Auth для аутентификации пользователей, могу ли я использовать эти доступные API вместе с Firebase Auth??? Я знаю, что даже могу использовать Firebase для создания IM-функций, но я бы предпочел использовать сторонние API-интерфейсы IM, так как это сэкономит время.
Примечание: я использую базу данных Firebase Real-time для хранения пользовательских данных.
Может кто-нибудь предложить мне лучший вариант в этом случае???
3 ответа
SendBird имеет простой и мощный Android SDK, который отлично работает с любыми типами аутентификации пользователей.
SendBird требует только "user_id" для создания учетной записи чата, и должно быть очень легко интегрировать SendBird с Firebase, просто используя уникальный идентификатор пользователя Firebase как SendBird "user_id".
Можно использовать как Firebase, так и Quickblox. Используйте Firebase для обработки аутентификации и используйте объект FirebaseUser для создания QBUser для вашей реализации quickblox. Надеюсь это поможет.
Как отметил Норрис в своем ответе, возможно использовать Firebase и QuickBlox, но QuickBlox требует, чтобы клиентское приложение авторизовалось с помощью user_id и пароля. Поскольку вы можете получить user_id только из объекта FirebaseUser, но не пароль (объяснение здесь: Firebase / Swift 2 - Как получить аутентифицированный пароль пользователя и электронную почту), вы можете программно сгенерировать новый уникальный пароль только для авторизации QuickBlox и хранить его вместе. с другими пользовательскими данными в базе данных Firebase Real-Time. Пользователю не нужно знать этот пароль, вы просто используете его в своем клиентском коде, когда хотите авторизоваться с помощью QuickBlox API.