{"id":27657104,"url":"https://github.com/sendbird/sendbird-uikit-flutter","last_synced_at":"2026-02-12T09:08:09.918Z","repository":{"id":244344033,"uuid":"814420464","full_name":"sendbird/sendbird-uikit-flutter","owner":"sendbird","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-16T02:15:34.000Z","size":168,"stargazers_count":1,"open_issues_count":1,"forks_count":12,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-01-17T07:01:47.637Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sendbird.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-06-13T01:38:26.000Z","updated_at":"2026-01-16T02:13:18.000Z","dependencies_parsed_at":"2025-01-02T02:53:29.785Z","dependency_job_id":"4bb16e09-8d0b-48fe-acdd-347d4571042a","html_url":"https://github.com/sendbird/sendbird-uikit-flutter","commit_stats":null,"previous_names":["sendbird/sendbird-uikit-flutter"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/sendbird/sendbird-uikit-flutter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sendbird%2Fsendbird-uikit-flutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sendbird%2Fsendbird-uikit-flutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sendbird%2Fsendbird-uikit-flutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sendbird%2Fsendbird-uikit-flutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sendbird","download_url":"https://codeload.github.com/sendbird/sendbird-uikit-flutter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sendbird%2Fsendbird-uikit-flutter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29362217,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-24T06:54:25.689Z","updated_at":"2026-02-12T09:08:09.913Z","avatar_url":"https://github.com/sendbird.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Sendbird](https://sendbird.com) UIKit for Flutter\n\n[![Platform](https://img.shields.io/badge/platform-flutter-blue)](https://flutter.dev/)\n[![Language](https://img.shields.io/badge/language-dart-blue)](https://dart.dev/)\n\nSendbird UIKit for Flutter is a set of prebuilt UI components that allows you to easily craft an in-app chat with all the essential messaging features. Our development kit includes light and dark themes, fonts, colors and more. You can customize these components to create an interactive messaging interface unique to your brand identity.\n\nSendbird UIKit supports only group channels currently. Follow the guide below to start sending a message from scratch.\n\n## Requirements\n\nThe minimum requirements for UIKit for Flutter are:\n\n- Dart 3.3.0 or later\n- Flutter 3.19.0 or later\n\n\u003e **Note**: To support apple privacy manifest, add the contents of the `ios/Resources/PrivacyInfo.xcprivacy` file to the project’s `PrivacyInfo.xcprivacy`.\n\n## Get started\n\nYou can start building a messaging experience in your app by installing Sendbird UIKit.\n\n\u003e **Note**: The quickest way to get started is by using the sample app from the [sample repo](https://github.com/sendbird/sendbird-uikit-sample-flutter).\n\n### **Step 1** Create a Sendbird application from your dashboard\n\nYou need to create a Sendbird application on the [Sendbird Dashboard](https://dashboard.sendbird.com). You will need the App ID of your Sendbird application when initializing Sendbird UIKit.\n\n\u003e **Note**: Each Sendbird application can be integrated with a single client app. Within the same application, users can communicate with each other across all platforms, whether they are on mobile devices or on the web.\n\n### **Step 2** Create a project\n\nCreate a new flutter project.\n\n### **Step 3** Install UIKit\n\nAdd following dependencies and fonts for `SendbirdIcons` in `pubspec.yaml`.\n\n```yaml\ndependencies:\n  sendbird_uikit: ^1.4.1\n  sendbird_chat_sdk: ^4.9.0\n\nflutter:\n  fonts:\n    - family: SendbirdIcons\n      fonts:\n        - asset: packages/sendbird_uikit/fonts/SendbirdIcons.ttf\n```\n\nRun `flutter pub get` command in your project directory.\n\n### **Step 4** Initialize UIKit\n\nYou have to call `SendbirdUIKit.init()`, `SendbirdUIKit.connect()` and `SendbirdUIKit.provider()` before using UIKit.\n\n```dart\nimport 'package:flutter/material.dart';\nimport 'package:sendbird_uikit/sendbird_uikit.dart';\n\nvoid main() async {\n  WidgetsFlutterBinding.ensureInitialized();\n\n  await SendbirdUIKit.init(appId: 'YOUR_APP_ID');\n  await SendbirdUIKit.connect('YOUR_USER_ID');\n\n  runApp(const MyApp());\n}\n```\n\n### **Step 5** Apply UIKit screens\n\nYou can easily add `SBUGroupChannelListScreen`, `SBUGroupChannelCreateScreen` and `SBUGroupChannelScreen`. The main customizable classes are `SBUGroupChannelListScreen` and `SBUGroupChannelScreen`.\n\n```dart\nclass MyApp extends StatelessWidget {\n  const MyApp({super.key});\n\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      debugShowCheckedModeBanner: false,\n      builder: (context, child) {\n        return SendbirdUIKit.provider(\n          child: Navigator(\n            onGenerateRoute: (settings) =\u003e MaterialPageRoute(\n              builder: (context) =\u003e child!,\n            ),\n          ),\n        );\n      },\n      home: const HomeScreen(), // Separate screen widget\n    );\n  }\n}\n\nclass HomeScreen extends StatelessWidget {\n  const HomeScreen({super.key});\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      body: SafeArea(\n        child: SBUGroupChannelListScreen(\n          onCreateButtonClicked: () {\n            moveToGroupChannelCreateScreen(context);\n          },\n          onListItemClicked: (channel) {\n            moveToGroupChannelScreen(context, channel.channelUrl);\n          },\n        ),\n      ),\n    );\n  }\n\n  void moveToGroupChannelCreateScreen(BuildContext context) {\n    Navigator.push(\n      context,\n      MaterialPageRoute(\n        builder: (context) =\u003e Scaffold(\n          body: SafeArea(\n            child: SBUGroupChannelCreateScreen(\n              onChannelCreated: (channel) {\n                moveToGroupChannelScreen(context, channel.channelUrl);\n              },\n            ),\n          ),\n        ),\n      ),\n    );\n  }\n\n  void moveToGroupChannelScreen(BuildContext context, String channelUrl) {\n    Navigator.push(\n      context,\n      MaterialPageRoute(\n        builder: (context) =\u003e Scaffold(\n          body: SafeArea(\n            child: SBUGroupChannelScreen(\n              channelUrl: channelUrl,\n            ),\n          ),\n        ),\n      ),\n    );\n  }\n}\n```\n\n### **Step 6** Send your first message\n\nYou can now run the application on an emulator or a plugged-in device. To send a message, you must first create a group channel by clicking on the icon in the top-right corner. Then, you can select users you wish to invite as members to your channel. Once the channel has been created, type your first message and press send. You've successfully sent your first message with Sendbird.\n\n## Customizations\n\nIn the customizations section, we introduce ways to apply customization across the entire Sendbird UIKit for Flutter, as well as specific customization options for individual screens.\n\n### Resource customization\n\n- `SBUThemeProvider`\n- `SBUStringProvider`\n- `SBUColors`\n- `SBUIcons`\n\n### Screen customization\n\n- `SBUGroupChannelListScreen`\n  - `SBUGroupChannelCreateScreen`\n- `SBUGroupChannelScreen`\n  - `SBUGroupChannelInformationScreen`\n  - `SBUGroupChannelMembersScreen`\n    - `SBUGroupChannelInviteScreen`\n  - `SBUGroupChannelModerationsScreen`\n    - `SBUGroupChannelOperatorScreen`\n    - `SBUGroupChannelMutedMembersScreen`\n    - `SBUGroupChannelBannedUsersScreen`\n- `SBUGroupChannelSettingsScreen`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsendbird%2Fsendbird-uikit-flutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsendbird%2Fsendbird-uikit-flutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsendbird%2Fsendbird-uikit-flutter/lists"}