PWA Push -уведомления не работают на сафари для iOS (но работая над Android, Web, Mac OS Safari)IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 PWA Push -уведомления не работают на сафари для iOS (но работая над Android, Web, Mac OS Safari)

Сообщение Anonymous »

У меня есть приложение NextJS PWA, и я настроил его с помощью VAPID и Web-Push (NodeJS). Уведомление появляется на всех других устройствах (Android, Web, Mac Safari), но не на iPhone с Safari. < /P>
Дополнительные детали: < /p>

Я пробовал два разных телефона: не работать < /li>
Версия iOS: 17.4 < /li>
Да, я добавил PWA в свой Главный экран < /li>
< /ul>
Странно то, что я получаю событие push. Итак, Worker.js работает нормально. Но проблема в том, когда показывает всплывающее окно, например. Self.Registration.Shownotification. Я пробовал много вещей и застрял с этим. < /P>
Кто -нибудь еще испытал это? Подробная информация о коде ниже < /p>
Вот как настраивается my next.config.js: < /p>

Код: Выделить всё

const isDev = process.env.NODE_ENV === 'development'

const withPWA = require('next-pwa')( {
dest: "public",
sw: "sw.js",
register: true,
skipWaiting: true,
disable: isDev
});

const nextConfig = {
reactStrictMode: true,
};

module.exports = withPWA(nextConfig);

< /code>
Как я настраиваю валистские данные: < /p>
webpush.setVapidDetails(
"mailto:[email protected]",
vapidKeys.publicKey,
vapidKeys.privateKey
);
< /code>
Это то, что выглядит мой рабочий.self.addEventListener("push", async (e) => {
try {
const { message, body, icon } = JSON.parse(e.data.text());

// Notify the main thread to play sound
const clients = await self.clients.matchAll();
clients.forEach(client => {
client.postMessage({
type: 'PLAY_SOUND'
});
});

e.waitUntil(
self.registration.showNotification(message)
);

} catch (error) {
// Send error log to the main thread
self.clients.matchAll().then(clients => {
clients.forEach(client => {
client.postMessage({
type: 'ERROR',
message: `Error in push event: ${error.message}`
});
});
});
}
});

self.addEventListener("notificationclick", (event) => {
event.preventDefault()
event.notification.close();

event.waitUntil(
self.clients.matchAll({
type: "window",
}).then((clientList) => {
for (const client of clientList) {
if (client.url === "/" && "focus" in client)
return client.focus();
}
if (clients.openWindow) return clients.openWindow("/");
})
);
});
< /code>
Я пробовал на двух разных устройствах iPhone. Я пробовал Android (работает), попробовал на Mac OS (работает). < /P>
Я попытался отладить контекст сафари на iOS. Я вижу, что SW.JS загружается должным образом, а журналы консоли работают (оно даже запускает пользовательское событие, которое я использовал для отладки) 
Но я думаю, что проблема заключается в показании показателя 
Что я не могу понять, почему.

Подробнее здесь: https://stackoverflow.com/questions/789 ... roid-web-m
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • PWA Push -уведомления не работают на сафари для iOS (но работая над Android, Web, Mac OS Safari)
    Anonymous » » в форуме IOS
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Push-уведомления PWA не работают в iOS Safari (но работают в Android, Интернете, Mac OS Safari)
    Anonymous » » в форуме IOS
    0 Ответы
    44 Просмотры
    Последнее сообщение Anonymous
  • PWA Web Push ограничения для iOS
    Anonymous » » в форуме IOS
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Flutter Web PWA на iOS 14 продолжает открывать веб-браузер Safari
    Гость » » в форуме IOS
    0 Ответы
    56 Просмотры
    Последнее сообщение Гость
  • URL Flutter PWA получает усечение в загруженной PWA (iOS)
    Anonymous » » в форуме IOS
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»