我正在尝试使用firebase作为android应用程序的后端。但在这个早期阶段,部署到谷歌服务器并测试每一个新功能和每一个修复都太慢了。
我想知道是否可以在本地运行它,这样我的android应用程序就可以在localhost:port上调用onCall((函数?
我找到了一些.useFunctionsSimulator('http://localhost:8080'(;但我不确定我需要什么导入,以及如何启动本地"服务器">
当您用firebase emulators:start
检查日志消息以查看云功能运行的位置,例如functions: Emulator started at http://localhost:5001
。您可以使用firebase.functions().useFunctionsEmulator('http://localhost:5001')
访问然后调用您的函数
如果您在真实设备上测试,则必须将localhost替换为您电脑的IP地址,假设PC+设备连接到同一网络。
如果您在Android Studio的设备Emulator上进行测试,则必须更换localhost与1.0.2.2,因为localhost将Emulator指向自己的localhost地址,而不是您的电脑地址。
这对我有好处。
我刚刚测试过它,我遇到了同样的问题,但没有找到解决方法,因为我想我使用了过时的信息。
所以,我从我的REACT应用做什么
我在用config:初始化firebase应用程序后添加了这一行
app.functions().useFunctionsEmulator('http://localhost:5000')
我使用命令"firebaseserve"来启动本地模拟过程。
请注意,5000是默认端口,您可以通过添加--port xxxx来更改它,其中xxxx是端口号。
对于Android,该功能显然在文档中,所以我想它也应该工作:https://developers.google.com/android/reference/com/google/firebase/functions/FirebaseFunctions
然后,如果你要在设备上测试,也就是说不是你的开发机器,那么它不会是localhost,而是你机器的地址,或者你可以使用ngrok重定向端口并使用他们提供的临时链接。
您正在寻找:
firebase.initializeApp(config);
firebase.functions().useFunctionsEmulator('http://localhost:5001')
将'http://localhost:5001'
更改为在上运行的任何模拟器