Я новичок в 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)