RU | EN

app_links_aurora

Original Readme

Description

app_links_aurora is the Aurora OS implementation of the app_links plugin, which enables Flutter applications to handle deep links, custom URI schemes, and app intents on Aurora OS devices.

Quickstart: Basic Usage Example


  final _appLinks = AppLinksAurora();
  // Get initial link if app was launched via URI
  _appLinks.getInitialLinkString().then((link) {
    print('Initial link received: $link');
  });

  late StreamSubscription<Uri> _linkSubscription;
  // Listen for new link events
  _linkSubscription = _appLinks.uriLinkStream.listen((uri) {
    print('New link received: $uri');
  });
  

Features

  • Handles initial app links when launched via URI schemes
  • Provides real-time stream for incoming links while app is running
  • Integrates with Aurora OS RuntimeManager for system-level intent handling
  • Supports custom URI schemes (myapp://, example://, etc.)

Contents

Installation and build

pubspec.yaml

dependencies:
  app_links_aurora:
    git:
      url: https://developer.auroraos.ru/git/flutter/flutter-community-plugins/app_links_aurora

*.desktop

# Declare support for your custom URI scheme
MimeType=x-scheme-handler/<scheme>;
Exec=/usr/bin/<your_app_name> %u

To prevent MimeType and Exec from being deleted during auto-generation, you can should the comment in the desktop file`:

- # This file will be recreated at the next build. To avoid this, delete this line.

Important Notes

  • Desktop file configuration: Your application's .desktop file must declare support for URI schemes using MimeType=x-scheme-handler/<scheme>; and Exec=/usr/bin/<your_app_name> %u. More about Intents

*main.cpp

#include <flutter/flutter_compatibility_qt.h> // Add for Qt
#include "generated_plugin_registrant.h"

int main(int argc, char *argv[]) {
    aurora::FlutterApp app(argc, argv);
    aurora::EnableQtCompatibility(); // Add for Qt

    return app.exec();
}

Compatibility

The plugin has been working correctly since the 5.2 version of the Aurora OS and Flutter 3.35.0.

The plugin works with restrictions on version 5.1 and Flutter < 3.35.0:

  • you cannot transfer data with more than 1 level of nesting, such as nested json objects;
  • when running the command flutter run, the registration of custom intents does not work. It will only work when the app is launched through the app icon.

Terms of Use and Participation

The source code of the project is provided under the license, that allows it to be used in third-party applications.

To participate in the development of the project, please read the contributor agreement. If you plan to contribute your own source code to the project, you will need to accept the CLA agreement.

For information about contributors see AUTHORS.

Code of conduct is a current set of rules of the Open Mobile Platform which informs you how we expect the members of the community will interact while contributing and communicating.