diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 8c8fb3a..6ac97a3 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -8,6 +8,9 @@ import java.util.Properties plugins { id("com.android.application") + // START: FlutterFire Configuration + id("com.google.gms.google-services") + // END: FlutterFire Configuration id("kotlin-android") id("dev.flutter.flutter-gradle-plugin") } diff --git a/android/app/google-services.json b/android/app/google-services.json new file mode 100644 index 0000000..0db3a35 --- /dev/null +++ b/android/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "953923151748", + "project_id": "nostrlabs", + "storage_bucket": "nostrlabs.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:953923151748:android:8536cdc7f75edc9f9e9fd1", + "android_client_info": { + "package_name": "io.nostrlabs.zap_stream_flutter" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyAdpxIN8DR1-mh8MCjHU0mDtaUAk6xda6w" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/settings.gradle.kts b/android/settings.gradle.kts index a439442..9e2d35c 100644 --- a/android/settings.gradle.kts +++ b/android/settings.gradle.kts @@ -19,6 +19,9 @@ pluginManagement { plugins { id("dev.flutter.flutter-plugin-loader") version "1.0.0" id("com.android.application") version "8.7.0" apply false + // START: FlutterFire Configuration + id("com.google.gms.google-services") version("4.3.15") apply false + // END: FlutterFire Configuration id("org.jetbrains.kotlin.android") version "1.8.22" apply false } diff --git a/firebase.json b/firebase.json new file mode 100644 index 0000000..9829622 --- /dev/null +++ b/firebase.json @@ -0,0 +1,25 @@ +{ + "flutter": { + "platforms": { + "android": { + "default": { + "projectId": "nostrlabs", + "appId": "1:953923151748:android:8536cdc7f75edc9f9e9fd1", + "fileOutput": "android/app/google-services.json" + } + }, + "dart": { + "lib/firebase_options.dart": { + "projectId": "nostrlabs", + "configurations": { + "android": "1:953923151748:android:8536cdc7f75edc9f9e9fd1", + "ios": "1:953923151748:ios:30ec9a230e55fe139e9fd1", + "macos": "1:953923151748:ios:19516d42a1cc02229e9fd1", + "web": "1:953923151748:web:f04633c33f9343b19e9fd1", + "windows": "1:953923151748:web:6b9a6be6798644909e9fd1" + } + } + } + } + } +} \ No newline at end of file diff --git a/lib/firebase_options.dart b/lib/firebase_options.dart new file mode 100644 index 0000000..ee5e325 --- /dev/null +++ b/lib/firebase_options.dart @@ -0,0 +1,86 @@ +// File generated by FlutterFire CLI. +// ignore_for_file: type=lint +import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; +import 'package:flutter/foundation.dart' + show defaultTargetPlatform, kIsWeb, TargetPlatform; + +/// Default [FirebaseOptions] for use with your Firebase apps. +/// +/// Example: +/// ```dart +/// import 'firebase_options.dart'; +/// // ... +/// await Firebase.initializeApp( +/// options: DefaultFirebaseOptions.currentPlatform, +/// ); +/// ``` +class DefaultFirebaseOptions { + static FirebaseOptions get currentPlatform { + if (kIsWeb) { + return web; + } + switch (defaultTargetPlatform) { + case TargetPlatform.android: + return android; + case TargetPlatform.iOS: + return ios; + case TargetPlatform.macOS: + return macos; + case TargetPlatform.windows: + return windows; + case TargetPlatform.linux: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for linux - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + default: + throw UnsupportedError( + 'DefaultFirebaseOptions are not supported for this platform.', + ); + } + } + + static const FirebaseOptions web = FirebaseOptions( + apiKey: 'AIzaSyDd9GBruNVBv2qrwv0CGvYeby0ALtTlFKk', + appId: '1:953923151748:web:f04633c33f9343b19e9fd1', + messagingSenderId: '953923151748', + projectId: 'nostrlabs', + authDomain: 'nostrlabs.firebaseapp.com', + storageBucket: 'nostrlabs.firebasestorage.app', + ); + + static const FirebaseOptions android = FirebaseOptions( + apiKey: 'AIzaSyAdpxIN8DR1-mh8MCjHU0mDtaUAk6xda6w', + appId: '1:953923151748:android:8536cdc7f75edc9f9e9fd1', + messagingSenderId: '953923151748', + projectId: 'nostrlabs', + storageBucket: 'nostrlabs.firebasestorage.app', + ); + + static const FirebaseOptions ios = FirebaseOptions( + apiKey: 'AIzaSyByygErXpki6Q7NXOXTHbRgg3-Tw-KCVO0', + appId: '1:953923151748:ios:30ec9a230e55fe139e9fd1', + messagingSenderId: '953923151748', + projectId: 'nostrlabs', + storageBucket: 'nostrlabs.firebasestorage.app', + iosBundleId: 'io.nostrlabs.zapStreamFlutter', + ); + + static const FirebaseOptions macos = FirebaseOptions( + apiKey: 'AIzaSyByygErXpki6Q7NXOXTHbRgg3-Tw-KCVO0', + appId: '1:953923151748:ios:19516d42a1cc02229e9fd1', + messagingSenderId: '953923151748', + projectId: 'nostrlabs', + storageBucket: 'nostrlabs.firebasestorage.app', + iosBundleId: 'com.example.zapStreamFlutter', + ); + + static const FirebaseOptions windows = FirebaseOptions( + apiKey: 'AIzaSyDd9GBruNVBv2qrwv0CGvYeby0ALtTlFKk', + appId: '1:953923151748:web:6b9a6be6798644909e9fd1', + messagingSenderId: '953923151748', + projectId: 'nostrlabs', + authDomain: 'nostrlabs.firebaseapp.com', + storageBucket: 'nostrlabs.firebasestorage.app', + ); +} diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index bd939f2..504d9df 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -7,6 +7,7 @@ import Foundation import emoji_picker_flutter import file_selector_macos +import firebase_core import flutter_secure_storage_macos import objectbox_flutter_libs import package_info_plus @@ -21,6 +22,7 @@ import wakelock_plus func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { EmojiPickerFlutterPlugin.register(with: registry.registrar(forPlugin: "EmojiPickerFlutterPlugin")) FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) + FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin")) FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) ObjectboxFlutterLibsPlugin.register(with: registry.registrar(forPlugin: "ObjectboxFlutterLibsPlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) diff --git a/pubspec.lock b/pubspec.lock index 0138545..62dd56e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -281,6 +281,30 @@ packages: url: "https://pub.dev" source: hosted version: "0.9.3+4" + firebase_core: + dependency: "direct main" + description: + name: firebase_core + sha256: "8cfe3c900512399ce8d50fcc817e5758ff8615eeb6fa5c846a4cc47bbf6353b6" + url: "https://pub.dev" + source: hosted + version: "3.13.1" + firebase_core_platform_interface: + dependency: transitive + description: + name: firebase_core_platform_interface + sha256: d7253d255ff10f85cfd2adaba9ac17bae878fa3ba577462451163bd9f1d1f0bf + url: "https://pub.dev" + source: hosted + version: "5.4.0" + firebase_core_web: + dependency: transitive + description: + name: firebase_core_web + sha256: ddd72baa6f727e5b23f32d9af23d7d453d67946f380bd9c21daf474ee0f7326e + url: "https://pub.dev" + source: hosted + version: "2.23.0" fixnum: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 2feb0e8..4d25983 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -39,6 +39,7 @@ dependencies: intl: ^0.19.0 flutter_localizations: sdk: flutter + firebase_core: ^3.13.1 dependency_overrides: ndk: diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 13ad6c5..bdb6e1a 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -8,6 +8,7 @@ #include #include +#include #include #include #include @@ -18,6 +19,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("EmojiPickerFlutterPluginCApi")); FileSelectorWindowsRegisterWithRegistrar( registry->GetRegistrarForPlugin("FileSelectorWindows")); + FirebaseCorePluginCApiRegisterWithRegistrar( + registry->GetRegistrarForPlugin("FirebaseCorePluginCApi")); FlutterSecureStorageWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin")); ObjectboxFlutterLibsPluginRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 78f5b22..79a04d4 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -5,6 +5,7 @@ list(APPEND FLUTTER_PLUGIN_LIST emoji_picker_flutter file_selector_windows + firebase_core flutter_secure_storage_windows objectbox_flutter_libs share_plus