禁用 AutoUpdater 默认通知,或改进它们以使用显示名称而不是 AppID 或 system-calculated 名称
Disable AutoUpdater default notifications, or improve them to use display names instead of AppID or system-calculated names
ElectronNET AutoUpdater 似乎正在向 Windows 发布我没有要求的通知。除了我确实要求的那些,我现在有重复的(从我的质量检查人员的角度来看)。
更糟糕的是,默认消息使用内部 AppId,而不是看起来不专业的 App 显示名称。
请原谅这些删改,但请注意以下几点:
- Outlook 显示组标题和图标;我似乎无法用 ElectronNET 复制它,它总是显示某种内部计算的名称,而不是我在任何配置中的任何地方指定的名称。 MS Teams 和 Slack 都很好地显示,所以它在 Electron 中一定是可能的。
- 上午9点40的第一条消息是我的,活动期间提出
ElectronNET.API.Electron.AutoUpdater.OnUpdateDownloaded
;第二个“新更新已准备好安装”似乎来自 ElectronNET 本身,潜台词包括 AppID 而不是应用程序的显示名称。
有谁知道如何克服这些限制?
如果需要的话,我很乐意分叉 ElectronNET cli 并覆盖一些构建过程,但这些似乎对整个平台来说是相当明显的需求。
也许我只是错过了文档中的某些内容?
回答我自己的问题,因为我已经提取并解决了 ElectronNET 代码。
有两个 API 用于检查更新:
Electron.AutoUpdater.CheckForUpdatesAsync()
和
Electron.AutoUpdater.CheckForUpdatesAndNotifyAsync()
后者中有一个NotificationOptions
对象,可以发送到pure-Electron端来设置通知的内容。在 ElectronNET 桥中,API 不接受选项参数,因此显示来自 Electron 的默认消息。
此处的解决方法是改为调用 CheckForUpdatesAsync()
方法并制作您自己的通知,您可以将其附加到 OnUpdateDownloaded
事件。下面的例子:
var timer = new Timer( 60_000 ) { AutoReset = true, Enabled = true };
timer.Elapsed += ( _, _ ) => Electron.AutoUpdater.CheckForUpdatesAsync();
Electron.AutoUpdater.OnUpdateDownloaded += upd =>
Electron.Notification.Show(
new NotificationOptions(
"My App",
"A new version is available. Restart to install."
)
);
ElectronNET AutoUpdater 似乎正在向 Windows 发布我没有要求的通知。除了我确实要求的那些,我现在有重复的(从我的质量检查人员的角度来看)。
更糟糕的是,默认消息使用内部 AppId,而不是看起来不专业的 App 显示名称。
请原谅这些删改,但请注意以下几点:
- Outlook 显示组标题和图标;我似乎无法用 ElectronNET 复制它,它总是显示某种内部计算的名称,而不是我在任何配置中的任何地方指定的名称。 MS Teams 和 Slack 都很好地显示,所以它在 Electron 中一定是可能的。
- 上午9点40的第一条消息是我的,活动期间提出
ElectronNET.API.Electron.AutoUpdater.OnUpdateDownloaded
;第二个“新更新已准备好安装”似乎来自 ElectronNET 本身,潜台词包括 AppID 而不是应用程序的显示名称。
有谁知道如何克服这些限制? 如果需要的话,我很乐意分叉 ElectronNET cli 并覆盖一些构建过程,但这些似乎对整个平台来说是相当明显的需求。
也许我只是错过了文档中的某些内容?
回答我自己的问题,因为我已经提取并解决了 ElectronNET 代码。
有两个 API 用于检查更新:
Electron.AutoUpdater.CheckForUpdatesAsync()
和
Electron.AutoUpdater.CheckForUpdatesAndNotifyAsync()
后者中有一个NotificationOptions
对象,可以发送到pure-Electron端来设置通知的内容。在 ElectronNET 桥中,API 不接受选项参数,因此显示来自 Electron 的默认消息。
此处的解决方法是改为调用 CheckForUpdatesAsync()
方法并制作您自己的通知,您可以将其附加到 OnUpdateDownloaded
事件。下面的例子:
var timer = new Timer( 60_000 ) { AutoReset = true, Enabled = true };
timer.Elapsed += ( _, _ ) => Electron.AutoUpdater.CheckForUpdatesAsync();
Electron.AutoUpdater.OnUpdateDownloaded += upd =>
Electron.Notification.Show(
new NotificationOptions(
"My App",
"A new version is available. Restart to install."
)
);