WIP: deeplink added to android and ios

dev_v3.13.6_deep_link
taha.alam 9 months ago
parent d98f2c31a2
commit 6cf86e2e84

@ -144,6 +144,9 @@
android:theme="@style/LaunchTheme"
android:windowSoftInputMode="adjustResize"
tools:node="merge">
<meta-data
android:name="flutter_deeplinking_enabled"
android:value="false" />
<!--
Specifies an Android theme to apply to this Activity as soon as
@ -171,11 +174,23 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="hmg.com"
android:scheme="http" />
<data android:scheme="https" />
</intent-filter>
<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity> <!-- <receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver" android:exported="true"> -->
<!-- <intent-filter> -->
<!-- <action android:name="android.intent.action.BOOT_COMPLETED"/> -->

@ -122,5 +122,7 @@
<true/>
<key>MBXAccessToken</key>
<string>pk.eyJ1IjoicndhaWQiLCJhIjoiY2x5cGo4aHNjMGNsbTJyc2djempobGQxaSJ9.RCaC6WrUt4A4YnZNfxnONQ</string>
<key>FlutterDeepLinkingEnabled</key>
<false/>
</dict>
</plist>

@ -26,5 +26,9 @@
<array>
<string>$(TeamIdentifierPrefix)*</string>
</array>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:hmg.com</string>
</array>
</dict>
</plist>

@ -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<MyApp> {
// late AppUpdateInfo _updateInfo;
StreamSubscription<Uri>? _linkSubscription;
final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
//0537503378
@ -92,9 +92,29 @@ class _MyApp extends State<MyApp> {
// if (Platform.isAndroid) checkForUpdate();
ThemeNotifier(defaultTheme());
initDeepLinks();
super.initState();
}
void dispose() {
_linkSubscription?.cancel();
super.dispose();
}
Future<void> initDeepLinks() async {
// Handle links
_linkSubscription = AppLinks().uriLinkStream.listen((uri) {
debugPrint('onAppLink: $uri');
openAppLink(uri);
});
}
void openAppLink(Uri uri) {
print("the uri is $uri");
// locator<NavigationService>().navigatorKey.currentState?.pushNamed(uri.fragment);
}
@override
Widget build(BuildContext context) {
PlatformBridge.init(context);

@ -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,

@ -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

Loading…
Cancel
Save