chatify_uploader_firebase_storage 0.0.3 copy "chatify_uploader_firebase_storage: ^0.0.3" to clipboard
chatify_uploader_firebase_storage: ^0.0.3 copied to clipboard

Chatify's firebase storage implementation for uploading files and messages.

Chatify Uploader - Firebase Storage #

Firebase Storage implementation of Chatify's AttachmentUploader for uploading message attachments to Google Cloud Storage via firebase_storage.

Installation #

Add the dependency:

flutter pub add chatify_uploader_firebase_storage

Then configure Firebase in your app (GoogleService-Info.plist / google-services.json) and initialize Firebase before using Chatify.

Usage #

Provide the Firebase uploader to Chatify via Chatify.init using the uploaderFactory parameter.

import 'package:flutter/widgets.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:chatify/chatify.dart';
import 'package:chatify_uploader_firebase_storage/chatify_uploader_firebase_storage.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();

  await Chatify.init(
    currentUser: currentUser, // Your implementation of User
    chatRepo: chatRepo, // Your ChatRepo implementation
    messageRepoFactory: (chat) => messageRepoFor(chat), // Your MessageRepo factory
    uploaderFactory: (attachment) => FirebaseStorageUploader(attachment: attachment),
    messageProviders: [
      // Your MessageProviders
    ],
  );

  runApp(MyApp());
}

The uploader builds a storage path like: chatify/{chatId}/{storageFolder}/{fileName} and uploads attachment.bytes, emitting progress via getTaskStream and returning the public download URL upon completion.

API #

FirebaseStorageUploader implements Chatify's AttachmentUploader:

  • FirebaseStorageUploader({ required Attachment attachment })
  • Future<UploadResult> upload() – resolves with UploadResult(url, isCanceled)
  • Stream<TaskProgress> get getTaskStream – progress and task state
  • void cancel() – cancels the underlying upload task

Notes #

  • Ensure proper Firebase rules and security are configured for your Storage bucket.
  • The package does not initialize Firebase for you; call Firebase.initializeApp() before Chatify.init.
0
likes
140
points
14
downloads

Publisher

unverified uploader

Weekly Downloads

Chatify's firebase storage implementation for uploading files and messages.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

chatify, firebase_storage, flutter

More

Packages that depend on chatify_uploader_firebase_storage