Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

108
Visualizações
La sincronización en segundo plano del período no se activa después de registrarse correctamente

Estoy tratando de hacer una sincronización de bg periódica donde el trabajador del servicio actualiza la insignia. Cuando ejecuto mi página y la pruebo a través de Chrome DevTools, el trabajador del servicio procesa la solicitud. Pero cuando la página está cerrada, no hace nada. Lo mismo en el teléfono móvil.

En mi página (esta parte funciona y la salida en la consola es periodic update set ):

 navigator.permissions.query({name:'periodic-background-sync'}).then(function(result) { if (result.state === 'granted') { console.log('periodic background granted'); navigator.serviceWorker.ready.then(function(registration){ if ('periodicSync' in registration) { try { registration.periodicSync.register('update-badge', { minInterval: 60 * 60 * 1000, }).then(function(ret){ console.log('periodic update set'); }); } catch (error) { console.log('Periodic background sync cannot be used.'); } } }); } });

Trabajador del servicio:

 async function updateBadge() { const unreadCount = 5; //fixed value for testing navigator.setAppBadge(unreadCount).catch((error) => { console.log('Error setting badge.'); }); } self.addEventListener('periodicsync', (event) => { if (event.tag === 'update-badge') { event.waitUntil(updateBadge()); } });

Entonces, cuando disparo manualmente la sincronización en segundo plano desde DevTools, la insignia se configura, pero no automáticamente en segundo plano como pensé que funcionaría.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

El intervalo específico en el que se activa el evento de sincronización periodicsync varía; lo que he visto en, por ejemplo, las aplicaciones web de Android instaladas es que obtendrá una sincronización periodicsync una vez al día. Puede ser diferente en las plataformas de escritorio (y solo sucederá si su navegador se está ejecutando en ese momento).

¿Ha esperado un día completo más o menos después de instalar su PWA y ver si se dispara?

about 4 years ago · Juan Pablo Isaza Relatório

0

No puedo encontrar nada malo con el código. He visto variantes en las que solicita sincronización de fondo periódica después de navigator.serviceWorker.ready, pero creo que ambas funcionan (especialmente porque puede activar el evento registrado manualmente).

Creo que el problema es que no todas las condiciones para que se active la sincronización periódica en segundo plano son ciertas. Estas son las condiciones de la implementación inicial en Chrome (2019):

  • Chrome versión 80 o posterior
  • El PWA necesita ser instalado
  • El sitio web debe tener una puntuación de compromiso (se puede ver aquí chrome://site-engagement/ ). Los sitios web con 0 participación se eliminan de la lista y no activarán el evento de sincronización periódica, incluso si está instalado. Una vez que un usuario no ha interactuado con un sitio web durante 2 horas, sus niveles de participación comienzan a decaer. Con una participación mínima, se activará un evento de sincronización periódica en un intervalo de 36 horas. fuente

En su caso, creo que su código es correcto y funciona, pero no ha interactuado lo suficiente con su aplicación de forma continua durante 36 horas, por lo que se purga el compromiso y se cancela el temporizador de sincronización periódica (si ha instalado su PWA).

Para el registro, aquí hay una demostración de trabajo completa (registro de eventos) (y código sw ).

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda