Интеграция Supabase во Flutter: пошаговое руководство

В этом руководстве вы узнаете, как интегрировать Supabase во Flutter, серверную службу, которая предоставляет данные в реальном времени, аутентификацию и хранилище для ваших приложений Flutter.

Предварительные условия

Прежде чем начать, убедитесь, что у вас есть следующее:

  • Базовые знания Flutter и Dart.
  • Настройка среды Flutter
  • Учетная запись Supabase (создайте ее на сайте Supabase.io)

Шаг 1. Настройка проекта Supabase

  • Создайте новый проект в Supabase.
  • Запишите API URL и anon key, которые будут использоваться в приложении Flutter.
// Example of API URL and anon key (not real credentials)
const String supabaseUrl = 'https://yourproject.supabase.co';
const String supabaseAnonKey = 'your-anon-key';

Шаг 2. Интеграция Supabase во Flutter

  1. Добавьте Supabase в свой pubspec.yaml:
dependencies:
  flutter:
    sdk: flutter
  supabase_flutter: ^0.2.8
  1. Инициализируйте Supabase в основном файле Dart:
import 'package:supabase_flutter/supabase_flutter.dart';

void main() {
  Supabase.initialize(
    url: supabaseUrl,
    anonKey: supabaseAnonKey,
  );
  runApp(MyApp());
}

Шаг 3. Реализация аутентификации

Supabase предоставляет простые в реализации функции аутентификации.

Зарегистрируйте нового пользователя

Future<void> signUpUser(String email, String password) async {
  final response = await Supabase.instance.client.auth.signUp(email, password);
  if (response.error == null) {
    // Handle success
  } else {
    // Handle error
  }
}

Войти существующего пользователя

Future<void> signInUser(String email, String password) async {
  final response = await Supabase.instance.client.auth.signIn(email: email, password: password);
  if (response.error == null) {
    // Handle success
  } else {
    // Handle error
  }
}

Шаг 4: Работа с базой данных

База данных Supabase, работающая в реальном времени, позволяет с легкостью выполнять операции CRUD.

Создать запись

Future<void> addData() async {
  final response = await Supabase.instance.client
      .from('your_table')
      .insert({'key': 'value'})
      .execute();
  if (response.error == null) {
    // Handle success
  } else {
    // Handle error
  }
}

Получить данные

Future<void> fetchData() async {
  final response = await Supabase.instance.client
      .from('your_table')
      .select()
      .execute();
  if (response.error == null) {
    // Handle data
  } else {
    // Handle error
  }
}

Шаг 5. Использование функций супабазы

Функции Supabase — это бессерверные функции, которые могут запускаться HTTP-запросами.

Future<void> callFunction() async {
  final response = await Supabase.instance.client
      .rpc('function_name', params: {'param1': 'value'})
      .execute();
  if (response.error == null) {
    // Handle success
  } else {
    // Handle error
  }
}

#flutter 

Интеграция Supabase во Flutter: пошаговое руководство
1.45 GEEK