Firebase messaging push notifications work Desktop and Android web browsers without any problem but when I tested it on IOS devices it doesn't matter which browser I used, notifications and .getToken() method not working. My JavaScript code is that:
if ('Notification' in window) {
var messaging = firebase.messaging();
if (Notification.permission === 'granted') {
subscribe();
}
$('#notify').on('click', function () {
subscribe();
});
}
function subscribe() {
// запрашиваем разрешение на получение уведомлений
messaging.requestPermission()
.then(function () {
// получаем ID устройства
return messaging.getToken()
.then(function (currentToken) {
console.log(currentToken);
if (currentToken) {
sendTokenToServer(currentToken);
} else {
console.warn('Не удалось получить токен.');
setTokenSentToServer(false);
}
})
.catch(function (err) {
console.warn('При получении токена произошла ошибка.', err);
setTokenSentToServer(false);
});
})
.catch(function (err) {
console.warn('Не удалось получить разрешение на показ уведомлений.', err);
});
For Apple client apps, you can receive notification and data payloads up to 4000 bytes over the Firebase Cloud Messaging APNs interface.
FCM doesn't support Safari browser.
'FCM does not work on the iOS simulator, you must test them using a real device. This is a restriction enforced by Apple.
Once your client app is installed on a device, it can receive messages through the FCM APNs interface. You can immediately start sending notifications to user segments with the Notifications composer, or messages built on your application server.
All browsers on iOS are essentially wrappers around WebKit (the browser engine that is used in Safari), so they inherit most of their features and limitations from there. Unfortunately Safari still doesn't support the Web Push API, that is required for Firebase Cloud Messaging.
Also see:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With