Я все время искал, как реализовать функции firebase с помощью приложения для флаттера. Похоже, что нет доступного SDK (пока). Я также попытался добавить зависимость gradle implementation 'com.google.firebase:firebase-functions:15.0.0'
к своему app/build.gradle
, но это вызывает ошибки сборки.
Кто-нибудь сделал реализацию, которая работает? Я не могу найти какую-либо документацию о том, как обрабатывать учетные данные и транспортировку данных, чтобы создать свой собственный вызов функций Firebase.
Я создал грубую схему того, как, по моему мнению, это должно работать, но, возможно, это далеко от основы.
Future<dynamic> updateProfile(String uid, AccountMasterViewModel avm) async {
Uri uri = Uri.parse(finalizeProfileFunctionURL);
var httpClient = new HttpClient();
String _result = '';
try {
return await httpClient
.postUrl(uri)
.then((HttpClientRequest request) {
return request.close();
// authentication??
// Fields and data??
})
.then((HttpClientResponse response) async {
print(response.transform(new Utf8Codec().decoder).join());
if (response.statusCode == HttpStatus.OK) {
String json = await response.transform(new Utf8Codec().decoder).join();
_result = jsonDecode(json);
// Do some work
return json;
}
else {
return ':\nHttp status ${response.statusCode}';
}
});
}
catch (exception) {
return 'Failed ' + exception.toString();
}
}
Я бы хотел иметь возможность отправить объект, например
{
accountID: src.accountID,
accountName: src.name,
accountImg: src.image
}
, а затем обработайте ответ. Но, как я уже сказал, я не могу найти какие-либо рабочие примеры или учебники о том, как это сделать. Сделать размер клиента и общаться напрямую с базой данных довольно просто, однако существуют проверки и компоненты данных, которые необходимо скрыть от клиента, поэтому я хотел бы сделать это с помощью облачных функций.