FEATURED by Whatsapp Support Page
Hi everyone,
Are you experiencing delayed push notifications from GTalk/Hangouts, GMail, Whatsapp (partial fix), Facebook, Play Store web install, etc? If so, then this app its for you!!
It's FREE! No banners. No ads. Please consider donating to the developer (link in the app).
This app work for EVERY phone. ROOT is NOT required
Root version here: http://forum.xda-developers.com/showthread.php?t=2142503
This app basically keep alive the push connection on your phone. It avoid the tcp connection timeout that can occurs on some wifi routers or on some mobile carriers.
You will always receive instantly push notifications.
● Why were my notifications delayed in the first place?
Apps using Google's push service (Hangouts, Gmail, Facebook Messenger, e.g.) connect your phone to Google’s servers via one TCP connection (on port 5228).
To keep this connection alive, Android uses a periodic heartbeat to prevent the connection from timing out. By default, this heartbeat occurs every 15 minutes on wifi and every 28 minutes on a mobile data connection.
This is problematic because most Wi-Fi routers and mobile carriers will automatically terminate this connection after a short time of inactivity.
Because your phone is not aware that this connection was externally closed, you will not receive push notifications until this connection is reestablished when the next heartbeat is sent.
● How does PNF solve this problem?
Every x minutes it invoke an android activity that will send an heartbeat network packet on the push connection. Sending an heartbeat every 5 minutes should be enough to always keep the connection alive and all your push notifications will be instantly.
The battery should not be much impacted over a day.
Download here: PLAY STORE LINK (or get the attached APK in case not available on your country for some reason)
Please, if the are problems don't rate bad, send me an email ( [email protected] ) or post the problem in this thread and I'll answer you as soon as possible.
Feedback are welcome!
Changelog:
See post Number 2
FAQ:
See post Number 3
Report to google here: https://productforums.google.com/fo...onnecting-to-networks-and-devices/fslYqYrULto
Download it from play store to receive future app updates
Changelog:
Version 2.5, 2016/09/10:
- Small update. Soon new things!
Version 2.0, 2015/06/30:
- Fix PNF auto-startup after phone reboot
Version 1.5, 2015/01/04:
- Material design for android lollipop
Version 1.1, 2014/03/06:
- Fix app not autostart at network changes on some phone
- The app start at phone boot itself, no need to start it or do anything
Version 1.0, 2013/11/05 :
- First release
FAQ
Q: Does this app drain battery in background? Does lowering the heartbeat interval too much cause more battery drain?
A: It should have not a big impact on the battery during your daily use. I recommend hearbeat set to 5 minutes, it should be enough to make you receive instantly notifications.
Q: What does mean "set the heartbeat to x minutes" ?
A: It means only that android will send a network packet over the push connection every x minutes instead of the default 15/28 minutes to keep alive that connection. It does NOT mean that you receive push notification every x minutes. Notifications are instantly if the push connection is alive.
Q: Why Whatsapp messages are still delayed sometimes?
A: Whatsapp, and some others apps, don't completely rely on google push service (GCM). Those apps start their own connection when you open the application, and the messages come through this connection. The heartbeat is sent by android only on the push connection on the port 5228, and so it only keep-alive that particular connection. Blame those apps that doesn't have a keep-alive mechanism for their connection or that doesn't use full push messaging.
A workaround for whatsapp is to swipe it away from the recent apps when your finished a chat session. In this way it's connection is dropped and you will be notified of new messages through google push notifications.
I start seeing some download, but few stars.. Come on show your gratification with 5 stars
Inviato dal mio Galaxy Nexus utilizzando Tapatalk
How?
Hi, Im using your application, the root one.
But I'm interested in how this one works.
I recently developed an app that use GCM to send messages between devices.
If you can answer me... How do you send the heartbeat through an Activity? This can help a lot of people since Google don't do anything.
Thank you
Hitsbam said:
Hi, Im using your application, the root one.
But I'm interested in how this one works.
I recently developed an app that use GCM to send messages between devices.
If you can answer me... How do you send the heartbeat through an Activity? This can help a lot of people since Google don't do anything.
Thank you
Click to expand...
Click to collapse
Basically to trigger an heartbeat you only need those 2 lines (those are undocumented, I it discovered by decompiling GSF):
Code:
context.sendBroadcast(new Intent("com.google.android.intent.action.GTALK_HEARTBEAT"));
context.sendBroadcast(new Intent("com.google.android.intent.action.MCS_HEARTBEAT"));
where context is the application context.
Those intents will be "catched" by GoogleServicesFramework (GSF) that will physically send the heartbeat packet to the google servers. If an aswer come back instantly the push connection is alive, otherwise if in 60 seconds there is no answer back, GSF will initiate a new push connection without to wait the next heartbeat.
The first intent is for Ice Cream Sandwhich and below "I think", while the second one is used in new android versions, should depend from the GSF version installed..But you can safety fire both, since one of the two won't just do anything.
Not sure if it is a good practice to place it inside an application, since if every developer will do that the battery will be killed. Maybe you can invoke that only in some situations.
andQlimax said:
Basically to trigger an heartbeat you only need those 2 lines:
Code:
context.sendBroadcast(new Intent("com.google.android.intent.action.GTALK_HEARTBEAT"));
context.sendBroadcast(new Intent("com.google.android.intent.action.MCS_HEARTBEAT"));
where context is the application context.
Those intents will be "catched" by GoogleServicesFramework (GSF) that will physically send the heartbeat packet to the google servers. If an aswer come back instantly the push connection is alive, otherwise if in 60 seconds there is no answer back, GSF will initiate a new push connection.
The first intent is for Ice Cream Sandwhich and below "I think", while the second one is used in new android versions, should depend from the GSF version installed..But you can safety fire both, since one of the two won't just do anything.
Not sure if it is a good practice to place it inside an application, since if every developer will do that the battery will be killed. Maybe you can invoke that only in some situations.
Click to expand...
Click to collapse
Thanks a lot.
Your right, if every developer use it then can turn in to a problem.
I'm not going to use it, only in the start of the app if the users reports me problems. But first i'm going to suggest your application, i think is a better solution by the moment :good:.
Thanks for satisfy my curiosity.
PNF root reached 50.000+ downloads!
PNF no-root need more advertising..Share it to people may need this app and give 5 stars!
Great app :good:
I'm new with android. How can I swipe whatsapp away from the recent apps in settings when I finished a chat session?
Thanks in advance
lefty68 said:
Great app :good:
I'm new with android. How can I swipe whatsapp away from the recent apps in settings when I finished a chat session?
Thanks in advance
Click to expand...
Click to collapse
Depends from your phone I think, just launch the recent apps list and remove / swype whatsapp from there..
On the Nexus phones there is a dedicated on screen button to open the recent app list, on some Samsung phone I think you can long press the home button.
Inviato dal mio Galaxy Nexus utilizzando Tapatalk
andQlimax said:
Depends from your phone I think, just launch the recent apps list and remove / swype whatsapp from there..
On the Nexus phones there is a dedicated on screen button to open the recent app list, on some Samsung phone I think you can long press the home button.
Inviato dal mio Galaxy Nexus utilizzando Tapatalk
Click to expand...
Click to collapse
On Huawei g300 phone I can long press the home button to open the recent app list too, but it seems like in android 2.3.6 I can't swipe apps away. Any alternative action?
andQlimax said:
Basically to trigger an heartbeat you only need those 2 lines (those are undocumented, I it discovered by decompiling GSF):
Code:
context.sendBroadcast(new Intent("com.google.android.intent.action.GTALK_HEARTBEAT"));
context.sendBroadcast(new Intent("com.google.android.intent.action.MCS_HEARTBEAT"));
Click to expand...
Click to collapse
Hi, I'am using the same method in my product.
Can we reach an agreement how to reduce the frequency of these intent calls?
I have no idea to realize any heartbeat timeout settings in my app (hard policy).
I can't listen for these intents cause it requires com.google.android.c2dm.permission.SEND permission that can't be acquired.
For example, can you send some additional broadcast intent (w/o permissions) when fire heartbeat?
I'll listen for it and reset own alarms to not to do the same action.
dd00_xda said:
Hi, I'am using the same method in my product.
Can we reach an agreement how to reduce the frequency of these intent calls?
I have no idea to realize any heartbeat timeout settings in my app (hard policy).
I can't listen for these intents cause it requires com.google.android.c2dm.permission.SEND permission that can't be acquired.
For example, can you send some additional broadcast intent (w/o permissions) when fire heartbeat?
I'll listen for it and reset own alarms to not to do the same action.
Click to expand...
Click to collapse
I have to check, there is an other intent directly fired by android which indicate that an heartbeat has been sent, you can listen that intent I think
I don't remember it right now what, I will check tomorrow maybe and will let you know
dd00_xda said:
Hi, I'am using the same method in my product.
Can we reach an agreement how to reduce the frequency of these intent calls?
I have no idea to realize any heartbeat timeout settings in my app (hard policy).
I can't listen for these intents cause it requires com.google.android.c2dm.permission.SEND permission that can't be acquired.
For example, can you send some additional broadcast intent (w/o permissions) when fire heartbeat?
I'll listen for it and reset own alarms to not to do the same action.
Click to expand...
Click to collapse
@dd00_xda
It seems there isn't an android system intent that you can listen to check if an heartbeat has been sent.
About your request to send some broadcast intent in my app, what will be the advantage for you? I mean, if you already need my app installed, then you don't need at all your own alarm..My app by default send and heartbeat every 5 minutes for example (the alarm will start every time a connection is made) and in that way the push connection is already alive..and every notification you app need to listen, it will always being received
Thanks very much for creating this app! I have a question about it.
I previously had a Samsung Galaxy S3 running Android 4.1.2. Push notifications worked fine over Wi-Fi when I was at home.
I have now switched to a Nexus 5 running Android 4.4. I'm still using the same router at home, but I'm getting an issue with notifications being delayed. Sometimes I will not get any notifications for a while, then a bunch will turn up at once from different apps.
Does the issue I've described sound like it's related to the problem that this app is designed to fix? If so, how come everything worked fine with my S3 with the same router?
Many thanks!
funksoulbrother said:
Thanks very much for creating this app! I have a question about it.
I previously had a Samsung Galaxy S3 running Android 4.1.2. Push notifications worked fine over Wi-Fi when I was at home.
I have now switched to a Nexus 5 running Android 4.4. I'm still using the same router at home, but I'm getting an issue with notifications being delayed. Sometimes I will not get any notifications for a while, then a bunch will turn up at once from different apps.
Does the issue I've described sound like it's related to the problem that this app is designed to fix? If so, how come everything worked fine with my S3 with the same router?
Many thanks!
Click to expand...
Click to collapse
maybe the issue is that the device loose the network while the screen is off? that's a common problem on some device, it is not fixed by PNF
andQlimax said:
maybe the issue is that the device loose the network while the screen is off? that's a common problem on some device, it is not fixed by PNF
Click to expand...
Click to collapse
Thanks for the reply!
Do you have any recommendations of how I could troubleshoot this issue? I really don't know what the cause is - I just know it happens, and if it was a widespread issue with the Nexus 5 then a lot more people would be talking about this issue. I've only seen a handful of folks mentioning it.
Thanks again.
funksoulbrother said:
Thanks for the reply!
Do you have any recommendations of how I could troubleshoot this issue? I really don't know what the cause is - I just know it happens, and if it was a widespread issue with the Nexus 5 then a lot more people would be talking about this issue. I've only seen a handful of folks mentioning it.
Thanks again.
Click to expand...
Click to collapse
if the phone disconnect from the wifi while the screen is off (happen also with only some routers sometimes), you usually should see the phone reconnect as soon as you wake the screen..if you pull down the notification bar and open the toggle switch, you should see the wifi icon orange (no connection to google server) and in few seconds become white again (connected).
andQlimax said:
if the phone disconnect from the wifi while the screen is off (happen also with only some routers sometimes), you usually should see the phone reconnect as soon as you wake the screen..if you pull down the notification bar and open the toggle switch, you should see the wifi icon orange (no connection to google server) and in few seconds become white again (connected).
Click to expand...
Click to collapse
Thanks again.
I don't believe the Wi-Fi is disconnecting. I can ping the device when the screen has been off for ages and notifications do come in when the screen is off - they're just delayed and sometimes I don't get a notification at all, yet I'll get an email notification on my PC.
funksoulbrother said:
Thanks again.
I don't believe the Wi-Fi is disconnecting. I can ping the device when the screen has been off for ages and notifications do come in when the screen is off - they're just delayed and sometimes I don't get a notification at all, yet I'll get an email notification on my PC.
Click to expand...
Click to collapse
that's strange...anyway my nexus 5 is arriving, I will do some tests and see if PNF is working correctly on KitKat
Don't want to sound like a total noob, and I have searched and founds some information on this, but, nothing that appears to be a solution. Long story short: I get zero notifications when my phone is connected to WiFi (Google Voice, Gmail, Facebook, etc.). As soon as I either turn autosync off and then back on to force a sync (via toggle) or disable WiFi and connect to LTE or 3G, all of my notifications come through. From looking around it appears that this has been an issue on "factory stock" Nexus versions for a while (ARP?), and I have yet to see solutions that don't involve rooting and changing INI files. Anyone have any insight into this? My old phone worked fine, but it was rooted and ran CM 10.0. Not a deal breaker, but it is annoying and seems silly.
-Rhys
Hey,
so sometimes (especially when u wait [testing]) it needs some time til notifications appear, but I'm general it's working as it should for me...
So just a few thoughts:
- tested on different WLANs
- checked ur WLAN settings
- deleted WLAN and re-added it
- deleted and re-added accounts
- (factory) reset phone
CHEERS
Sent from my Nexus 5 using XDA Premium 4 mobile app
Hello,
so i used the search for this but could not find anything @ google or here... So since I updated to 5.0 (or higher versions) i experience a big delay in receiving messages over the internet. This does not appear when i'm in any wifi.
It's something like "disable background data" => only if i start an app it will connect and get messages / mails or whatever. When i just leave my phone somewhere (without wifi) it won't receive messages (like from whatsapp) [or only with a big delay]. Where does this come from? Background data is enable and no network restricted. And as I said, it works perfectly in WiFis.
Thanks and have a nice weekend,
Cloud2F
It works fine for me.
Lethargy said:
It works fine for me.
Click to expand...
Click to collapse
How often are you rebooting? I think it happens with a runtime of some days. I have the feeling that Apps are closing in the background. This happend for me on stock and custom Roms. But again strange, that on Wifi i still get messages....
Hi there,
I recently got a Z3C and rooted it, then upgraded back to 23.4.A.0.546. I removed some apps that I dislike with Root App Deleter and installed my other favorite apps, including AdAway.
Now, the issue I experienced since the first boot is that all apps are not receiving notifications in real time, I have to open the app to "stimulate" to fetch stuff.
So for example if my phone is in stand-by and I don't turn it on, no WhatsApp messages are received. I actually think I receive nothing until I open the app itself, and also when I am writing, it seems like the app is having troubles at getting online and delivering as it shows a waiting mini-icon on messages instead of instantly delivering them.
I am pretty sure this is not due to the rooting, maybe AdAway could be involved, but it's probably something that changed from Android 4.4 to 5.1, as I had same set of apps on 4.4 (Z1) without problems.
I checked that apps are allowed background traffic, and they are. I also get this problem on either HDSPA or wifi.
Any thoughts/ideas? Thanks in advance!
Ever since I upgraded OTA for marshmallow (i'm bone stock) I've had "connection" issues with multiple apps, regardless if i'm on wifi or 3g/4g.
The google sound search app (whats this song) says "you seem to be offline. Retry?
Google Voice when used pops up the screen saying "offline. check your connection" it does this too when I say "call x cell phone" unless i say "make a call first".
gmail app push notifications are non-existent. I don't email 80%+ of the time unless I manually sync.
Facebook app will constantly think I have no internet connectivity. I have to force updates which rarely works, or quit out of the app and reload.
Playstore does the same from time to time, giving messages about have no connection and to check it.
Voicemail will constantly give me errors: an error occurred, unable to connect to voicemail/visual voicemail. Paraphrasing here.
4 days ago I backed up everything over sftp to my computer and did a factory reset. This seemed to help for a little bit. The apps i've described above acted more normal, but since yesterday I'm having all the same issues again. I've never had any issue like this prior to the marshmallow update. Prior this i went into the settings and did a full reset of all network settings under ireless Controls or Wireless & Networks. that didn't help either
android 6.0.1, baseband G920vvru4cpc2, baseband 3.10.61 [email protected] #1, build number mmb29k.G920vvru4cpc2
no system updates available. What gives, and what else can I provide? Should I report these as bugs to google/verizon?
I also have issues with apps like i heart radio, pandora, after my upgrade, it'll play 1 song or not at all and then after one song it closes out. I tried uninstalling, restarting the phone and then reinstalling but the same issues, and tis with all my audio streaming,.. help!?!?
I've been having the same issues as OP, as well as with Facebook. I'll have to close it out 5 or 6 times before it'll give me the latest posts. It keeps reverting back to May 6 and when opening comments get a message that i'm not connected even though i'm web browsing just fine. Seems to be an issue with the OS and apps.
The Facebook app is junk and notoriously buggy so that maybe your Facebook issue. On top of that its a huge memory hog and might as well be classified as spyware with it's endless permissions (and yes they do monitor you and EVERYTHING you do via the app for "advertising and product placement" purposes). I suggest ditching the app and just access Facebook via web browser. That alone has solved alot of issues for alot of people I know, even issues that seem unrelated to Facebook. Its supprising how miserably coded the Facebook app is and how many problems it is the source of, especially given it's such a large corporation. As for the other issues listed, I personally experience none of them on my Verizon S6. I stream music and video just fine on youtube, pandora and spotify. No connectivity issues... ever. Not with voicemail, google sound search, gmail, play store or any other apps. Do you have a task killer or other "battery optimizing" app that is turning off your wifi and/or mobile data without your knowledge. Thats my only thought.
Settings > Battery > More > Optimize Battery Usage.
Uncheck any apps that are having the problem and see if that helps