Is there a way to make the GCM server only send out the last message when the device is offline? (Override all the messages when the device is offline, but just leave the last one) Like what APNS is doing?
I want to see if i can control it from the server side instead, but not using collapse_key from the Mobile.
Related
I can use FCM console to send messages to all users or certain users at a certain time.
Now I want the app send a message to specified users when their in-game energy is full. How to realize it with FCM? And can I know the messages' sends, opens, conversions?
Sending a message to a user can only be done from a trusted environment, such as the Firebase console, or a place where you can trust that the code running is yours (such as your development machine, a server that you control, or something like Cloud Functions/Cloud Run).
For examples of how to send a message by calling FCM's API, see the documentation on building send requests, and this sample use-case of notifying the user when something interesting happens using Cloud Functions.
When my service worker invokes a secured API that returns content, I do receive an error message, such that The Site has been updated in background. Can anyone please help me out ?
Based from this link, the message This site has been updated in the background is a forced message from the Chrome browser when the SDK cannot fetch the notification contents to retrieve. Notification contents are not sent to our background worker; instead we receive a signal to display a notification and then we fetch the notification contents from our server.
This behavior is most likely triggered by the user having multiple notifications pings, but only one message to receive.
You may also check this related SO post: Chrome Push Notification: This site has been updated in the background
Generally as soon as you receive a push message from GCM (Google Cloud Messaging) you have to show a push notification in the browser. This is mentioned on the 3rd point in here:
https://developers.google.com/web/updates/2015/03/push-notificatons-on-the-open-web#what-are-the-limitations-of-push-messaging-in-chrome-42
So it might happen that somehow you are skipping the push notification though you got a push message from GCM and you are getting a push notification with some default message like "This site has been updated in the background".
Hope this helps!
I'm working on a project that respond to users by sending SMS for their request.
Right now I use telerivet for forwarding the SMS to my back end.
I want to know whether I can use GCM to send SMS notification.
Just to add to what #Nilesh already said, you can actually check if a certain app would provide SMS services. Simply look into the uses-permissions in its manifest.
As you can see in the required components of the GCM manifest, it does not require SEND_SMS or RECEIVE_SMS permissions, which you would have needed to support sending or receiving SMS, respectively.
I'm creating an instant messaging application. imagine something like skype or yahoo messenger.
Now our server only sends push notification(for new messages) on when the app is on background/multitasked/minimized. But sometimes the server fails to detect that our app is on background, so sometimes it doesn't send push notification even if the app is on background.
Now I'm thinking that our server should just always send push notifications to device even if it is in foreground(so all messages will have a push notif), but we won't show it(the apns) when in foreground. This way, the server won't need to detect if the app is on background or not.
Do you think it's okay, or there will be a sideeffect of always sending apns, you see, if you are chatting whole day on foreground, the client will receive apns but won't show it?
No problem to send lots of notification without reading it, if the payload is different.
You are not forced to show notifications with an alert when a notification is received in foreground.
I am working on an iPhone application and I was wondering if I can send a command from my server to activate my application, at which point my app would contact the server with my payload.
You could send a notification to your app saying there are changes.
If the user decides to start of the app as a result of the notification, you could then check for the payload.
You can't automatically start the app with APS though.