From 9920ba6b2f7577ac517a7e1db905098faa6a1d64 Mon Sep 17 00:00:00 2001 From: MohammadTaha Basiri Date: Tue, 1 Feb 2022 16:52:54 +0330 Subject: [PATCH] firebase messaging configured --- android/app/build.gradle | 3 +++ android/app/google-services.json | 39 +++++++++++++++++++++++++++++ android/build.gradle | 1 + lib/services/app_initalizer.dart | 28 +++++++++++++++++++++ pubspec.lock | 42 ++++++++++++++++++++++++++++++++ pubspec.yaml | 2 ++ 6 files changed, 115 insertions(+) create mode 100644 android/app/google-services.json diff --git a/android/app/build.gradle b/android/app/build.gradle index 293ad3a..21ce8ff 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -22,6 +22,7 @@ if (flutterVersionName == null) { } apply plugin: 'com.android.application' +apply plugin: 'com.google.gms.google-services' apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" @@ -65,5 +66,7 @@ flutter { } dependencies { + implementation platform('com.google.firebase:firebase-bom:29.0.4') + implementation 'com.google.firebase:firebase-analytics' 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 ed45c65..1607692 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -6,6 +6,7 @@ buildscript { } dependencies { + classpath 'com.google.gms:google-services:4.3.10' classpath 'com.android.tools.build:gradle:4.1.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } diff --git a/lib/services/app_initalizer.dart b/lib/services/app_initalizer.dart index 74c1e6c..2e9b1aa 100644 --- a/lib/services/app_initalizer.dart +++ b/lib/services/app_initalizer.dart @@ -1,4 +1,6 @@ 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 { (await getApplicationDocumentsDirectory()).path; StorageService.appTempsDir = (await getTemporaryDirectory()).path; } + await _initializeFirebase(); } static Future initilizeSettings() async { @@ -40,4 +43,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 c9f9dab..fce966d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -155,6 +155,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.12.0" + firebase_core_platform_interface: + dependency: transitive + description: + name: firebase_core_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "4.2.4" + firebase_core_web: + dependency: transitive + description: + name: firebase_core_web + url: "https://pub.dartlang.org" + source: hosted + version: "1.5.4" + firebase_messaging: + dependency: "direct main" + description: + name: firebase_messaging + url: "https://pub.dartlang.org" + source: hosted + version: "11.2.6" + firebase_messaging_platform_interface: + dependency: transitive + description: + name: firebase_messaging_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.6" + firebase_messaging_web: + dependency: transitive + description: + name: firebase_messaging_web + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.7" flutter: dependency: "direct main" description: flutter diff --git a/pubspec.yaml b/pubspec.yaml index 5836571..90f4ef2 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -60,6 +60,8 @@ dependencies: flutter_html: ^3.0.0-alpha.2 crop: ^0.5.2 url_launcher: ^6.0.18 + firebase_messaging: ^11.2.6 + firebase_core: ^1.12.0 dev_dependencies: