Como configurar o auto update para aplicativos feitos com Electron

Para criar um aplicativo com auto update utilizando Electron, você pode seguir os seguintes passos:

  1. Instale o Electron Builder, que é uma ferramenta que permite criar pacotes para diferentes plataformas a partir do seu aplicativo Electron. Você pode instalá-lo como dependência do seu projeto utilizando o comando:
    npm install electron-builder --save-dev
  2. Adicione o seguinte script à seção scripts do seu arquivo package.json:
"scripts": {
  "pack": "electron-builder --dir",
  "dist": "electron-builder"
}
  1. Crie um arquivo electron-builder.json na raiz do seu projeto e adicione as seguintes configurações:
{
  "productName": "Nome do seu aplicativo",
  "appId": "com.example.app",
  "artifactName": "${productName}-${version}-${platform}.${ext}",
  "directories": {
    "output": "dist"
  },
  "publish": {
    "provider": "github",
    "owner": "seu_nome_de_usuario",
    "repo": "nome_do_repositorio"
  },
  "win": {
    "target": "nsis",
    "icon": "build/icon.ico"
  },
  "nsis": {
    "oneClick": false,
    "allowToChangeInstallationDirectory": true
  },
  "linux": {
    "target": "deb"
  }
}
  1. Adicione a seguinte linha de código no arquivo principal do seu aplicativo (geralmente chamado de main.js) para habilitar o auto update:
const { autoUpdater } = require('electron-updater'); 
autoUpdater.checkForUpdatesAndNotify();
  1. Para criar um pacote para distribuição, basta executar o comando npm run dist. Isso criará um pacote para cada plataforma na pasta dist.
  2. Para distribuir o seu aplicativo, basta fazer o upload do pacote para o repositório GitHub que você especificou nas configurações do electron-builder.json. O Electron Builder irá detectar automaticamente as atualizações e notificar os usuários do seu aplicativo quando uma nova versão estiver disponível.

Observação: É importante lembrar de incrementar a versão do seu aplicativo nas configurações do package.json sempre que fizer uma nova publicação.

Be the first to comment

Leave a Reply

Seu e-mail não será publicado.


*