React Native firebase仿真器与真实的设备

bvjveswy  于 2023-08-07  发布在  React
关注(0)|答案(2)|浏览(118)

我正在开发一个react-native应用程序。我想在真实的设备上测试我的代码。有人在真实的iPhone/android设备上试过firebase模拟器吗?在我的例子中,Firebase模拟器在Android模拟器/iPhone模拟器上工作得很好,但在真实的设备上就不行了。我得到了以下错误。
错误[错误:[auth/network-request-failed]发生网络错误(如超时、连接中断或主机无法访问)。]
提前感谢!!

jhkqcmku

jhkqcmku1#

最后,我能够在真实的设备上运行firebase模拟器。这就是firebase.json的样子。我添加了“主机”:“192.168.1.114”。192.168.1.114是路由器分配给您计算机的IP。

{
  "emulators": {
    "auth": {
      "host":"192.168.1.114",
      "port": 9099
    },
    "functions": {
      "host":"192.168.1.114",
      "port": 5001
    },
    "firestore": {
      "host":"192.168.1.114",
      "port": 8080
    },
    "ui": {
      "enabled": true
    }
  }
}

字符串
修改firebase.json后我分别为auth和firestore添加了以下行。

auth().useEmulator("http://192.168.1.114:9099");
firestore().settings({ host: "192.168.1.114:8080", ssl: false });


经过这些更改后,我能够将数据从真实的设备推送到firebase模拟器。您的计算机和设备应连接到同一网络。

pieyvz9o

pieyvz9o2#

在MacBook上使用Flutter,这是我的工作:

...
  "emulators": {
    "auth": {
      "port": 9099,
      "host": "0.0.0.0"
    },
    "functions": {
      "port": 5001,
      "host": "0.0.0.0"
    },
    "firestore": {
      "port": 8080,
      "host": "0.0.0.0"
    },
    "storage": {
      "port": 9199,
      "host": "0.0.0.0"
    },
    "ui": {
      "enabled": true
    }
  }
...

字符串
然后在我的Flutter应用程序中:

// the ip to my computer
const localHostString = '192.168.1.81';
await FirebaseAuth.instance.useAuthEmulator(localHostString, 9099);
FirebaseFirestore.instance.useFirestoreEmulator(localHostString, 8080);

相关问题