This plugin permits registering the application as a handler for a URL scope, and remapping URLs within that scope to the application bundle. This allows for deep linking from web URLs into the application using Universal Links on iOS and App Links on Android.
This plugin is compatible with cordova-plugin-code-push.
cordova plugin add cordova-plugin-app-scope
- iOS
- Android
This plugin will take an HTTPS URL scope, and translate any URL within that scope into a local path to within the application bundle. For example, if the scope were defined as https://example.com/myapp/
and the app were asked to load https://example.com/myapp/products/index.html
, it would rewrite the URL to point to the bundled www files of the Cordova application. In this example on Android, it would result in file:///android_asset/www/products/index.html
.
The URL scope must be HTTPS, must end with a trailing slash, and needs to be defined in config.xml as a preference with the name "Scope"
:
<preference name="Scope" value="https://example.com/myapp/" />
In addition to rewriting URLs when loaded in the Cordova application, the plugin will also attempt to register the application as a system-wide handler for URLs matching the scope. This requires some additional server-side configuration at the website matching the URL scope:
The plugin will take care of setting up the Associated Domains entitlements for iOS and the Intent filters for Android, but you must set up the assetlinks.json
and apple-app-site-association
files on the web server.
If you want to allow your iOS app to use web credentials from Safari, you'll also need to include webcredentials
in your apple-app-site-association
file.
This plugin exposes no API to the application.
Contributions of bug reports, feature requests, and pull requests are greatly appreciated!
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Released under the Apache 2.0 Licence. Copyright © 2018 Ayogo Health Inc.