My Android app is using firebase messaging to present data.
When the phone that is running the app is connected through hotspot to a second phone, and that second phone disconnects and reconnects its data, the phone running the app stops receiving messages with firebase messaging.
Detailed steps to reproduce this issue:
Open hotspot with phone#2(host) and connect phone#1(app) to it
Verify phone#1(app) receives messages through Firebase Messaging
On phone#2(host), disable network data.
On phone#2(host), enable network data - to restore internet connectivity.
Verify that phone#1(app) has regular internet access.
Phone#1(app) does not receive messages with Firebase Messaging.
Has anyone encountered this issue? I wasn't able to find anything related besides this similar issue, however i doubt its related -
https://forums.androidcentral.com/samsung-galaxy-s6/619314-fixed-mobile-tethering-not-working.html
Any help as to what's wrong and suggestions on what can i do to prevent losing the ability to receive messages?
Thanks!
Related
I have a large scale project with hundreds of devices out in the field that I communicate with using GCM. Recently I've been experiencing a strange issue where many of these devices have stopped responding to my GCM messages. A couple things to note:
Sending my payload to Google's GCM servers still returns a proper 200 response.
The GCM keys for these devices have been verified to be correct/active.
The device will start receiving GCM messages if I move the device to a different network/subnet.
The device will start receiving GCM messages if I change its IP address on the same network.
The device will start receiving GCM messages with its initial IP address if I clear data of the Google Playservices package and restart my application.
It seems as if the socket for GCM has gotten stuck in a disconnected state and does not reconnect. These devices are typically connected via wifi which does sometimes drop, however... This past weekend, over 100 of these devices stopped responded so that leads me to believe some sort of TTL has expired and a refresh never happened.
Has anyone experienced anything like this before, or have any thoughts or suggestions about this?
I am implementing Sinch SDK in my Android application. I have observed one thing that after connecting sinch client if I turn off wifi(means now no internet connectivity is available) and I send 4 to 5 messages they are not sent (because on receiving side there are no messages received). As soon as, I turned my device wifi on and the android device gets connected sinch sends those pending messages.(because after connecting to the internet receiving side got those 5 messages which were sent earlier). My question is how does this happen. I mean does sinch maintain any internal queue system and for internet connectivity? Or there is something else is implemented?
Yes we do, we store it locally and sends it as soon as we can
I successfully integrated my app for receiving push notification using GCM. Its working correctly, I just saw a strange behavior while receiving push notification on one of my android set which is using my wifi network, in the same time others whose are using EDGE or 3G network are receiving notifications correctly. When I try to switch off and switch on the wifi, it receives the pending notification.
I tried opening the ports which normally used by GCM i.e 5228,5229 and 5230 in my router's firewall however with no success.
NB: After seeing this, I tried to configure the app for Parse API and its working as same as GCM so I think it depends upon the network packet receiving or something.
I believe, what you're facing is a known issue about TCP connection between GCM servers and your handset is timing out because of inactivity. Network devices (like your Wi-Fi router, your ISP hardware, etc.) between your handset and GCM servers could kill the TCP connection if no packets are sent every now and then.
There are some workarounds for this which you might try. For example, there are apps on Google Play that modify the default Android behavior and make it update this connection more often, increasing chances that it will not timeout. You could try them and see if it fixes the problem for you.
I am trying to use GCM to try and send messages to my application even when the device is not connected to the internet. I know that GCM usually waits till the device has internet and then sends it the message. However, when I test it with my app by disabling WiFi, sending a push message and then enabling WiFi I do not see a message being received. I am following the exact example from this site. Since I am using an IntentService and BroadcastReceiver I figured it would handle the case. Do I have to make any other changes to make it work while the device has no internet? Since
I have implemented chat in my project and using GCM for it.In this i have came across the strange issue.
I have do following steps for it.
Send chat message to server.
Server fetches reg key of device and send push message to GCM server.
Now on other device in which i am receiving push message i tried waiting for the push message for a long time.
But i did not receive the push message.
Now when i turn my wifi off and on it again or switch from 3g to wifi or vice-versa, i get all push messages at once.
I have read GCM docs and i also have seen these two questions in Stackoverflow.
Google Cloud Messaging - messages sometimes not received until network state changed
Device stops receiving GCM pushes until network is switched
I have also referred a google groups question regarding this issue
Problem in getting messages on device using GCM.
But i didn't get any solution till now.
I am using Asp.net at the server side.
Any help or suggestion is appreciated.