0

我正在尝试向我的网络应用程序实施推送通知。可悲的是,我一开始就在挣扎。虽然我在 Firefox 上取得了良好的开端,但 Chrome 错误“提供的应用程序服务器密钥不是 VAPID 密钥。将来仅支持 VAPID 密钥。有关更多信息,请查看https://crbug.com/979235。” 我尝试了来自不同来源的不同密钥。例如,从https://tools.reactpwa.com/vapid生成的这个密钥有什么问题,我在下面的代码中使用?

function subscribeUserToPush(reg) {
    return getSWRegistration()
    .then(function(registration) {
        const subscribeOptions = {
            userVisibleOnly: true,
            applicationLocalKey: urlBase64ToUint8Array('BAVR1KZoitVgsfJ8ICyp4XE0H4riw8SRIjr26F4TqM7HUrl5f3clkOMLNu_xZkQB__eJ7f_GRmpdC--BZjqmzcA')
        };
    return registration.pushManager.subscribe(subscribeOptions);
    })
    .then(function(pushSubscription) {
        console.log('Received PushSubscription: ', JSON.stringify(pushSubscription));
        return pushSubscription;
    });
}
4

1 回答 1

3

经过数小时的搜索,通过将错误的选项“应用程序本地密钥”更正为正确的版本“应用程序服务器密钥”解决了这个问题。

于 2019-08-08T10:42:12.997 回答