Expo/React Native : A Continuous Alarm or Sound Notification (like receiving a call ) triggered by remote server - react-native

I am using Expo to build an app that will pop up a notification with custom sound and vibration when triggered remotely. The alarm/vibration would play until its dismissed by the user or it times out (say after 1-2 mins) .
Example use case would be when a partner needs my immediate help with baby, they can press a button the app and that would send signal to backend server which would then trigger the notification with alarm on the app at the other end. When the notification is dismissed, an acknowledgement message is sent with Yes or No type message. If the notification times out, then another message is sent like "no response".
Key point to note is that when the app is fully closed, the notification should still be able to pop up.
From my limited understanding , expo notification or push notifications in general cannot achieve this as they don't allow us to create notifications that directly open the app. Even a solution which works like phone or video calling apps (which open when someone calls you ) could work.
Any help would be much appreciated.
Many Thanks!
I looked up expo push notifications but they are limited in terms of customising the notifications.

Related

How to handle recurring push notification reminders in React Native

I'm working on a React Native app where I need to send recurring push notifications at specific times. So for example, the user will toggle the app to remind them to do task X every day at 12:00pm and I want the app to send a push notification at 12:00pm (when the app is in the background) to remind the user to complete task X.
For the React Native app, I'm using expo and I've read up on their documentation; however, I'm not quite sure how to handle these reminders.
a) I don't know how to monitor recurring events, i.e. how can I set up the app to know when it's 12:00pm, especially given that the app will be running in the background or potentially not running at all, and
b) I'm not sure if these push notifications should be sent locally within the app or from the app's API/server.
Ideally, I would like to use expo's push notification feature, but I'm open to any suggestions as to how to get this set up! Thanks.
a. ) You should look into node-cron or node-schedule for scheduled push notifications.
b.) It depends on the situation. If you are performing a complicated reminder, such as running a query to check if the task is completed, and sending a notification if it is not completed, then the scheduled push notifications should be sent remotely from the api/server. Else, you can use the react-native push notification to send a local scheduled notification.

How to update a Parse push notification instead of creating a new one

With my app, the Parse module sends out a notification each time a picture is sent to the Android recipient. The recipient then know to login to the app and receive the picture. My problem is that if the same recipient is getting many pictures sent to him, he will get many notifications for the app. Is there a way to update any existing Parse notification on and Android device to show the waiting count, instead of sending multiple notifications? I have searched through Parse documentation and here at Stackoverflow but can't find any info on how to do this.
yes, I am facing the same problem, The resolution is that , if you dont send title and alert in parse notifications, it will not create the automatic notifications in the device, so you will have to handle them in your broadcast receiver and create your own notifications, you can have a NOTIFICATION_ID for each notification you create and update the count by getNumber and setNumber i think.
here is a link
https://www.parse.com/questions/update-notification-in-android
Update: Sorry for getting back to you late on this but this might help someone else. Even If your app is not running, You will still get the notification. I have tested it on my own BroadcastReceiver which generates Modified notifications with bitmap, and positive, negetive button for response.

RemoteNotification TOKEN not received if push notifications are not allowed

Really confused with this one!
I have an Adobe AIR iOS app and I am using the RemoteNotifier to subscribe for PushNotifications. More details http://www.adobe.com/devnet/air/articles/ios-push-notifications.html
I have the following listeners.
remoteNotifier.addEventListener(RemoteNotificationEvent.TOKEN, onToken);
After I reset my iPod to factory settings and reinstall my app (using the adhoc distribution), I click "Don't allow" for the pushnotifications when I get prompted.
I find that I then don't receive any RemoteNotificationEvent.TOKEN, so my app basically hangs waiting for that.
If I go to my Settings, Notifications and have a play with
Toggle Alert Style from the None to Alerts AND
Then back to None again (as it was)
I find that I can go back and launch my app with not problems. It's just that on the very first time user flow, I don't seem to get any TOKEN back.
Any ideas? Has anybody else seen this behaviour?
Or knows how I should handle this?
Thanks!
Hopefully I am correct, someone please correct me if I'm wrong.
From what I am able to find out, you won't get a RemoteNotificationEvent.TOKEN when the user clicks on "Don't Allow".
For some reasons that I am still unclear about, how after you play with the Settings and relaunch the app, you get the RemoteNotificationEvent.TOKEN, regardless of the notification settings you have set. But maybe that's the way it's meant to be?
So, really I have to change the flow such that I don't wait on that RemoteNotificationEvent.TOKEN before loading my first screen. If the TOKEN comes back, it comes back, otherwise if it doesn't, it's not a big deal as that means the user clicked on "Don't allow" and we don't need to send PUSH notifications anyway.
Everytime I relaunch my app, I do make the call to subscribe and get the TOKEN though, such that if the user was to enable the Notifications in the phone's Settings, I do have a TOKEN ID to send the push notification too.
The only problem I see with this though, is that should the user change the Notification to ON via the phone Settings and doesn't relaunch the app (to retrieve the TOKEN) then the device doesn't get push notifications.
Not sure how to handle this?

ToastNotification during Quiet Time

I have developed a desktop application which displays ToastNotifications while the user is in Metro Mode. When clicked it will bring the user back to the desktop mode where a standard desktop notification is presented.
This all works fine except when Windows is in QUNS_QUIET_TIME. The desktop notifications do not get displayed as expected, but the ToastNotfications still get displayed. My client wishes for the ToastNotifications to not display during Quiet Time.
The code calls SHQueryUserNotificationState which returns a QUERY_USER_NOTIFICATION_STATE enumeration. The provided link says the following:
Note that during quiet time, if the user is in one of the other blocked modes (QUNS_NOT_PRESENT, QUNS_BUSY, QUNS_PRESENTATION_MODE, or QUNS_RUNNING_D3D_FULL_SCREEN) SHQueryUserNotificationState returns only that value, and does not report QUNS_QUIET_TIME.
This is what I am experiencing. The call to SHQueryUserNotificationState is returning QUNS_APP (A Windows Store app is running.) and not QUNS_QUIET_TIME.
Does anyone know of another way to determine if QUNS_QUIET_TIME is in effect or a way to force the toast to respect quiet time?
Desktop notifications use different settings than toast notifications. You can find toast notification settings here. When a user sets notifications to one hour from Windows 8 Settings | Notifications, the app will not be able set toast notification. Try the example "sending toast notifications from a desktop" here (either C++ code or C# code).

iOS 5 remote notification when launching app from dashboard

since iOS 5, notifications are no more intrusive as previous. This is nice, but it seems that users prefer to tap directly on app icon from the Dashboard instead of the (small) banner area or notification center.
In such case, my app cannot get payload from notifications.. Even the 'application didReceiveRemoteNotification' method is not able to get the notification.
Has anyone got the same issue? Do you have any advice?
Thanks
The intention of the push payload is just to display something useful/informative to the user in the alert. Not to actually send data to your app.
So you will need your own web service to provide the data your app needs. Your app should refresh/sync to that service when it launches to get the data.
Example: Instagram. It can push notify you that someone commented on your photo. But it's not actually sending the comment data in the push to display in the app. The comment data is downloaded when you launch Instagram and attempt to view the comment.