Android模拟器无法调用Firebase本地HTTP型Cloud Function怎么办?
解决React Native Android模拟器调用Firebase HTTP云函数模拟器的问题
替换环回地址:Android模拟器的
127.0.0.1指向模拟器自身,而非运行Firebase模拟器的主机。需将请求URL中的127.0.0.1替换为Android模拟器默认的主机映射地址10.0.2.2(若使用Genymotion模拟器则替换为10.0.3.2)。修改后的fetch URL应为:`http://10.0.2.2:5001/dev-vg/us-central1/myapi/alarms/new`修复请求Body格式:
fetch的body参数需传入JSON字符串,而非直接传入对象。将原代码中的body: { alarm }改为:body: JSON.stringify({ alarm })确认网络权限:检查Android项目的
AndroidManifest.xml文件,确保已添加网络权限:<uses-permission android:name="android.permission.INTERNET" />校验函数路由与请求方法:确认你的HTTP云函数
onRequest配置的路由和请求方法与客户端调用匹配。例如,若函数使用Express框架,需确保存在对应POST路由:app.post('/alarms/new', (req, res) => { // 函数逻辑 });
内容的提问来源于stack exchange,提问作者Varun Gupta
相关产品推荐
相关产品推荐

