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
.desktopfile must declare support for URI schemes usingMimeType=x-scheme-handler/<scheme>;andExec=/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.