You’re on the right track wanting to handle deep linking manually—it gives you a lot of flexibility! For implementing deep linking in Flutter without using the go_router package, you can make use of Navigator 2.0 combined with Uri parsing. The key steps are:
Set up the initial route handling by overriding the onGenerateRoute or using onGenerateInitialRoutes. Use onGenerateRoute or onUnknownRoute to catch custom URL schemes and map them to your app’s routes. Implement a RouteInformationParser to parse incoming URLs into a data structure your app can handle.