Chat app with Radio stream

Google+ uses openid-connect
Facebook oauth2 only

I see there are native components for both.
I’d like to create a simple chat app for phones and ideally also for the browser.

Most our visitors are from Facebook so it would make sense to check if Facebook is available or try Facebook login and if it’s not, at least on Android many people have probably supplied their Google account credentials.

Essentially I’d like the user to log in with whatever means necessary.
And I don’t want the user to have to log in every time it uses the app.
I’d like to store the refresh token or credentials (aes encrypt it or w/e).

In the background I’d have a hmtl5 audio element because mediastream opens a new window and that’s not what I had in mind.
The radio mp3 stream should play in the background as long as the app is active or running.
Then there should be an IRC-like wrote text. I could imagine a list for that display.
On the bottom if authenticated via G+/FB the user should have a text input box displayed, which should send messages on pressing enter.
If not authenticated this text input should be replaced with 2 buttons log in with Google or log in with Facebook.

Below the top bar there should be an indicator of how many users are online right now. For this, a websocket or similar connection is required, I assume (which?).

There should be a menu that,when pressed to open, displays a list of all users.
The users should be referred to publicly by their name (given and last) and have a unique color to discern them from other users with the same name, or, better, profile picture.

Monetization… is a tricky issue. I don’t want to annoy my users but I also want to earn something. Infrastructure costs, development time is not free, An interstitial every 30 minutes. An admob unit that reloads every minute on top above the chat messages list and above the text input.

This is my 1st ionic/cordova app.
I have mostly questions about authentication.
For starters can the app use credentials that are already stored on the phone for auth purposes with ionic/cordova?
I’ll have more questions I’m sure once I start hacking at it.