Xamarin android AppCenter push messages when offline/app closed - push-notification

We have started using the AppCenter push messaging. Have used the tutorial: https://learn.microsoft.com/en-us/appcenter/sdk/push/android
Works fine when the app is running in the foreground or in the background.
Messages sendt when app is closed of offline is not registered by the app. The app center responds with “202 Accepted”.
The AppCenter FAQ (https://learn.microsoft.com/en-us/appcenter/analytics/faq)
If the app is offline, does the SDK store the logs and then send them
once it is back online?
Yes. If the app is offline, the SDK will store up to 300 logs in
storage. Once the network connectivity is restored, the SDK will send
these logs to the App Center backend.

Related

Issue with Firebase Cloud Messaging

Hello stack overflow community, I'm using the cross- platform FCM (Firebase Cloud Messaging) to send push notifications from my server developed with spring-boot java to my application developed with android studio java. I have an issue which is sometimes I send the push notification from the server and everything is fine (the response i get indicates that the push notification has been sent) but I don't receive it on my mobile app.
I should resend it many times to receive the last notification I sent. And sometimes I must wait almost 15 minutes to receive one notification. I want to know if the problem is with my code or in the server of firebase.

Send push notifications on app install in Flutter

Is it possible to send push notifications on app install in Flutter?
By app install, I mean that a user who has just downloaded the app but not opened it yet.
I'm using flutter_local_notifications to handle notifications on the foreground and firebase handles background notifications.
But both don't seem to help with app install case.
It's impossible task:
There are a few preconditions which must be met before the application can receive message payloads via FCM:
The application must have opened at least once (to allow for
registration with FCM)
.
(c) Firebase Cloud Messaging

How to make video call with IceLink, when the peer app is closed

I have a Xamarin.Forms app. In it, I implemented video chat functionality (that supports iOS and Android) using IceLink. The video chat works when both the caller and the recipient have their apps open. Now I wonder how I can make a call to a device which has the app not open.
For Android
You can send notification by Firebase Cloud Messaging when device do not open, click the notification to open your application, show the video chat page.
If you use a high priority FCM for an app, it will allow that app to run services in the background for a short period of time. This would be a good alternative to having a background service that polls an app in the background:https://learn.microsoft.com/en-us/xamarin/android/app-fundamentals/services/#background-execution-limits-in-android-80
For iOS
You can refer to Jack's reply.
https://stackoverflow.com/a/60001529/10627299

how to enable Firebase Cloud Messaging in an apk published in the play store

I have developed an application using android studio. It is already published in the google play store.
This application uses the Firebase FCM service for push notifications.
During the development stage, this worked perfectly. But since the publication in the play store, the SendMessageNotification function is not executed in the firebase backend (Firebase functions).
I have entered the api key in the console, as shown:
.
However, the service continues without running.
Have I skipped a step?
Have you gone through the firebase launch checklist?
Specifically, have you remembered to add the production certificate for your app as well as the development certificate? From the above page "Add a release SHA1 fingerprint for Android apps in the Firebase console (for OAuth client IDs)."
I don't know if this affects client messaging or not.

Possible to isolate upgrade from GCM/APNS to FCM on the App Server only without updating mobile apps?

My team has 3 iOS apps and and 1 Android app that all receive push-notifications from the same App Server. The Android app is currently using GCM and the iOS apps are currently using APNS without any middleman. We've like to move to FCM by updating the App Server.
Each of our customers has their own instance of the App Server. Since each customer will upgrade their App Server on their own schedule, this means the mobile apps need to be backwards-compatible. In other words, the mobile apps need to be able to receive push-notifications from either the old App Server using GCM/APNS or the new App Server using FCM.
Is it possible to isolate the upgrade from APNS to FCM on the back-end only so that we don't have to upgrade the mobile apps?
In order to answer this question, we think we need to confirm the following:
That the Android apps are already backwards compatible so that they can already receive both GCM or FCM notifications without any SDK upgrade.
That the iOS apps can receive APNS notifications from either APNS or APNS-via-FCM.
That we don't have to integrate the FCM SDK into the iOS apps.
Update: I reached out to Firebase support about this and they confirmed that we can upgrade to FCM for both iOS and Android by doing back-end changes only. FCM is backwards compatible with GCM so the Android apps and their notification tokens will continue to work. As for iOS, when we receive the notification token on our back-end, then we simply convert to FCM token by calling "batchImport" API and using that FCM token instead to send notifications to our iOS devices. We've developed and tested these changes and they are working great in a production environment.

Resources