diff --git a/android/app/build.gradle b/android/app/build.gradle index 293ad3a..efe0f78 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -65,5 +65,6 @@ flutter { } dependencies { + implementation platform('com.google.firebase:firebase-bom:29.1.0') implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" } diff --git a/android/app/google-services.json b/android/app/google-services.json new file mode 100644 index 0000000..5cb370e --- /dev/null +++ b/android/app/google-services.json @@ -0,0 +1,39 @@ +{ + "project_info": { + "project_number": "935017686266", + "project_id": "didvan-9b7da", + "storage_bucket": "didvan-9b7da.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:935017686266:android:f9cbc9aba8e3d65ed2d543", + "android_client_info": { + "package_name": "com.didvan.didvanapp" + } + }, + "oauth_client": [ + { + "client_id": "935017686266-lebnol7rb05oi9h0mripb41c892d2gij.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyBp-UHjWeM0H0UHtX5yguFKG-riMzvvCzw" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "935017686266-lebnol7rb05oi9h0mripb41c892d2gij.apps.googleusercontent.com", + "client_type": 3 + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/build.gradle b/android/build.gradle index 09fbd64..125594d 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -7,6 +7,7 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:4.1.0' + classpath 'com.google.gms:google-services:4.3.10' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/lib/services/app_initalizer.dart b/lib/services/app_initalizer.dart index 236fc19..7c21a4c 100644 --- a/lib/services/app_initalizer.dart +++ b/lib/services/app_initalizer.dart @@ -1,5 +1,7 @@ import 'package:didvan/services/media/media.dart'; import 'package:didvan/services/storage/storage.dart'; +import 'package:firebase_core/firebase_core.dart'; +import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:path_provider/path_provider.dart'; @@ -10,6 +12,7 @@ class AppInitializer { StorageService.appDocsDir = (await getApplicationDocumentsDirectory()).path; StorageService.appTempsDir = (await getTemporaryDirectory()).path; + await _initializeFirebase(); MediaService.init(); } } @@ -42,4 +45,29 @@ class AppInitializer { return ThemeMode.light; } } + + static Future _initializeFirebase() async { + try { + await Firebase.initializeApp( + options: const FirebaseOptions( + apiKey: 'AIzaSyBp-UHjWeM0H0UHtX5yguFKG-riMzvvCzw', + appId: '1:935017686266:android:f9cbc9aba8e3d65ed2d543', + messagingSenderId: '935017686266', + projectId: 'didvan-9b7da', + ), + ); + } catch (e) { + Firebase.app(); + } + final FirebaseMessaging fcm = FirebaseMessaging.instance; + await fcm.requestPermission( + alert: true, + announcement: false, + badge: true, + carPlay: false, + criticalAlert: false, + provisional: false, + sound: true, + ); + } } diff --git a/pubspec.lock b/pubspec.lock index 6942b4d..1ae7618 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -148,6 +148,48 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "6.1.2" + firebase_core: + dependency: "direct main" + description: + name: firebase_core + url: "https://pub.dartlang.org" + source: hosted + version: "1.13.1" + firebase_core_platform_interface: + dependency: transitive + description: + name: firebase_core_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "4.2.5" + firebase_core_web: + dependency: transitive + description: + name: firebase_core_web + url: "https://pub.dartlang.org" + source: hosted + version: "1.6.1" + firebase_messaging: + dependency: "direct main" + description: + name: firebase_messaging + url: "https://pub.dartlang.org" + source: hosted + version: "11.2.8" + firebase_messaging_platform_interface: + dependency: transitive + description: + name: firebase_messaging_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "3.2.1" + firebase_messaging_web: + dependency: transitive + description: + name: firebase_messaging_web + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.9" flutter: dependency: "direct main" description: flutter @@ -762,5 +804,5 @@ packages: source: hosted version: "5.3.1" sdks: - dart: ">=2.15.0 <3.0.0" + dart: ">=2.16.0 <3.0.0" flutter: ">=2.5.0" diff --git a/pubspec.yaml b/pubspec.yaml index 119a748..f732c01 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -60,6 +60,8 @@ dependencies: url_launcher: ^6.0.18 audio_video_progress_bar: ^0.10.0 image_cropper: ^1.5.0 + firebase_messaging: ^11.2.8 + firebase_core: ^1.13.1 dev_dependencies: