Merge pull request 'added firebase for notification' (#146) from firebase into main
Reviewed-on: https://repo.ravanertebat.com/TM/tm_app/pulls/146
This commit is contained in:
@@ -3,6 +3,7 @@ plugins {
|
|||||||
id("kotlin-android")
|
id("kotlin-android")
|
||||||
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
|
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
|
||||||
id("dev.flutter.flutter-gradle-plugin")
|
id("dev.flutter.flutter-gradle-plugin")
|
||||||
|
id("com.google.gms.google-services")
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
@@ -42,3 +43,7 @@ android {
|
|||||||
flutter {
|
flutter {
|
||||||
source = "../.."
|
source = "../.."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation(platform("com.google.firebase:firebase-bom:32.7.2"))
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"project_info": {
|
||||||
|
"project_number": "1071558853812",
|
||||||
|
"project_id": "opplens",
|
||||||
|
"storage_bucket": "opplens.firebasestorage.app"
|
||||||
|
},
|
||||||
|
"client": [
|
||||||
|
{
|
||||||
|
"client_info": {
|
||||||
|
"mobilesdk_app_id": "1:1071558853812:android:7831119a56a99c5948c3e1",
|
||||||
|
"android_client_info": {
|
||||||
|
"package_name": "com.opplens.app"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oauth_client": [],
|
||||||
|
"api_key": [
|
||||||
|
{
|
||||||
|
"current_key": "AIzaSyD5LaGXppjGEdTf-a0Ha25FX1p0v_h-c8A"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"services": {
|
||||||
|
"appinvite_service": {
|
||||||
|
"other_platform_oauth_client": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"configuration_version": "1"
|
||||||
|
}
|
||||||
@@ -1,3 +1,13 @@
|
|||||||
|
buildscript {
|
||||||
|
repositories {
|
||||||
|
google()
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
dependencies {
|
||||||
|
classpath("com.google.gms:google-services:4.4.1")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
@@ -12,6 +22,7 @@ subprojects {
|
|||||||
val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)
|
val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)
|
||||||
project.layout.buildDirectory.value(newSubprojectBuildDir)
|
project.layout.buildDirectory.value(newSubprojectBuildDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
project.evaluationDependsOn(":app")
|
project.evaluationDependsOn(":app")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||||
|
|
||||||
|
import 'package:logger/logger.dart';
|
||||||
|
|
||||||
|
class MessagingService {
|
||||||
|
//create an instance of firebase messaging
|
||||||
|
final _firebaseMessaging = FirebaseMessaging.instance;
|
||||||
|
|
||||||
|
Future<void> initNotifications() async {
|
||||||
|
await _firebaseMessaging.requestPermission();
|
||||||
|
final fcmToken = await _firebaseMessaging.getToken();
|
||||||
|
Logger().i('FCMToken: $fcmToken');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,15 +1,19 @@
|
|||||||
// main.dart
|
// main.dart
|
||||||
import 'dart:ui';
|
import 'dart:ui';
|
||||||
|
|
||||||
|
import 'package:firebase_core/firebase_core.dart';
|
||||||
|
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:logger/logger.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:provider/single_child_widget.dart';
|
import 'package:provider/single_child_widget.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
import 'package:tm_app/core/config/dependencies.dart';
|
import 'package:tm_app/core/config/dependencies.dart';
|
||||||
import 'package:tm_app/core/config/web_url_strategy.dart';
|
import 'package:tm_app/core/config/web_url_strategy.dart';
|
||||||
import 'package:tm_app/core/services/cache_init.dart';
|
import 'package:tm_app/core/services/cache_init.dart';
|
||||||
|
import 'package:tm_app/core/services/messaging_service.dart';
|
||||||
import 'package:tm_app/core/theme/theme_provider.dart';
|
import 'package:tm_app/core/theme/theme_provider.dart';
|
||||||
|
|
||||||
import 'core/routes/app_routes.dart';
|
import 'core/routes/app_routes.dart';
|
||||||
@@ -39,6 +43,27 @@ void main() async {
|
|||||||
// Configure web URL strategy if running on web
|
// Configure web URL strategy if running on web
|
||||||
configureWebUrlStrategy();
|
configureWebUrlStrategy();
|
||||||
|
|
||||||
|
if (kIsWeb) {
|
||||||
|
await Firebase.initializeApp(
|
||||||
|
options: const FirebaseOptions(
|
||||||
|
apiKey: 'AIzaSyAUQhM789-0qZIaIWtwTQXyz9gEtN-TnnU',
|
||||||
|
authDomain: 'opplens.firebaseapp.com',
|
||||||
|
appId: '1:1071558853812:web:d9ca896b088ee7da48c3e1',
|
||||||
|
messagingSenderId: '1071558853812',
|
||||||
|
projectId: 'opplens',
|
||||||
|
storageBucket: 'opplens.firebasestorage.app',
|
||||||
|
measurementId: 'G-GJGP9WB28B',
|
||||||
|
),
|
||||||
|
);
|
||||||
|
final _firebaseMessaging = FirebaseMessaging.instance;
|
||||||
|
await _firebaseMessaging.requestPermission();
|
||||||
|
final fcmToken = await _firebaseMessaging.getToken();
|
||||||
|
Logger().i('FCMToken: $fcmToken');
|
||||||
|
} else {
|
||||||
|
await Firebase.initializeApp();
|
||||||
|
await MessagingService().initNotifications();
|
||||||
|
}
|
||||||
|
|
||||||
runApp(MultiProvider(providers: providers, child: const MyApp()));
|
runApp(MultiProvider(providers: providers, child: const MyApp()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+58
-2
@@ -9,6 +9,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "85.0.0"
|
version: "85.0.0"
|
||||||
|
_flutterfire_internals:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: _flutterfire_internals
|
||||||
|
sha256: "948f7d74f41dd6f2d563ea9f4c21d7ea764f8e047d2b24138974c19c24d37eb6"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.3.61"
|
||||||
analyzer:
|
analyzer:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -289,6 +297,54 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "10.3.3"
|
version: "10.3.3"
|
||||||
|
firebase_core:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: firebase_core
|
||||||
|
sha256: "967dae9a65f69377beb9f4ab292ea63ce5befa1ce24682cab1b69ca4b7a46927"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.1.0"
|
||||||
|
firebase_core_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: firebase_core_platform_interface
|
||||||
|
sha256: "5dbc900677dcbe5873d22ad7fbd64b047750124f1f9b7ebe2a33b9ddccc838eb"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "6.0.0"
|
||||||
|
firebase_core_web:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: firebase_core_web
|
||||||
|
sha256: f7ee08febc1c4451588ce58ffcf28edaee857e9a196fee88b85deb889990094a
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.1.0"
|
||||||
|
firebase_messaging:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: firebase_messaging
|
||||||
|
sha256: aad5dcdea5698499b70d74d5a53b1f6a9972f85f97225e4b7ac006dd8d4f9bac
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "16.0.1"
|
||||||
|
firebase_messaging_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: firebase_messaging_platform_interface
|
||||||
|
sha256: "825bc11767bf50a43dccf49b3026f847ec31d0f176139bfc48d662cc128b5014"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.7.1"
|
||||||
|
firebase_messaging_web:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: firebase_messaging_web
|
||||||
|
sha256: db8dbdd79921245c4de02407e33cae2d1868683be18a5ba948d2af5311e3ef5d
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.0.1"
|
||||||
fixnum:
|
fixnum:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -492,10 +548,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: js
|
name: js
|
||||||
sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc"
|
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.7.2"
|
version: "0.6.7"
|
||||||
json_annotation:
|
json_annotation:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ dependencies:
|
|||||||
path_provider: ^2.1.5
|
path_provider: ^2.1.5
|
||||||
dotted_border: ^3.1.0
|
dotted_border: ^3.1.0
|
||||||
file_picker: ^10.3.3
|
file_picker: ^10.3.3
|
||||||
|
firebase_core: ^4.1.0
|
||||||
|
firebase_messaging: ^16.0.1
|
||||||
|
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
importScripts("https://www.gstatic.com/firebasejs/9.22.2/firebase-app-compat.js");
|
||||||
|
importScripts("https://www.gstatic.com/firebasejs/9.22.2/firebase-messaging-compat.js");
|
||||||
|
|
||||||
|
firebase.initializeApp({
|
||||||
|
apiKey: 'AIzaSyAUQhM789-0qZIaIWtwTQXyz9gEtN-TnnU',
|
||||||
|
authDomain: 'opplens.firebaseapp.com',
|
||||||
|
appId: '1:1071558853812:web:d9ca896b088ee7da48c3e1',
|
||||||
|
messagingSenderId: '1071558853812',
|
||||||
|
projectId: 'opplens',
|
||||||
|
storageBucket: 'opplens.firebasestorage.app',
|
||||||
|
measurementId: 'G-GJGP9WB28B',
|
||||||
|
});
|
||||||
|
|
||||||
|
const messaging = firebase.messaging();
|
||||||
@@ -2,6 +2,9 @@
|
|||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
|
<script src="https://www.gstatic.com/firebasejs/9.22.2/firebase-app-compat.js"></script>
|
||||||
|
<script src="https://www.gstatic.com/firebasejs/9.22.2/firebase-messaging-compat.js"></script>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
If you are serving your web app in a path other than the root, change the
|
If you are serving your web app in a path other than the root, change the
|
||||||
href value below to reflect the base path you are serving from.
|
href value below to reflect the base path you are serving from.
|
||||||
|
|||||||
Reference in New Issue
Block a user