メッセージ付きのプッシュ (フェッチ経由) だけでなく、非表示のプッシュ (つまり、通知をまったく表示しない) を送信して、まだサブスクライブしているユーザーの数とプッシュの受信速度を確認したいと考えています。
このコードを試しました。動作しているように見えますが、一部のデバイスでは「このサイトはバックグラウンドで更新されました」というメッセージが表示され、混乱します。
self.addEventListener('push', function(event) {
event.waitUntil(
fetch(my_awesome_url)
.then(function(response) {
if (response.status !== 200) {
throw new Error('Server code: ' + response.status);
}
return response.json().then(function(data) {
if (typeof data.data !== 'object') return; // invisible push, show nothing
var notificationData = {
body: data.content,
data: data.data,
tag: data.id || Math.random(),
icon: typeof data.data == 'object' ? data.data.image : ''
};
return self.registration.showNotification(data.title, notificationData);
});
})
.catch(function (err) {
})
);
});
ブラウザに何も表示されないようにするにはどうすればよいですか?