diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 1775312c..ecabe086 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/pubspec.yaml b/pubspec.yaml
index e6c2caca..36e8ea12 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -189,6 +189,7 @@ dependencies:
firebase_crashlytics: ^3.0.0
cloudflare_turnstile: ^2.0.1
+ app_links: ^6.4.0
device_info_plus: ^10.1.2
# vital_sign_camera:
# path: ./packages/vital_sign_camera