如何在FCM控制台UI外注册新vapidKey?Web推送令牌生成疑问
更新
正如Gerardo指出的,vapidKey ≠ FCM令牌。
我终于解决了问题,但不确定这是不是最佳方案。
以下是我生成新令牌的代码:
try{ if(currentToken) await deleteToken(messaging,currentToken) if(Notification.permission !== 'granted') await Notification.requestPermission(); currentToken = await getToken(messaging,vapidKey); $.ajax({ type:"GET", url:"/fcm/register-token", data:{token:currentToken}, success:(saved)=>{ if(saved) console.log(saved,' New token registered ',currentToken) else console.log('Unable to save token!') } }) } catch(e){console.log(e)}
问题
我正在用JavaScript测试FCM推送通知,已在FCM控制台UI中手动生成了一个“Web推送证书”(vapidKey),该密钥可用于向单个令牌发送测试通知,但我不清楚其他用户如何向FCM注册新密钥。
我肯定误解了某些基础概念,甚至不知道该搜索什么内容。
// TODO: Find out how to generate new registration token as needed const vapidKey = {vapidKey:"BLgq_6FY0suqAy9llMyYX03o9K9n4FHba1gCnPz6KmG9oh6K8v3Ws4SIG9KTILfN0_8np9PfT5bPqgTDXfCA9dc"}; async function fcm_init(){ try{ // TODO: user interaction for notification permission await Notification.requestPermission() const currentToken = await getToken(messaging,vapidKey); // TODO: Send token to server to save in tbl_fcm console.log(currentToken); } catch(err){ console.log(err); } }fcm_init()
在此示例中,vapidKey是硬编码的,但我该如何在无需手动在FCM控制台UI操作的情况下,为应用中的每个用户获取不同的密钥?

这是我为用户生成令牌的密钥的位置,我希望避免为系统中的每个用户手动执行此操作。
内容的提问来源于stack exchange,提问作者Kyle Berry
相关产品推荐
相关产品推荐

