Electron autoUpdater 模塊

2019-08-14 19:21 更新

這個模塊提供了一個到 Squirrel 自動更新框架的接口。

平臺相關(guān)的提示

雖然 autoUpdater 模塊提供了一套各平臺通用的接口,但是在每個平臺間依然會有一些微小的差異。

OS X

在 OS X 上,autoUpdater 模塊依靠的是內(nèi)置的 Squirrel.Mac,這意味著你不需要依靠其他的設(shè)置就能使用。關(guān)于 更新服務(wù)器的配置,你可以通過閱讀 Server Support 這篇文章來了解。

Windows

在 Windows 上,你必須使用安裝程序?qū)⒛愕膽?yīng)用裝到用戶的計(jì)算機(jī)上,所以比較推薦的方法是用 grunt-electron-installer 這個模塊來自動生成一個 Windows 安裝向?qū)А?/p>

Squirrel 自動生成的安裝向?qū)梢粋€帶 Application User Model ID 的快捷方式。Application User Model ID 的格式是 com.squirrel.PACKAGE_ID.YOUR_EXE_WITHOUT_DOT_EXE, 比如像 com.squirrel.slack.Slack  com.squirrel.code.Code 這樣的。你應(yīng)該在自己的應(yīng)用中使用 app.setAppUserModelId 方法設(shè)置相同的 API,不然 Windows 將不能正確地把你的應(yīng)用固定在任務(wù)欄上。

服務(wù)器端的配置和 OS X 也是不一樣的,你可以閱讀 Squirrel.Windows 這個文檔來獲得詳細(xì)信息。

Linux

Linux 下沒有任何的自動更新支持,所以我們推薦用各個 Linux 發(fā)行版的包管理器來分發(fā)你的應(yīng)用。

事件列表

autoUpdater 對象會觸發(fā)以下的事件:

事件:'error'

返回:

  • error Error

當(dāng)更新發(fā)生錯誤的時(shí)候觸發(fā)。

事件:'checking-for-update'

當(dāng)開始檢查更新的時(shí)候觸發(fā)。

事件:'update-available'

當(dāng)發(fā)現(xiàn)一個可用更新的時(shí)候觸發(fā),更新包下載會自動開始。

事件:'update-not-available'

當(dāng)沒有可用更新的時(shí)候觸發(fā)。

事件:'update-downloaded'

返回:

  • event Event
  • releaseNotes String - 新版本更新公告
  • releaseName String - 新的版本號
  • releaseDate Date - 新版本發(fā)布的日期
  • updateURL String - 更新地址

在更新下載完成的時(shí)候觸發(fā)。

在 Windows 上只有 releaseName 是有效的。

方法列表

autoUpdater 對象有以下的方法:

autoUpdater.setFeedURL(url)

  • url String

設(shè)置檢查更新的 url,并且初始化自動更新。這個 url 一旦設(shè)置就無法更改。

autoUpdater.checkForUpdates()

向服務(wù)端查詢現(xiàn)在是否有可用的更新。在調(diào)用這個方法之前,必須要先調(diào)用 setFeedURL

autoUpdater.quitAndInstall()

在下載完成后,重啟當(dāng)前的應(yīng)用并且安裝更新。這個方法應(yīng)該僅在 update-downloaded 事件觸發(fā)后被調(diào)用。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號