Skip to main content
Version: v5

Deeplinks

This plugin handles deeplinks on iOS and Android for both custom URL scheme links and Universal App Links.

Please read the ionic plugin deeplinks docs for iOS and Android integration. You must add universal-links to your config.xml and set up Apple App Site Association (AASA) for iOS and Asset Links for Android.

https://github.com/ionic-team/ionic-plugin-deeplinks

Stuck on a Cordova issue?

Don't waste precious time on plugin issues.

If you're building a serious project, you can't afford to spend hours troubleshooting. Ionic’s experts offer premium advisory services for both community plugins and premier plugins.

Installation

$ npm install ionic-plugin-deeplinks 
$ npm install @awesome-cordova-plugins/deeplinks
$ ionic cap sync

Supported Platforms

  • Android
  • Browser
  • iOS

Usage

React

Learn more about using Ionic Native components in React

Angular

import { Deeplinks } from '@awesome-cordova-plugins/deeplinks/ngx';

constructor(private deeplinks: Deeplinks) { }

this.deeplinks.route({
'/about-us': AboutPage,
'/universal-links-test': AboutPage,
'/products/:productId': ProductPage
}).subscribe(match => {
// match.$route - the route we matched, which is the matched entry from the arguments to route()
// match.$args - the args passed in the link
// match.$link - the full link data
console.log('Successfully matched route', match);
}, nomatch => {
// nomatch.$link - the full link data
console.error('Got a deeplink that didn\'t match', nomatch);
});

Alternatively, if you're using Ionic, there's a convenience method that takes a reference to a NavController and handles the actual navigation for you:

this.deeplinks
.routeWithNavController(this.navController, {
'/about-us': AboutPage,
'/products/:productId': ProductPage,
})
.subscribe(
(match) => {
// match.$route - the route we matched, which is the matched entry from the arguments to route()
// match.$args - the args passed in the link
// match.$link - the full link data
console.log('Successfully matched route', match);
},
(nomatch) => {
// nomatch.$link - the full link data
console.error("Got a deeplink that didn't match", nomatch);
}
);

See the Ionic Deeplinks Demo for an example of how to retrieve the NavController reference at runtime.