flutter如何集成supabase_flutter

我在Flutter项目中使用supabase_flutter时遇到了一些问题。按照官方文档集成后,初始化总是失败,提示认证错误。请问具体应该如何正确配置Supabase的URL和anon key?还需要在Android和iOS端做哪些额外设置吗?能否提供一个完整的集成示例代码?

2 回复

pubspec.yaml 中添加依赖:

dependencies:
  supabase_flutter: ^2.0.0

运行 flutter pub get,然后在 main.dart 中初始化:

await Supabase.initialize(
  url: 'YOUR_SUPABASE_URL',
  anonKey: 'YOUR_SUPABASE_ANON_KEY',
);

更多关于flutter如何集成supabase_flutter的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 中集成 supabase_flutter 的步骤如下:

1. 添加依赖

pubspec.yaml 文件的 dependencies 部分添加:

dependencies:
  supabase_flutter: ^2.0.0

然后运行 flutter pub get 安装包。

2. 初始化 Supabase

main.dart 中初始化 Supabase:

import 'package:supabase_flutter/supabase_flutter.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  await Supabase.initialize(
    url: 'YOUR_SUPABASE_URL',
    anonKey: 'YOUR_SUPABASE_ANON_KEY',
  );
  
  runApp(MyApp());
}

3. 使用 Supabase 客户端

在需要的地方通过 Supabase.instance.client 访问:

final supabase = Supabase.instance.client;

// 示例:查询数据
var data = await supabase
    .from('your_table')
    .select()
    .execute();

// 示例:插入数据
await supabase
    .from('your_table')
    .insert({'column': 'value'});

4. 认证功能(可选)

支持邮箱/密码、第三方登录等:

// 注册
await supabase.auth.signUp(
  email: 'user@example.com',
  password: 'password',
);

// 登录
await supabase.auth.signInWithPassword(
  email: 'user@example.com',
  password: 'password',
);

5. 实时订阅(可选)

监听数据变化:

supabase
    .from('your_table')
    .stream(primaryKey: ['id'])
    .listen((data) {
      print('数据更新: $data');
    });

注意事项:

  • 从 Supabase 项目设置中获取 URL 和 anonKey。
  • 处理错误时使用 try-catch。
  • 可配置深度链接用于第三方登录回调。

这样即可快速集成 Supabase 到 Flutter 项目中,实现数据操作、用户认证和实时更新功能。

回到顶部