base on πŸ”₯ A collection of Firebase plugins for Flutter apps. <p align="center"> <a href="https://firebase.google.com/docs/flutter"> <img width="250px" src=".github/images/flutterfire_300x.png" alt="Flutter + Firebase logo"><br/> </a> <h1 align="center">FlutterFire</h1> </p> <p align="center"> <a href="https://twitter.com/flutterfiredev"> <img src="https://img.shields.io/twitter/follow/flutterfiredev.svg?colorA=1da1f2&colorB=&label=Follow%20on%20Twitter&style=flat-square" alt="Follow on Twitter" /> </a> <a href="https://github.com/invertase/melos"> <img src="https://img.shields.io/badge/maintained%20with-melos-f700ff.svg?style=flat-square" alt="Maintained with Melos" /> </a> <a href="https://api.securityscorecards.dev/projects/github.com/firebase/flutterfire"> <img src="https://api.securityscorecards.dev/projects/github.com/firebase/flutterfire/badge" alt="OSSF scorecard" /> </a> </p> --- [[Changelog]](./CHANGELOG.md) β€’ [[Packages]](https://pub.dev/publishers/firebase.google.com/packages) --- FlutterFire is a set of [Flutter plugins](https://flutter.dev/platform-plugins/) that enable Flutter apps to use [Firebase](https://firebase.google.com/) services. You can follow an example that shows how to use these plugins in the [Firebase for Flutter](https://firebase.google.com/codelabs/firebase-get-to-know-flutter) codelab. [Flutter](https://flutter.dev) is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. Flutter is used by developers and organizations around the world, and is free and open source. --- ## Documentation - [Add Firebase to your Flutter app](https://firebase.google.com/docs/flutter/setup) - [Available plugins](https://firebase.google.com/docs/flutter/setup#available-plugins) - [Firebase UI](https://github.com/firebase/FirebaseUI-Flutter) has moved to its own repository. - [Cloud Firestore ODM](https://github.com/firebaseextended/firestoreodm-flutter) has now moved to its own repository. --- ## Stable Plugins | Name | pub.dev | Firebase Product | Documentation | View Source | Android | iOS | Web | MacOS | Windows | | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- | ------- | --- | --- | ----- | ------- | | Analytics | [![Analytics pub.dev badge](https://img.shields.io/pub/v/firebase_analytics.svg)](https://pub.dev/packages/firebase_analytics) | [πŸ”—](https://firebase.google.com/products/analytics) | [πŸ“–](https://firebase.google.com/docs/analytics/get-started?platform=flutter) | [`firebase_analytics`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_analytics) | βœ” | βœ” | βœ” | Ξ² | N/A | | App Check | [![App Check pub.dev badge](https://img.shields.io/pub/v/firebase_app_check.svg)](https://pub.dev/packages/firebase_app_check) | [πŸ”—](https://firebase.google.com/docs/app-check) | [πŸ“–](https://firebase.google.com/docs/app-check/flutter/default-providers) | [`firebase_app_check`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_app_check) | βœ” | βœ” | βœ” | Ξ² | N/A | | Authentication | [![Authentication pub.dev badge](https://img.shields.io/pub/v/firebase_auth.svg)](https://pub.dev/packages/firebase_auth) | [πŸ”—](https://firebase.google.com/products/auth) | [πŸ“–](https://firebase.google.com/docs/auth/flutter/start) | [`firebase_auth`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_auth) | βœ” | βœ” | βœ” | Ξ² | (*) | | Cloud Firestore | [![Cloud Firestore pub.dev badge](https://img.shields.io/pub/v/cloud_firestore.svg)](https://pub.dev/packages/cloud_firestore) | [πŸ”—](https://firebase.google.com/products/firestore) | [πŸ“–](https://firebase.google.com/docs/firestore/quickstart) | [`cloud_firestore`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/cloud_firestore) | βœ” | βœ” | βœ” | Ξ² | (*) | | Cloud Functions | [![Cloud Functions pub.dev badge](https://img.shields.io/pub/v/cloud_functions.svg)](https://pub.dev/packages/cloud_functions) | [πŸ”—](https://firebase.google.com/products/functions) | [πŸ“–](https://firebase.google.com/docs/functions/get-started?gen=2nd) | [`cloud_functions`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/cloud_functions) | βœ” | βœ” | βœ” | Ξ² | N/A | | Cloud Messaging | [![Cloud Messaging pub.dev badge](https://img.shields.io/pub/v/firebase_messaging.svg)](https://pub.dev/packages/firebase_messaging) | [πŸ”—](https://firebase.google.com/products/cloud-messaging) | [πŸ“–](https://firebase.google.com/docs/cloud-messaging/flutter/client) | [`firebase_messaging`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_messaging) | βœ” | βœ” | βœ” | Ξ² | N/A | | Cloud Storage | [![Cloud Storage pub.dev badge](https://img.shields.io/pub/v/firebase_storage.svg)](https://pub.dev/packages/firebase_storage) | [πŸ”—](https://firebase.google.com/products/storage) | [πŸ“–](https://firebase.google.com/docs/storage/flutter/start) | [`firebase_storage`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_storage) | βœ” | βœ” | βœ” | Ξ² | (*) | | Core | [![Core pub.dev badge](https://img.shields.io/pub/v/firebase_core.svg)](https://pub.dev/packages/firebase_core) | [πŸ”—](https://firebase.google.com) | [πŸ“–](https://firebase.google.com) | [`firebase_core`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_core) | βœ” | βœ” | βœ” | Ξ² | (*) | | Crashlytics | [![Crashlytics pub.dev badge](https://img.shields.io/pub/v/firebase_crashlytics.svg)](https://pub.dev/packages/firebase_crashlytics) | [πŸ”—](https://firebase.google.com/products/crashlytics) | [πŸ“–](https://firebase.google.com/docs/crashlytics/get-started?platform=flutter) | [`firebase_crashlytics`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_crashlytics) | βœ” | βœ” | N/A | Ξ² | N/A | | Data Connect | [![Data Connect pub.dev badge](https://img.shields.io/pub/v/firebase_data_connect.svg)](https://pub.dev/packages/firebase_data_connect) | [πŸ”—](https://firebase.google.com/products/data-connect) | [πŸ“–](https://firebase.google.com/docs/data-connect/quickstart-local?userflow=automatic#flutter) | [`firebase_data_connect`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_data_connect) | βœ” | βœ” | βœ” | N/A | N/A | | In-App Messaging | [![In-App Messaging pub.dev badge](https://img.shields.io/pub/v/firebase_in_app_messaging.svg)](https://pub.dev/packages/firebase_in_app_messaging) | [πŸ”—](https://firebase.google.com/products/in-app-messaging) | [πŸ“–](https://firebase.google.com/docs/in-app-messaging/get-started?platform=flutter) | [`firebase_in_app_messaging`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_in_app_messaging) | βœ” | βœ” | N/A | N/A | N/A | | Installations | [![Installations pub.dev badge](https://img.shields.io/pub/v/firebase_app_installations.svg)](https://pub.dev/packages/firebase_app_installations) | [πŸ”—](https://firebase.google.com/docs/projects/manage-installations) | [πŸ“–](https://firebase.google.com/docs/projects/manage-installations#flutter) | [`firebase_app_installations`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_app_installations) | βœ” | βœ” | βœ” | Ξ² | N/A | | Performance Monitoring | [![Performance Monitoring pub.dev badge](https://img.shields.io/pub/v/firebase_performance.svg)](https://pub.dev/packages/firebase_performance) | [πŸ”—](https://firebase.google.com/products/performance) | [πŸ“–](https://firebase.google.com/docs/perf-mon/flutter/get-started) | [`firebase_performance`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_performance) | βœ” | βœ” | βœ” | N/A | N/A | | Realtime Database | [![Realtime Database pub.dev badge](https://img.shields.io/pub/v/firebase_database.svg)](https://pub.dev/packages/firebase_database) | [πŸ”—](https://firebase.google.com/products/database) | [πŸ“–](https://firebase.google.com/docs/database/flutter/start) | [`firebase_database`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_database) | βœ” | βœ” | βœ” | Ξ² | N/A | | Remote Config | [![Remote Config pub.dev badge](https://img.shields.io/pub/v/firebase_remote_config.svg)](https://pub.dev/packages/firebase_remote_config) | [πŸ”—](https://firebase.google.com/products/remote-config) | [πŸ“–](https://firebase.google.com/docs/remote-config/get-started?platform=flutter) | [`firebase_remote_config`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_remote_config) | βœ” | βœ” | βœ” | Ξ² | N/A | (*) for development only. Production on Windows is not supported. ## Preview Plugins | Name | pub.dev | Firebase Product | Documentation | View Source | Android | iOS | Web | MacOS | |---------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------:|:---------:|:-----:|:-----:|:-------:| | ML Model Downloader | [![ML Model Downloader pub.dev badge](https://img.shields.io/pub/v/firebase_ml_model_downloader.svg)](https://pub.dev/packages/firebase_ml_model_downloader) | [πŸ”—](https://firebase.google.com/products/ml) | [πŸ“–](https://firebase.google.com/docs/ml/flutter/use-custom-models) | [`firebase_ml_model_downloader`](https://github.com/FirebaseExtended/flutterfire/tree/main/packages/firebase_ml_model_downloader) | βœ” | βœ” | N/A | Ξ² | ## Issues Please file FlutterFire specific issues, bugs, or feature requests in our [issue tracker](https://github.com/firebase/flutterfire/issues/new/choose). Plugin issues that are not specific to FlutterFire can be filed in the [Flutter issue tracker](https://github.com/flutter/flutter/issues/new). ## Contributing If you wish to contribute a change to any of the existing plugins in this repo, please review our [contribution guide](https://github.com/firebase/flutterfire/blob/main/CONTRIBUTING.md) and open a [pull request](https://github.com/firebase/flutterfire/pulls). ", Assign "at most 3 tags" to the expected json: {"id":"9397","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"