Javascript 如何在本地测试firebase onCall()?

Javascript 如何在本地测试firebase onCall()?,javascript,firebase,google-cloud-functions,Javascript,Firebase,Google Cloud Functions,我正在尝试使用firebase作为我的android应用程序的后端。 但在这个早期阶段,部署到谷歌服务器并测试每一项新功能和每一个补丁都太慢了 我想知道是否可以在本地运行它,这样我的android应用程序就可以在localhost:port上调用onCall()函数 我找到了一些.usefunctionsemigator(“”); 但是我不确定我需要什么导入,以及如何准确启动本地“服务器”我刚刚测试了它,我遇到了同样的问题,但没有找到解决方法,因为我想我使用的是过时的信息 那么,我在REACT应

我正在尝试使用firebase作为我的android应用程序的后端。 但在这个早期阶段,部署到谷歌服务器并测试每一项新功能和每一个补丁都太慢了

我想知道是否可以在本地运行它,这样我的android应用程序就可以在localhost:port上调用onCall()函数

我找到了一些.usefunctionsemigator(“”);
但是我不确定我需要什么导入,以及如何准确启动本地“服务器”

我刚刚测试了它,我遇到了同样的问题,但没有找到解决方法,因为我想我使用的是过时的信息

那么,我在REACT应用程序中做了什么

在使用config初始化firebase应用程序后,我添加了这一行:

app.functions().useFunctionsEmulator('http://localhost:5000')
我使用“firebase serve”命令启动本地模拟过程

请注意,5000是默认端口,您可以通过添加--port xxxx来更改它,其中xxxx是端口号

对于Android,该功能在文档中有明确说明,因此我想它也应该可以工作:

然后,如果您要在设备上进行测试,这意味着不是您的开发机器,那么它将不是本地主机,而是您机器的地址,或者您可以使用ngrok重定向端口并使用它们提供给您的临时链接。

您正在寻找:

  firebase.initializeApp(config);
  firebase.functions().useFunctionsEmulator('http://localhost:5001')

更改
'http://localhost:5001“
设置为当您使用
firebase仿真器:启动
检查日志消息,查看云功能运行的位置,例如
Functions:Emulator启动于http://localhost:5001
。 您可以使用
firebase.functions().useFunctionsEmulator()访问并调用您的函数http://localhost:5001)

如果您在真实设备上进行测试,则必须将localhost替换为 假定PC+设备连接到同一网络,则您的PC的IP地址为

如果您在Android Studio的设备模拟器上进行测试,则必须更换 具有10.0.2.2的localhost,因为localhost会将仿真器指向自己的仿真器 本地主机地址,而不是您电脑的地址


这对我起了作用

这目前不受支持。您必须使用CLI部署函数或在仿真器中测试它。Doug,您想要什么仿真器?请给我一些链接,我可以在其中阅读有关firebase emulator和运行firebase应用程序的信息?Simon,目前我正在初始化我的firebase应用程序,如下所示:functions=require('firebase-functions');admin=require('firebase-admin');const app=admin.initializeApp();在app下没有这样的方法。因为您声明functions=require。。。这个方法将在函数上使用。@SimonCadieux你能更清楚地解释一下吗?我也有同样的问题