Функции эмулятора Firebase и эмулятор Android - PullRequest
1 голос
/ 27 мая 2020

Я новичок в firebase и android в целом, я пытаюсь использовать эмулятор функций firebase и вызывать функцию из моего android эмулированного приложения (пример найден в Интернете), но я получаю соединение error (java. net .ConnectException: не удалось подключиться к localhost / 127.0.0.1: 5001).

Я установил адрес эмулятора на 0.0.0.0:5001 и, похоже, работает нормально. Вот что видно в консоли:

functions [addNumbers]: http функция инициализирована (http://0.0.0.0: 5001 /.....) Скриншот прилагается сюда 1

Файл firebase. json выглядит так:

{  
  "functions": {
  "predeploy": [
  "npm --prefix \"$RESOURCE_DIR\" run lint",
  "npm --prefix \"$RESOURCE_DIR\" run build"
  ] 
},
"emulators": {
"functions": {
  "host": "0.0.0.0",
  "port":5001
  }
}
}

Код android следующий:

mFunctions = FirebaseFunctions.getInstance();
mFunctions.useFunctionsEmulator( "http://localhost:5001" );

И вызов функция выглядит так:

return mFunctions
       .getHttpsCallable("addNumbers")
       .call(data)
       .continueWith(new Continuation<HttpsCallableResult, Integer>() {
       @Override
          public Integer then(@NonNull Task<HttpsCallableResult> task) throws Exception {
          Map<String, Object> result = (Map<String, Object>) task.getResult().getData();
          return (Integer) result.get("operationResult");
       }
});

Если я изменю параметр useFunctionsEmulator и установлю 10.0.2.2:5001, я получу другую ошибку (NOT_FOUND)

...