I'm having a problem receiving push notifications to an Android Chrome PWA when no Chrome apps are running. I can reproduce this with 3 different public web-push examples. The first question is should a web-push example work the same as a PWA with web-push? That is, should a web push on Android be able to be received and display a notification even if the browser is not running. Docs seem to say yes. Why does the test below not confirm this.
Problem Description
The problem does not affect Firefox. There are other posts that have attributed similar behavior to the payload of the message (data and/or notification) or the battery optimization settings. Altering these variables doesn't seem to improve my situation. Here's a method for reproducing the problem using one of the online examples (Thanks to Carlos for pulling this together..see code here).
Reproduction Steps
Open up Carlos demo on your Android phone. Accept the notification permissions and ensure that you can send yourself a notification.
Open up the same page on another machine. Ensure that you can send your phone a push notification using the "Send to all subscribers immediatelly"[sic] function.
Kill all the Chrome apps on your android device. To be on the safe side, kill all your running apps cause I've found it not obvious what's using chrome and I think this has confused a lot of previous posts/answers.
Repeat step 2 on the second machine. You should not get the notification on Chrome.
Once you're convinced the message is not coming, open any Chrome app. After a few seconds, you should receive the notifications.
Repeat all of the above with Firefox on Android and you will get the notification in step 4.
You can run a similar tests here or here.
There are several bugs related to this issue on Chrome. The problem is resolved in Chrome Dev 74 which is due to be stable on Apr 23, 2019.
Related
all day I already despair of a waking up system for my VoIP app. I must have already read over 100 articles and documentation about it, however I have not found a solution that works for me.
Use case:
My app is running in the background. That means the home button was pressed
after my app was started and the device is in the home screen. As soon as a notification arrives, the app is supposed to open again on a certain route because a call is coming in.
In the lock screen I managed this pretty easily with flutter_local_notifications and within the app it was of course no problem either.
Note:
Only Android is important, the rest can be neglected
Android version 10+
Flutter version 2+
I appreciate any input on how to solve my problem and have a good week.
Kind regards,
Shiro
since quite a while I get an annoying notification from Glympse about "Smart Device Link". As I am not aware of using that feature, I would like to get rid of the notification.
My search through google brought up a similar issue with accuweather about 3 years ago. Accuweather seems to have solved the issue via an update. But I cannot find any information about this notification related to Glympse.
One option would be to switch off the notification for Glympse. Unfortunately Glympse only has one setting for the notification. So deactivating that would deactivate all Glympse notifications and not just the one about the Smart Device Link.
Reaching out to Glympse for App related issues does not seem possible. On their community page they point to stackoverflow. And thus I am here.
What are my best options to get rid of the "Smart Device Link" notification?
By the way: I am using a Samsung Note 9 runnung Android 10.
Same problem. SmartDeviceLink is always looking for a bluetooth connection even when Glympse is not launched, since almost 2 years.
I wrote to Glympse and after 2 months waiting I got an answer :
"You can remove SmartDeviceLink trough Ford"
No more explanation. I don't have a Ford :(
I've been experimenting with Progressive Web Apps (PWA) and using service workers to create native Notifications on phones (like a Galaxy s7/s8).
All has been working great if the page/PWA is open or in the background/tasks (super slick :D), but one thing I've noticed is that if it is killed via the task manager, the notifications no longer work.
This seems to be the case whether I'm using the web app in the browser or if I add it to home page using the PWA functionality.
Here is a snippet of a simple piece of logic in case it helps:
if (Notification.permission === 'granted') {
navigator.serviceWorker.ready.then(function(serviceWorker) {
serviceWorker.showNotification('You have new notifications!');
});
}
Questions
1) Is this an inherent limitation of PWA's?
2) Is there a workaround (like auto-starting the app, perhaps)?
All has been working great if the page/PWA is open or in the background/tasks (super slick :D), but one thing I've noticed is that if it is killed via the task manager, the notifications no longer work.
I beg to differ. I have created a PWA for a bus app and even if I kill the app, I still receive the notification.
To answer your questions:
iOS is the biggest limitation as of the moment. The idea of having a PWA is to behave and look like an app. Having push notifications and offline caching is one of the things driving a PWA to be successful and not build an app.
There is no such thing as an auto-start. If the user has landed on the page and the SW has installed properly, it is already "listening" in the background.
After a lot of research, I got to a conclusion that uninstalls can't be tracked as "Package Removed" action is not broadcasted to all the apps except the one getting uninstalled.
And then I found a way of tracking uninstalls. I saved all uninstall user information by Sending a GCM and getting "Not Registered" error in the response(GCM gives "Not Registered" error for devices with the app uninstalled).
So now, when I installed Opera Max app and uninstalled it, it opened a webpage asking for "Uninstall Survey". How could they have done that?
See these slides from Droidcon 2015 where some guys reverse-engineered how Opera Max is doing that, and see this GitHub repository for some example code.
I can't repro this behaviour when I uninstall Opera Max, but I believe their technique is along the following lines:
they somehow register an event handler that will send an Intent if and when the directory that the app was installed to disappears
that event handler survives the uninstallation of the app
when the directory disappears the intent fires - of course they can't run their own code now (since it has been uninstalled), but they can direct you to a webpage in whatever browser is in place
I didn't have any other Opera apps installed when I tried this - if you have a second app that you also control that has not been uninstalled, then it's easy for each app to monitor the uninstallation of the other one.
I was running on Lollipop - perhaps recent versions of Android have closed what certainly feels like a security hole.
The bounty expires in 5 days. Answers to this question are eligible for a +500 reputation bounty.
Alex is looking for a more detailed answer to this question:
Trying to find out that is the Google URL that needs to be blocked in Pi-hole to make the update notification go away.
We have 2 candidate URLs so far.
I have an application running on phones that aren't meant to be touched or interacted with in any way. I want my application to run correctly 24/7/365.
The only issue I'm having is that every few weeks or so, a notification pops up about updating the firmware on the device. It doesn't immediately interrupt the app running but after a few days of no one accepting/declining the firmware download, the app crashes.
Is there any way (either programatically or by changing phone settings) to disable these firmware update popups, or to disable automated firmware updating in general?
Thank you very much!!
3 easy steps:
1. Install free System Tuner
2. Go to Startups
3. Select Google Services Framework
4. Uncheck SystemUpdateInstallDialog and SystemUpdateInstallDownloadDialog
IMPORTANT: You need a rooted device to run this app!
Simple and easy way to stop the system update notification...
Source: http://forums.androidcentral.com/google-nexus-7-tablet-2012/234006-how-do-i-remove-system-update-notification.html
To avoid confusion with the original question I'll repeat the Bounty-Question by Alex first:
Does anyone know what is the URL of google that we can block in Pi-Hole to make the notification go away?
All HTTP-based messages -- including push notifications -- via Google's Firebase Cloud Messaging (FCM) backend go through the server-side endpoint https://fcm.googleapis.com/fcm/send, as described in the reference on the Firebase Cloud Messaging HTTP protocol. The client-side endpoint doesn't seem to be publicly documented, however one can suppose that blocking https://fcm.googleapis.com should do the job.
Analogously all XMPP-based messages go through the endpoint fcm-xmpp.googleapis.com, as documented in the reference on the Firebase Cloud Messaging XMPP protocol.
Yes, it is possible
Settings
Goto "settings"
find the "about phone" or "system" entry in settings
look ofr the "software update" or "system update" option
There should be a 3dotted menu with "settings", or a direct link to Download and install updates automatically.
turn it off.
3rd party
You may also consider (this is what I personally do) installing 3rd party software like NetGuard (for example) and disable internet connection to the system process that checks for updates. If there is no internet connection for the software/app it will not badger you with notifications.
Turn off notifications
Got to the settings of the app responsible for updates. And turn off all permissions related to notifications.
You won't be badgered with the notifications.
on android in the notification bar you can press the notification long time. than an info button should appear. when you click this button you get the system app, which creates the notification. then in the settings of this app you can block every notification. just block all. maybe you will miss other important notifications, i don't know.