问题
I have been searching for a while as to what could be the best option to integrate real-time messaging in my app. I have read about a number of available chat APIs like Sinch, Applozic, Quickblox, SendBird, etc. What I am confused about is that since I am using Firebase Auth for user authentication, can I use these available API along with Firebase Auth??? I know I can even use Firebase to create IM feature but I would prefer to use third party IM APIs as it will save time.
Note: I am using Firebase Real-time Database as well to store user data.
Can anyone suggest me the best option in this case???
回答1:
It is possible to use both Firebase and Quickblox. Use Firebase to handle the authentication and use the FirebaseUser object to create a QBUser for your quickblox implementation. Hope this helps.
回答2:
As Norris pointed out in his answer, it is possible to use Firebase and QuickBlox, but QuickBlox requires client app to authorize with user_id and password. Since you can only get user_id from FirebaseUser object, but not the password (explained here: Firebase/Swift 2 - How to get an authenticated users password and email), you could programmatically generate new unique password just for QuickBlox authorization and keep it stored together with other user data at Firebase Real-Time database. The user doesn't need to know this password, you just use it in your client-side code when you wish to authorize with QuickBlox API.
回答3:
SendBird has simple and powerful Android SDK which runs very well with any types of user authentications.
SendBird only requires "user_id" to create a chat account and it should be super easy to integrate SendBird with Firebase by just using Firebase user unique id as SendBird "user_id".
来源:https://stackoverflow.com/questions/39066542/integrating-real-time-messaging-in-android-app