Creating a Mobile Application with chat functionality native Android using FCM/GCM - android

I have tried creating a mobile application with User Management, Social Networking, Work sharing , Chat capability between the users in a single and group manner.
Initially, I had used MBaas platforms such as quickblox and Parse. Quickblox seemed to be the best fit for my application requirements since the way creating Custom Classes ( easy to create Model classes to map my requirement which supports Entity relationships ) but felt the platform to be bit immature and bugs popped up every now and then during API calls( though used Quickblox free edition due to very stringent budget constraint usually for a Startup).
Parse , on the other hand in my limited research found to have limitations for while scaling to larger application with Pricing as well as performance.
Now, on deciding to use FCM ( recently Google moving on from GCM to FCM )
as the chatting functionality.So the other core functionalities such as user and their group related features to a separate web application which communicates to the Google Server.My doubts revolves around the points below
It seems that FCM supports only text messages ( don't know whether
its limited too?) and no media or file attachment support?
found the Google Firebase Console has a Database support. Is it only
for the chat messages sync or it can be customised to add further
functionalities ( my other functionalities in this App )
Or else if using separate web application to manage functionalities
apart from chat and FCM for chat would be good enough architecture?
If using separate application , will the file or media attachments
for the chat be an issue?or any other strategy can be used here for
such scenarios?
Appreciate your valuable thoughts . This would really help us incorporate valuable tips upfront in development process .
Thanks in advance.

Related

Comparing Layer, Applozic, Quickblox & SendBird for quick WhatsApp like messaging in an Android App

We at Wishbook have a B2B mobile application (Android & iPhone), wherein we are looking to implement Text & photo communication - between users 1-to-1, or from a user to his group of buyers. We are keen on something that can get us upto speed ASAP, offers good support, is mature library / server, and is also battery friendly.
We are now comparing between Layer, Applozic, QuickBlox & SendBird. Anyone used them? What protocols (XMPP / MQTT / custom / other) are used by them? Experience using it - interms of stable code base, etc? Also - we prefer open-source & more pocket friendly product as well.
Thanks,
Arvind
I have recently just tested two of the solutions you have cited.
QuickBlox :
protocol xmpp
open source
documentated less clearly than applozic
easy set up
Applozic :
protocol mqtt
open source easy set up, if a bit laborious
well documented, and very easy API to use.
Very customizable.
Both programs:
have video call/audio call/groups
have code bases that are constantly being updated, and from their Github pages new version have been released in the past few months
I preferred Applozic as the user interface was nicer and easier to use, and the features and pricing clearer. I also preferred the API and the setup code was easier.
I also had similar question.
The following charts mentioned in the articles helped me finalise the chat api to be used.
Feature Comparison and
Pricing
Applozic has cross app communication and broadcast messaging as well. Support is very quick with Applozic.

Architecture for cross platform messaging app

i am looking to build a mobile messaging app firstly in android and then ios later, and am struggling with the backend architecture and need some advice on what would be best in my circumstance. Basically i am used to just developing apps through a basic web server and using mysql with php, but now i think and want to create something that not only is very reliable and fast but is also scalable and can be used by both the android and ios platforms.
I am thinking about developing it on google cloud platform using either their google app engine or google compute engine depending on what other architectures i use. Also i was going to use google cloud messaging as my main way of handling the messages, however i am now not sure of that as it is only supported by apps that run on android and not ios, also i have heard it can be unreliable in some messages getting lost.
My main problem is that i have heard so many things about different architectures like ejabberd, xmpp, socket i.o and databases like redis that all work well with messaging apps, however i am not sure which to go that will work well together.
Sorry if this seems a bit of a confused situation, but i dont want to start developing something that i am later going to have to change. Thanks for the help
Announced last week: Engage your users across Android, iOS and Chrome via Google Cloud Messaging 3.0:
https://developers.google.com/cloud-messaging/
https://www.youtube.com/watch?v=gJatfdattno
You are asking about many different things.
Storage: can be a mysql database or something like mongo db
Transport protocol: XMPP is a chat protocol with many chat features included but it is not supported in browsers. WebSocket is more low level and more general but works inside the browser
webserver software: you basically need access to the database and be able to transmit XMPP or WebSocket. I'd recommend node.js for this. PHP is more for web pages

One to one and Groupchat in Android App

I am newer to Android but am trying to add a chat feature within my application. In terms of areas I have tried they include pre-built systems such as Quickblox and Scringo, but each are highly inflexible and also require employing their user authentication sources as well, which are not needed.
Is there a general location for resources to build a chat feature that will also persist past messages for viewing as well? Or suggested services that could help handle sending messages?
(Any guidance is greatly appreciated)

Suggestion for using web framework for mobile app & desktop

I am involved in developing application for mobile sensors, data from these sensors is to be collected using Android/iOS mobile apps. We want the end users to be able to view this data from desktops also. This data is uploaded to be uploaded to our own database(s) from the mobile apps. I have done this development of the prototypes using native applications (iOS/Android) and implemented web services using Django 1.6 with SQL database. This was just for prototype.
We are at stage where we really need to make this into real product with paying customers, so we are in position to revisit our technology stack question. So I am looking for suggestions.
Currently I am thinking of using Play Framework on the server side. I really haven't seen anything compelling that can provide Native app like feel so we will have to keep developing mobile apps using native libraries. We will interface with our web services using REST API. My concern with Play framework is it doesn't seem to have lot of plugins similar to django, but its early days hoping that situation will improve.
Is this right approach we are very small team ( 4 people, we can hire 2 more probably). Given this is this right technology path I am choosing anything I should be looking at?
I have looked at Parse library but doesn't seem to offer too much data flexibility, geared towards more social media aspects.
We will be using StromPath for user management, any other choices I should be looking at for user management?
We really don't want to do a lot of MVC programming on client side, so on desktop app we will keep it simple jQuery/Javascript & html
-Sam
With jQuery mobile you can assure the look and feel like in a native app. The library it self does media queries and stretch or shrink the content accordingly. So in terms of UI you will not face any problem providing native app like look and feel to the users. For client/server communication I recommend normal ajax functionality so you can dynamically add content.
When working with JQM there are certain rules that you will have to obey.

Is it possible to use GWT and App Engine together with and android app for commercial use?

I tried to give the main idea in the title as good as i could. I am a good programmer in Java and i studied the android sdk. I posted my question here because i believe you can guide me.
Two companies need to send text messages(not sms) in the same android app. The number of users of this app is not known but it could be 500 to 200k. Can Gwt and app engine help me to make it possible. To make it clear i didn't studied these services, but i know if i use them it will have no cost.
The other solution is to make my own server and a web app with another language.
Your answers will save me time.
Thanks in advance.
GWT and App Engine are front end and backend platforms which can be used to build use cases which fit a different need.
App Engine provides a PAAS stack with limitations of hardened sandbox, GWT takes the pain out of Javascript programming but restricts the customization.
If you are using http to communicate with servers then GAE should do the job

Categories

Resources