diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index e216dae5..f25d366d 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -144,6 +144,9 @@
android:theme="@style/LaunchTheme"
android:windowSoftInputMode="adjustResize"
tools:node="merge">
+
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index a67c0647..91a4aedb 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -122,5 +122,7 @@
MBXAccessToken
pk.eyJ1IjoicndhaWQiLCJhIjoiY2x5cGo4aHNjMGNsbTJyc2djempobGQxaSJ9.RCaC6WrUt4A4YnZNfxnONQ
+ FlutterDeepLinkingEnabled
+
diff --git a/ios/Runner/Runner.entitlements b/ios/Runner/Runner.entitlements
index 44ce1b68..04bf8575 100644
--- a/ios/Runner/Runner.entitlements
+++ b/ios/Runner/Runner.entitlements
@@ -26,5 +26,9 @@
$(TeamIdentifierPrefix)*
+ com.apple.developer.associated-domains
+
+ applinks:hmg.com
+
diff --git a/lib/main.dart b/lib/main.dart
index cd2aab7a..642d485b 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -1,5 +1,7 @@
+import 'dart:async';
import 'dart:io';
+import 'package:app_links/app_links.dart';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/viewModels/PharmacyPagesViewModel.dart';
import 'package:diplomaticquarterapp/core/viewModels/dashboard_view_model.dart';
@@ -14,8 +16,6 @@ import 'package:diplomaticquarterapp/uitl/PlatformBridge.dart';
import 'package:diplomaticquarterapp/uitl/navigation_service.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:firebase_core/firebase_core.dart';
-import 'package:firebase_crashlytics/firebase_crashlytics.dart';
-import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:provider/provider.dart';
@@ -59,7 +59,7 @@ class MyHttpOverrides extends HttpOverrides {
class _MyApp extends State {
// late AppUpdateInfo _updateInfo;
-
+ StreamSubscription? _linkSubscription;
final GlobalKey navigatorKey = GlobalKey();
//0537503378
@@ -92,9 +92,29 @@ class _MyApp extends State {
// if (Platform.isAndroid) checkForUpdate();
ThemeNotifier(defaultTheme());
+ initDeepLinks();
super.initState();
}
+ void dispose() {
+ _linkSubscription?.cancel();
+
+ super.dispose();
+ }
+
+ Future initDeepLinks() async {
+ // Handle links
+ _linkSubscription = AppLinks().uriLinkStream.listen((uri) {
+ debugPrint('onAppLink: $uri');
+ openAppLink(uri);
+ });
+ }
+
+ void openAppLink(Uri uri) {
+ print("the uri is $uri");
+ // locator().navigatorKey.currentState?.pushNamed(uri.fragment);
+ }
+
@override
Widget build(BuildContext context) {
PlatformBridge.init(context);
diff --git a/lib/uitl/LocalNotification.dart b/lib/uitl/LocalNotification.dart
index 0cdef6ca..ead098fe 100644
--- a/lib/uitl/LocalNotification.dart
+++ b/lib/uitl/LocalNotification.dart
@@ -31,7 +31,7 @@ class LocalNotification {
_initialize() async {
try {
var initializationSettingsAndroid = new AndroidInitializationSettings('app_icon');
- var initializationSettingsIOS = DarwinInitializationSettings(onDidReceiveLocalNotification: null);
+ var initializationSettingsIOS = DarwinInitializationSettings();
var initializationSettings = InitializationSettings(android: initializationSettingsAndroid, iOS: initializationSettingsIOS);
await flutterLocalNotificationsPlugin.initialize(
initializationSettings,
diff --git a/pubspec.yaml b/pubspec.yaml
index 5bad9780..f7ccd8f5 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -187,6 +187,7 @@ dependencies:
firebase_crashlytics: ^3.0.0
cloudflare_turnstile: ^2.0.1
+ app_links: ^6.4.0
# vital_sign_camera:
# path: ./packages/vital_sign_camera