I am trying to implement a simple android app that has the ability to send device to device notification, like in almost any IM app exists.
In my app the implementation is even simpler, since there is only one user that receive notifications. All the other users can send them to him.
I am trying to find a solution for the last 10 days and so far I only found that it is hard do do it using Firebase Cloud Platform (since I need to implement my own server), and that it is maybe possible using oneSignal.
Have anyone done this before? Have anyone used oneSignal and can tell me if I can easily implement it without building another server?
Thanks!
Related
I am building my first Android app and need to know how I could use push notification.
My project is a home alarm system and also I have built my own local web server. Now I want to push a notification from my server to my Android app when an alarm appears in my server.
Currently my garage doors use the MyQ app and when the garage door opens or closes I get a notification on my phone, I want to implement the same thing in my app.
I've been reading about the Google Firebase Cloud Messaging but it seems exceeding my need.
If you need push notification on your cell phone then you definitely need to integrate your app with Google Firebase. (or at least that's the right way of doing it).
Alternatively, there is something called as local notifications & background process in Android you could do long polling to check if the garage door is open (probably every 2 mins or something). However, I don't recommend that as it can drain your mobile battery.
Also I recommend using Flutter as oppose to using Native Android. As there are some pre-built libraries for android and Google Firebase integration.
Take a look at this Youtube video - https://www.youtube.com/watch?v=2TSm2YGBT1s
Ouh, maybe thats a little bit too much for starting with android - nevertheless I want to help you.
You need a communication protocol between your server and your phone (i.e. Firebase as you mentioned or Websockets).
If your server sends a message to you client (your phone) you have to create a notification. (Android Developer Guide). That's the theoretical part. You will also stumble across a lot of
challenges with
asynchronous programming.
Firebase might actually be the simplest option. You could build your own web socket service too, but that would probably be more than you need. See this previous question for more options: Android push notification without firebase
Android has some services that communicate with firebase to receive notifications.
You'll need to implement a service on top of your web server (using backend languages such as Python, Node.js, PHP,...) so it can send notifications when an event happened (like the door closed) witch isn't a simple way for a beginner.
then your web server sends a message to firebase and tells it to send a notification to my client.
so I highly recommend using firebase because of the simplicity of usage. otherwise, you should implement a separate service on your android phone to get the notification (if you want to run it locally) also as explained do the backend side.
Can I use Onesignal to send a notification of order changes to an Android device then if the user already opened the application on order's page/view the notification will be not shown but the order status on that page will be changed?
If yes, can I know the reference of documentation/tutor? If no, what are alternative ways to do it?
I have a project using Onesignal to send the notifications to the android devices. Currently just Simple notif, but my boss asked me to make the mobile app can auto change status order without user action. I'm a backend engineer, not an android dev so I don't know what really works of Onesignal in android. I just know Onesignal can be used to send the notification but what about data process after notification sent?
This is what I understood: Your app has some kind of market or something from which people can order stuff. So, you want to know if OneSignal can send automated notifications as the order status changes?
If I have got it correct, my best guess will be, no. OneSignal can only manually send out notifications. The closest one can get with OneSignal to automations is scheduling notifications to be sent later. To achieve your purpose, your Android devs will probabaly have to write some code on their own and integrate it some way with the order status and all. Or else, your boss will have to appoint a few people who can track the order of the people and manually send out notifications to them using OneSignal (but, identifying the correct device might not be so easy).
That's my guess. But, OneSignal's support team is pretty nice. They might take a few days to answer, but, it's worth asking them if they can help your developers integrate the order status and OneSignal's notifications in some way.
I am developing an app in android in Eclipse IDE. The app modality requires that any user can challenge his/her friend to do a certain activity. Whenever a user does so, the friend will immediately get a notification in his/her phone. Even more, the user who challenged the friend, will also receive a notification when the friend accepts the challenge. Is there any particular way I can provide this functionality? I know how to generate notifications. But the server side interaction is quite confusing. Should I check the server database through the app at frequent intervals and check for such activities in database? I think the procedure will hamper the performance of the app. I would be very grateful if anyone can suggest a good way.
But the server side interaction is quite confusing.
As you're pointing out, it's the server part not the Android one what's confusing here. If you don't have any constraints on the server part, I'd recomend to use Socket.io http://socket.io/ They have a tutorial for connecting socket.io with Android: http://socket.io/blog/native-socket-io-and-android/
It seems that you don't really need an interaction between the differents users but only a way to notify them. I always used Google Cloud Messaging to do so. It enables you to receive push notifications. As you said, checking the server periodically is battery/data consuming and not the best way to do it.
This link might help to set up GCM : http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/.
I see that apps like facebook for example are getting push notifications in real time. When someone writes a message to me from a pc ill get the message to my android device as push notification just a second later even when my facebook app is not running.
Im wondering how it works because for my app i need a quite similar behaviour. There is also a messaging and an alert mechanism between server and client but i cant imagine how i could implement it so that i can get real time updates from the server to the client even when the app is not started.
Does someone know?
Yes, use Sync Adapter with GCM (Google Cloud Messaging) :
http://developer.android.com/training/sync-adapters/index.html
Read the tutorial i provided, you will at least know what to use.
And check this SO question, it has good answers (especially the accepted one) :
Sync data between Android App and webserver
i have a problem that i am using web services and want that for example i have implemented facebook in my application and want that all the notification that arise in my facebook will get notified in my android phone even if application is installed but not opened in phone. So, to implement this into my application i think i have to use cloud computing but how can i do this i dont know. Can anyone help me out of this problem?
Thanks
I don't know what kind of application you have already written, but you need the implement a backend that checks the Facebook notifications, which can (probably) be done using the Facebook API: http://developers.facebook.com/blog/post/291
To send the notifications to the phone, you can use push notifications. Since 2.2 this can be done with Cloud To Device Messaging:
http://android-developers.blogspot.com/2010/05/android-cloud-to-device-messaging.html
and
http://blog.boxedice.com/2010/10/07/android-push-notifications-tutorial/