adaptive_deep_linker 1.0.0 copy "adaptive_deep_linker: ^1.0.0" to clipboard
adaptive_deep_linker: ^1.0.0 copied to clipboard

A lightweight, highly adaptive deep linking solution for Flutter. Simplifies URL parsing and automated native configuration for Android and iOS.

🔗 Adaptive Deep Linker

Pub Version License: MIT LoomixDev

A lightweight, highly adaptive deep linking solution for Flutter. adaptive_deep_linker simplifies URL parsing, dynamic parameter extraction, and automates native configurations for Android and iOS with a single CLI command.




✨ Features #

  • 🚀 One-Line Routing: Map complex URL patterns to widgets effortlessly.
  • 🧠 Smart Dynamic Parsing: Automatically extract parameters (like :id, :slug, or :username) from paths.
  • 🛠️ Automation CLI: Setup AndroidManifest.xml and Info.plist in seconds using dart run.
  • 🛡️ Type-Safe & Lightweight: Built with zero external dependencies to keep your app fast.
  • 🚦 Fallback Handling: Custom 404/NotFound page support out of the box.

📦 Getting Started #

Add the package to your pubspec.yaml:

dependencies:
    adaptive_deep_linker: ^1.0.0

Then run:

flutter pub get

🛠️ Automated Native Setup (The Magic!) #

Stop manually editing XML and Plist files. Configure your Android and iOS projects with one command:

dart run adaptive_deep_linker:setup yourdomain.com
  • Android: Automatically adds the required <intent-filter> to your manifest.

  • iOS: Enables FlutterDeepLinkingEnabled and configures CFBundleURLTypes in your Info.plist.


🚀 Usage #

1. Define Your Routes

Set up your AdaptiveDeepLinker instance with the desired paths:

final linker = AdaptiveDeepLinker(
  routes: [
    AdaptiveRoute(
      path: '/',
      builder: (params) => const HomeScreen(),
    ),
    AdaptiveRoute(
      path: '/product/:id',
      builder: (params) => ProductDetails(id: params['id']!),
    ),
  ],
  fallbackPage: const NotFoundPage(),
);

2. Connect to MaterialApp

Plug the linker into your app's onGenerateRoute:

MaterialApp(
  onGenerateRoute: linker.handleRoute,
  // ... other properties
);

📖 Advanced Usage #

Manual Navigation

You can also navigate using string URLs manually:

AdaptiveDeepLinker.navigateTo(context, 'https://yourdomain.com/product/505');

🤝 Contributing #

Found a bug or want to add a new font?

  • Fork the Project.

  • Create your Feature Branch (git checkout -b feature/update).

  • Commit your Changes (git commit -m 'Add new update').

  • Push to the Branch (git push origin feature/update).

  • Open a Pull Request.


📧 Contact & Support #

If you have any questions, feedback, or run into issues while using adaptive_deep_linker, feel free to reach out:

I'm happy to help you with any improvements or fixes!



Developed with love
Maintained by Faysal (LoomixDev)

2
likes
160
points
45
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A lightweight, highly adaptive deep linking solution for Flutter. Simplifies URL parsing and automated native configuration for Android and iOS.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on adaptive_deep_linker