Я делал приложение для веб-чата с firebase.Все хорошо, включая уведомление, но уведомление отображается только в течение 5 секунд.Я хочу увеличить продолжительность показа уведомлений.
В этом примерах есть функция requireInteraction , но эта функция не увеличивает продолжительность показа, нозапретить скрытие уведомления.
Вот мой код
Notification.requestPermission().then(function(permission) {
if (permission === 'granted') {
var config = {
apiKey: "apikey",
messagingSenderId: "senderid",
}
firebase.initializeApp(config)
const messaging = firebase.messaging();
messaging.usePublicVapidKey('PublicVapidKey');
messaging.getToken().then(function(currentToken) {
if (currentToken) {
doFCMReg(currentToken)
} else {
console.log('No Instance ID token available. Request permission to generate one.')
}
}).catch(function(err) {
console.log('An error occurred while retrieving token. ', err)
})
messaging.onTokenRefresh(function() {
messaging.getToken().then(function(refreshedToken) {
doFCMReg(token)
}).catch(function(err) {
console.log('Unable to retrieve refreshed token ', err)
})
})
messaging.onMessage(function(payload) {
var n = payload['notification']
var d = payload['data']
var not = new Notification("??? \n"+xad(n['body']), { icon: "assets/icon/png/SST-icon-512.png", tag: "" })
switch(d['type']) {
case "newchat":
getInvitation()
refreshChat(xad(d['phoneSender']), xad(d['invitationId']))
var target = xad(localStorage.phone)==xad(d['phoneSender']) ? xad(d['phoneReceiver']) : xad(d['phoneSender'])
not.onclick = function() {
if(localStorage.currentPage!='page-chat') {
switchFragment('#page-chat', 'Chats')
}
$('#invitation-'+target).trigger('click')
}
break
case "newcontact":
getContacts()
not.onclick = function() {
if(localStorage.currentPage!='page-contact') {
switchFragment('#page-contact', 'Contacts')
}
$( '#btn-request').trigger('click')
$(".contact[data-phone='"+d['senderPhone']+"']").trigger('click')
}
break
}
})
} else {
alert("SST needs Notifications to be allowed to enable push notification.")
}
})
Есть ли способ продлить продолжительность шоу?