无法在本地主机上测试 firebase 消息传递

问题描述 投票:0回答:1

我试图从 firebase/messaging 获取令牌以在通知中使用,但收到“messaging/unsupported-browser”错误(FirebaseError:Messaging:此浏览器不支持使用 Firebase SDK 所需的 API。)。我见过有人在 localhost 上运行它,并且在 stackoverflow 上看到过答案说你可以通过 HTTPS 运行它,但也可以在 localhost 上运行它。但如何呢?

import { initializeApp, getApps, getApp } from "firebase/app";
import { getMessaging, getToken } from "firebase/messaging";

const firebaseConfig = {
  apiKey: process.env.FIREBASE_APIKEY,
  authDomain: process.env.FIREBASE_AUTHDOMAIN,
  projectId: process.env.FIREBASE_PROJECTID,
  storageBucket: process.env.FIREBASE_STORAGEBUCKET,
  messagingSenderId: process.env.FIREBASE_MESSAGINGSENDERID,
  appId: process.env.FIREBASE_APPID,
  measurementId: process.env.FIREBASE_MEASUREMENTID,
};

const app = !getApps().length ? initializeApp(firebaseConfig) : getApp();

const messaging = getMessaging(app);

export const generateToken = async () => {
  const token = await getToken(messaging);
  console.log(token);
};

我尝试将端口更改为 80,但没有任何变化(正如我预期的那样)。我正在使用 nextjs^14.1.0 和 firebase^10.11.0.

javascript reactjs firebase next.js firebase-cloud-messaging
1个回答
0
投票

所以,如果这确实是一个 https 错误,那么你可以使用类似 ngrok 的东西为你的本地环境创建一个 https url,这是我想说的最简单的方法,否则你需要在本地安装证书。

https://ngrok.com/download

查看文档,如果有任何问题请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.