Atualizar uma extensão do Chrome do Manifest V2 para o Manifest V3 é uma etapa crítica para os desenvolvedores, já que o Google descontinuou o suporte para o Manifest V2. Neste artigo, percorreremos o processo de atualização de uma extensão Pomodoro Timer, originalmente construída com Manifest V2, para o padrão Manifest V3 mais recente.
Eu tinha uma extensão do Pomodoro Timer que fiz há 4 anos por nada e recebi uma notificação do Google de que precisava atualizar o Manifest.
A versão original do meu Pomodoro Timer foi algo que eu mesmo projetei, com um rugido do T-Rex como notificação de fim de ciclo?. Foi peculiar e divertido, fiquei até surpreso ao ver 24 pessoas usando.
Era assim que parecia:
Minha esposa recentemente começou a aprender design e como preciso atualizar o Manifest, pedi a ela para atualizar o design. O resultado está no final do artigo. Spoiler: acho que ficou ótimo.
O Manifest V3 introduz várias mudanças importantes destinadas a melhorar a privacidade, a segurança e o desempenho nas extensões do Chrome. Essas mudanças incluem:
Antes de mergulhar na atualização, é importante entender as principais mudanças entre o Manifesto V2 e V3:
Veja como você atualizaria o arquivo manifest.json de V2 para V3 para uma extensão Pomodoro Timer:
Exemplo de manifesto original V2:
{ "name": "Pomodoro Clock", "version": "1.1.0", "description": "Simple background timer for productivity", "manifest_version": 2, "permissions": ["storage"], "browser_action": { "default_popup": "popup.html", "default_icon": { "16": "img/tomato16.png", "32": "img/tomato32.png", "48": "img/tomato48.png", "128": "img/tomato128.png" } }, "icons": { "16": "img/tomato16.png", "32": "img/tomato32.png", "48": "img/tomato48.png", "128": "img/tomato128.png" }, "background": { "scripts": ["background.js"] }, "options_page": "options.html" }
Exemplo de manifesto V3 atualizado:
{ "name": "Pomodoro Timer & Focus Clock", "version": "2.0.1", "description": "Boost productivity with this simple Pomodoro timer. Focus on tasks, minimize distractions, and manage your time effectively.", "manifest_version": 3, "permissions": ["storage","notifications","alarms"], "action": { "default_popup": "popup.html", "default_icon": { "16": "img/tomato16.png", "32": "img/tomato32.png", "48": "img/tomato48.png", "128": "img/tomato128.png" } }, "icons": { "16": "img/tomato16.png", "32": "img/tomato32.png", "48": "img/tomato48.png", "128": "img/tomato128.png" }, "background": { "service_worker": "background.js" } }
Principais alterações no manifesto:
Roteiro de fundo:
Na V3, os scripts em segundo plano são substituídos por service workers. Os prestadores de serviço só funcionam quando necessário, melhorando a eficiência dos recursos.
Ação versus ação do navegador:
browser_action foi substituído por action, que consolida a funcionalidade e simplifica o manifesto.
Minha extensão usou um setInterval() simples em segundo plano, com service worker esse comportamento não funcionará, porque para economizar recursos do navegador ele é executado apenas quando necessário.
No meu caso, tive que modificar o cronômetro e armazenar o carimbo de data e hora no armazenamento, usar alarmes para agendar a execução do código de acionamento do chamador de notificação.
E, claro, usei as notificações integradas do Chrome para enviar notificações e se livrar da irritante traseira do t-rex. Se eu for lido pelos primeiros usuários da minha extensão, sinto muito por isso?
Não haverá um exemplo de código aqui porque é muito específico.
Aqui está o resultado. Eu acho que é muito legal. Minimalista e fácil de usar
A atualização não foi tão difícil, o principal é entender a diferença entre um script de segundo plano antigo e um service worker, mas tome cuidado com os Alarmes, até consegui travar o Chrome algumas vezes durante o teste?
Sinta-se à vontade para experimentar a extensão Pomodoro Timer & Focus Clock atualizada e boa sorte ao atualizar a sua!
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3