Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zixiaowang/tns-urihandler

A NativeScript Module for inner-app communication URI handling
https://github.com/zixiaowang/tns-urihandler

javascript nativescript nativescript-plugin

Last synced: about 1 month ago
JSON representation

A NativeScript Module for inner-app communication URI handling

Awesome Lists containing this project

README

        

# tns-urihandler
A NativeScript Module for inner-app communication URI handling

### How to custom scheme in NativeScript Projects
**Android**
Add following code to your AndroidManifest.xml, where you can find through /app/App_Resources/Android/AndroidManifest.xml
```xml








```
NOTE: the attribute ```android:launchMode="singleTop"``` prevent OS start multiple activities.

**iOS**
Add following code to your Info.plist, where you can find it in /app/App_Resources/iOS/Info.plist
```xml


CFBundleURLTypes


CFBundleURLName
your.app.id


CFBundleURLSchemes

yourscheme



```

NOTE: After modified AndroidManifest.xml or Info.plist, please remove the entire platform and re-add the platform. This is also recommended by official document.

### How to install Plugin?
Run command
```
tns plugin add tns-urihandler
```
or
```
tns plugin add tns-urihandler-1.0.0.tgz
```

### How to use Plugin?

imcoming URI: ```myapp://Jacky:Passw0rd@home/path/to/my/page?from=anotherApp#fragment```

```javascript
import { URIHandler } from 'tns-urihandler';

export class MyApp{
foo(): void{
let uriHandler = new URIHandler();
console.log(uriHandler.getURI()); // myapp://Jacky:Passw0rd@home/path/to/my/page?from=anotherApp#fragment
}
}
```

### APIs
```javascript
uriHandler.getURI(); // myapp://Jacky:Passw0rd@home/path/to/my/page?from=anotherApp#fragment
uriHandler.getHost(); // home
uriHandler.getFragment(); // fragment
uriHandler.getScheme(); // myapp
uriHandler.getQuery(); // from=anotherApp
uriHandler.getPath(); // path/to/my/page
uriHandler.getUser(); // Jacky (if there's any Username)
uriHandler.getPassword(); // Passw0rd (if there's any Password)

// experimental function, returns object
uriHandler.search(); // { form: 'antherApp' }
```

### Thanks
I would like to thank [hypery2k's nativescript-urlhandler](https://github.com/hypery2k/nativescript-urlhandler).
My inspiration comes from his great work.