mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2026-07-16 00:00:04 +08:00
Compare commits
119
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d8ae5abab | ||
|
|
0fc534699b | ||
|
|
7f39af3af3 | ||
|
|
dd8888c369 | ||
|
|
e0138a10ab | ||
|
|
5492239ff4 | ||
|
|
18fe9c9825 | ||
|
|
3b804dfc6d | ||
|
|
959e132909 | ||
|
|
d498f9823a | ||
|
|
0c2e84c9c0 | ||
|
|
28a24f6413 | ||
|
|
78c4b6a85c | ||
|
|
bc7aef92f3 | ||
|
|
2b161bbbe0 | ||
|
|
4da9fab97e | ||
|
|
78c37f847a | ||
|
|
b93e321b1b | ||
|
|
b704d2875b | ||
|
|
56263e13fe | ||
|
|
a2f379e98e | ||
|
|
7a7b7b885a | ||
|
|
0a6ad5f231 | ||
|
|
15fb82730d | ||
|
|
699af1e1c2 | ||
|
|
a3cde90e2e | ||
|
|
230efdb728 | ||
|
|
7a02d61224 | ||
|
|
0103ebc288 | ||
|
|
ba3487dd55 | ||
|
|
c1bac59b07 | ||
|
|
37082cf783 | ||
|
|
91bc6380d0 | ||
|
|
760b238a6b | ||
|
|
da02a2ec51 | ||
|
|
a4078995db | ||
|
|
3fd0185d4e | ||
|
|
8aa19525cc | ||
|
|
96de5d9c31 | ||
|
|
63c34cade4 | ||
|
|
5b03b578dc | ||
|
|
2a4f228bdf | ||
|
|
d189a5bbc1 | ||
|
|
ec57f00d2b | ||
|
|
d36a8c8257 | ||
|
|
3665781b40 | ||
|
|
9108db7653 | ||
|
|
00d1ad7d3b | ||
|
|
de51ef8a82 | ||
|
|
9a68ea242c | ||
|
|
10daa1f1dd | ||
|
|
38bb8410e5 | ||
|
|
d35d176a79 | ||
|
|
fe8a380902 | ||
|
|
a8edd53d26 | ||
|
|
00a7fa547e | ||
|
|
b393c7448b | ||
|
|
46f80555f7 | ||
|
|
0aee729e8e | ||
|
|
06c8c44efc | ||
|
|
6df3383585 | ||
|
|
f912a452dc | ||
|
|
ea697bd884 | ||
|
|
6e7b087cff | ||
|
|
87b5327a42 | ||
|
|
1b1a0e99e8 | ||
|
|
2828319d0a | ||
|
|
d3c87fd95a | ||
|
|
964cc91548 | ||
|
|
a2e410c4cb | ||
|
|
9055154781 | ||
|
|
822a4120c7 | ||
|
|
bc60d0678b | ||
|
|
9aa7ad0221 | ||
|
|
e965d654c5 | ||
|
|
82d6efac76 | ||
|
|
de51746bfc | ||
|
|
157367ddb6 | ||
|
|
6de9697aa9 | ||
|
|
1dfdbaf1f0 | ||
|
|
1fe1cd6f75 | ||
|
|
dcd5e3ac9f | ||
|
|
aa44c09ec4 | ||
|
|
281e8b737e | ||
|
|
b5ce8e9fbb | ||
|
|
0b17b253d9 | ||
|
|
faffc76a76 | ||
|
|
20fbfb91ca | ||
|
|
4acdd41837 | ||
|
|
1f2dba0a3f | ||
|
|
76f07092df | ||
|
|
91a5b5bbfc | ||
|
|
e3164c95df | ||
|
|
1933ec66d9 | ||
|
|
742df16837 | ||
|
|
c742bdab85 | ||
|
|
cd6d166e76 | ||
|
|
e061219aff | ||
|
|
9f1ce45f06 | ||
|
|
dd04564335 | ||
|
|
03254ad4b7 | ||
|
|
f13a007a1c | ||
|
|
9802b7f2e4 | ||
|
|
a2dcca3815 | ||
|
|
7226bcad50 | ||
|
|
63ab1a205e | ||
|
|
b6ab01d100 | ||
|
|
ecb98e2e82 | ||
|
|
c733127134 | ||
|
|
0cce8e9ce7 | ||
|
|
b773c0709f | ||
|
|
d426b15c1c | ||
|
|
b05627d2d6 | ||
|
|
dbd9df41f0 | ||
|
|
abe5d58f9d | ||
|
|
c081433015 | ||
|
|
22563233a3 | ||
|
|
3aaf92090a | ||
|
|
0acbe56cfb |
+14
-14
@@ -1,15 +1,15 @@
|
||||
# http://editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.md]
|
||||
insert_final_newline = false
|
||||
# http://editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.md]
|
||||
insert_final_newline = false
|
||||
trim_trailing_whitespace = false
|
||||
@@ -1 +0,0 @@
|
||||
root: ./docs/
|
||||
+13
-27
@@ -1,33 +1,19 @@
|
||||
# Contributing to Awesome Cordova Plugins
|
||||
# Contributing to Ionic Native
|
||||
|
||||
## Have an issue?
|
||||
#### There are no rules, but here are a few things to consider:
|
||||
###### Before you submit an issue:
|
||||
* Do a quick search to see if there are similar issues
|
||||
* Make sure that you are waiting for `deviceready` to fire before interacting with any plugin. If you are using Ionic 2, this can be done using [the `Platform.ready()` function](http://ionicframework.com/docs/v2/api/platform/Platform/#ready).
|
||||
* **Check that you are using the latest version of** `ionic-native`, you can install the latest version by running `npm i --save ionic-native@latest`
|
||||
|
||||
Before submitting an issue:
|
||||
###### Still having problems? submit an issue with the following details:
|
||||
* Short description of the issue
|
||||
* Steps to reproduce
|
||||
* Stack trace (if available)
|
||||
|
||||
- Search existing issues to avoid duplicates
|
||||
- Make sure you are using the latest version of `@awesome-cordova-plugins/core`
|
||||
- Ensure `deviceready` has fired before interacting with any plugin
|
||||
|
||||
Still having problems? [Open an issue](https://github.com/danielsogl/awesome-cordova-plugins/issues/new/choose) with:
|
||||
## Feature request?
|
||||
Have a plugin you'd like to see supported? Since Ionic Native is a thin wrapper around existing Cordova plugins, adding support for new plugins is as easy as creating a new wrapper for whatever plugin you'd like to add.
|
||||
|
||||
- Short description of the issue
|
||||
- Steps to reproduce
|
||||
- Stack trace (if available)
|
||||
|
||||
**Please do not submit support requests as issues.** Use the [Discussions](https://github.com/danielsogl/awesome-cordova-plugins/discussions) section instead.
|
||||
|
||||
## Want to add a plugin?
|
||||
|
||||
Awesome Cordova Plugins is a set of wrappers for Cordova plugins. Adding support for a new plugin is straightforward:
|
||||
|
||||
1. Run `npm run plugin:create -- -n PluginName` to scaffold a new plugin wrapper
|
||||
2. Implement the wrapper following the patterns in existing plugins
|
||||
3. Submit a pull request
|
||||
|
||||
## Development setup
|
||||
|
||||
```bash
|
||||
npm ci
|
||||
npm run build
|
||||
npm test
|
||||
```
|
||||
Take a look at our [Developer Guide](https://github.com/driftyco/ionic-native/blob/master/DEVELOPER.md) for more info on adding new plugins.
|
||||
@@ -1 +0,0 @@
|
||||
github: danielsogl
|
||||
@@ -1,63 +0,0 @@
|
||||
name: Bug Report
|
||||
description: Report a bug in an Awesome Cordova Plugins wrapper
|
||||
labels: ["bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to report a bug! Please fill out the sections below.
|
||||
|
||||
- type: input
|
||||
id: plugin
|
||||
attributes:
|
||||
label: Plugin
|
||||
description: Which @awesome-cordova-plugins/* package is affected?
|
||||
placeholder: e.g. @awesome-cordova-plugins/camera
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: current-behavior
|
||||
attributes:
|
||||
label: Current behavior
|
||||
description: Describe what happens.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected-behavior
|
||||
attributes:
|
||||
label: Expected behavior
|
||||
description: Describe what you expected to happen.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: steps
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
description: How can we reproduce the issue?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: |
|
||||
Relevant versions (fill in what you can):
|
||||
value: |
|
||||
- @awesome-cordova-plugins/core version:
|
||||
- Cordova / Capacitor version:
|
||||
- Angular version:
|
||||
- Platform (iOS / Android / Browser):
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: additional
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Any other information, stack traces, or screenshots.
|
||||
validations:
|
||||
required: false
|
||||
@@ -1,5 +0,0 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Support & Questions
|
||||
url: https://github.com/danielsogl/awesome-cordova-plugins/discussions
|
||||
about: Please use Discussions for support requests and questions.
|
||||
@@ -1,35 +0,0 @@
|
||||
name: Feature Request
|
||||
description: Suggest a new plugin wrapper or enhancement
|
||||
labels: ["enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Have a plugin you'd like to see supported? Since Awesome Cordova Plugins
|
||||
is a set of wrappers for Cordova plugins, adding support is as easy as
|
||||
creating a new wrapper.
|
||||
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: What plugin or feature would you like to see added or improved?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: plugin-repo
|
||||
attributes:
|
||||
label: Cordova plugin repository
|
||||
description: Link to the Cordova plugin (if requesting a new wrapper).
|
||||
placeholder: https://github.com/example/cordova-plugin-example
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: use-case
|
||||
attributes:
|
||||
label: Use case
|
||||
description: Describe why this would be useful.
|
||||
validations:
|
||||
required: false
|
||||
@@ -1,20 +0,0 @@
|
||||
## Description
|
||||
|
||||
<!-- What does this PR do? Why is it needed? -->
|
||||
|
||||
## Type of change
|
||||
|
||||
- [ ] Bug fix
|
||||
- [ ] New plugin wrapper
|
||||
- [ ] Enhancement to existing plugin
|
||||
- [ ] Documentation update
|
||||
- [ ] Build / CI change
|
||||
- [ ] Other (please describe)
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] I have read the [Developer Guide](../DEVELOPER.md)
|
||||
- [ ] My code follows the existing code style (`npm run lint`)
|
||||
- [ ] I have tested my changes locally (`npm run build && npm test`)
|
||||
- [ ] I have added/updated documentation if necessary
|
||||
- [ ] Commit messages follow the `type(scope): subject` format
|
||||
@@ -1,36 +0,0 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
concurrency:
|
||||
group: ci-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4.3.1
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4.4.0
|
||||
with:
|
||||
node-version: 22
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Lint
|
||||
run: npm run lint -- --quiet
|
||||
|
||||
- name: Test
|
||||
run: npm test
|
||||
|
||||
- name: Build
|
||||
run: npm run build
|
||||
@@ -1,39 +0,0 @@
|
||||
name: Publish to npm
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.3.1
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4.4.0
|
||||
with:
|
||||
node-version: 22
|
||||
cache: npm
|
||||
registry-url: https://registry.npmjs.org
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Lint
|
||||
run: npm run lint -- --quiet
|
||||
|
||||
- name: Test
|
||||
run: npm test
|
||||
|
||||
- name: Build
|
||||
run: npm run build
|
||||
|
||||
- name: Publish to npm
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
run: npm run npmpub
|
||||
@@ -1,34 +0,0 @@
|
||||
name: Release Please
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
id-token: write
|
||||
|
||||
jobs:
|
||||
release-please:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
release_created: ${{ steps.release.outputs.release_created }}
|
||||
tag_name: ${{ steps.release.outputs.tag_name }}
|
||||
version: ${{ steps.release.outputs.version }}
|
||||
steps:
|
||||
- name: Run Release Please
|
||||
id: release
|
||||
uses: googleapis/release-please-action@v4.4.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
config-file: release-please-config.json
|
||||
manifest-file: .release-please-manifest.json
|
||||
|
||||
publish:
|
||||
needs: release-please
|
||||
if: ${{ needs.release-please.outputs.release_created }}
|
||||
uses: ./.github/workflows/publish.yml
|
||||
secrets: inherit
|
||||
@@ -1,30 +0,0 @@
|
||||
name: Stale issues and PRs
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 6 * * 1"
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v9.1.0
|
||||
with:
|
||||
stale-issue-message: >
|
||||
This issue has been automatically marked as inactive due to lack of
|
||||
recent activity. It will be closed in 14 days if no further activity
|
||||
occurs.
|
||||
stale-pr-message: >
|
||||
This PR has been automatically marked as inactive due to lack of
|
||||
recent activity. It will be closed in 14 days if no further activity
|
||||
occurs.
|
||||
stale-issue-label: "status: inactive"
|
||||
stale-pr-label: "status: inactive"
|
||||
days-before-stale: 60
|
||||
days-before-close: 14
|
||||
exempt-issue-labels: "pinned,keep"
|
||||
exempt-pr-labels: "pinned,keep"
|
||||
+2
-4
@@ -2,8 +2,6 @@
|
||||
node_modules/
|
||||
.idea
|
||||
.tmp
|
||||
aot/
|
||||
dist/
|
||||
src/@awesome-cordova-plugins/plugins/**/ngx
|
||||
*.d.ts
|
||||
injectable-classes.json
|
||||
|
||||
scripts/ionic-native-bower
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
package.json
|
||||
node_modules
|
||||
.github
|
||||
.vscode
|
||||
dist
|
||||
CHANGELOG.md
|
||||
lefthook.yml
|
||||
.prettierignore
|
||||
LICENSE
|
||||
docs/
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
".": "9.1.3"
|
||||
}
|
||||
Vendored
-3
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"typescript.tsdk": "node_modules/typescript/lib"
|
||||
}
|
||||
+730
-5220
File diff suppressed because it is too large
Load Diff
@@ -1,11 +0,0 @@
|
||||
# Contributor Code of Conduct
|
||||
|
||||
As contributors and maintainers of the Ionic project, we pledge to respect everyone who contributes by posting issues, updating documentation, submitting pull requests, providing feedback in comments, and any other activities.
|
||||
|
||||
Communication through any of Ionic's channels (GitHub, Slack, Forum, IRC, mailing lists, Twitter, etc.) must be constructive and never resort to personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
|
||||
|
||||
We promise to extend courtesy and respect to everyone involved in this project regardless of gender, gender identity, sexual orientation, disability, age, race, ethnicity, religion, or level of experience. We expect anyone contributing to the Ionic project to do the same.
|
||||
|
||||
If any member of the community violates this code of conduct, the maintainers of the Ionic project may take action, removing issues, comments, and PRs or blocking accounts as deemed appropriate.
|
||||
|
||||
If you are subject to or witness unacceptable behavior, or have any other concerns, please email us at [hi@ionicframework.com](mailto:hi@ionicframework.com).
|
||||
+95
-141
@@ -1,196 +1,150 @@
|
||||
# Awesome Cordova Plugins Developer Guide
|
||||
# Ionic Native Developer Guide
|
||||
|
||||
This is a short guide on creating new plugin wrappers for Ionic Native.
|
||||
|
||||
This is a short guide on creating new plugin wrappers for Awesome Cordova Plugins.
|
||||
|
||||
## Creating Plugin Wrappers
|
||||
|
||||
First, create a new plugin wrapper from the template:
|
||||
First, let's start by creating a new plugin wrapper from template.
|
||||
|
||||
```
|
||||
// Call this command, and replace PluginName with the name of the plugin you wish to add
|
||||
// Make sure to capitalize the first letter, or use CamelCase if necessary.
|
||||
|
||||
gulp plugin:create -n PluginName
|
||||
|
||||
```bash
|
||||
# Replace PluginName with the name of the plugin you wish to add.
|
||||
# Use CamelCase for the name (e.g. BarcodeScanner, NativeAudio).
|
||||
npm run plugin:create -- -n PluginName
|
||||
// add -m flag to get a minimal template to start with
|
||||
gulp plugin:create -m -n PluginName
|
||||
```
|
||||
|
||||
This creates a new directory `src/@awesome-cordova-plugins/plugins/plugin-name/` with a single `index.ts` file where all plugin definitions go.
|
||||
|
||||
## Plugin Anatomy
|
||||
Let's take a look at the existing plugin wrapper for Geolocation to see what goes into an Ionic Native plugin (comments have been removed for clarity):
|
||||
|
||||
Let's look at the Geolocation plugin wrapper as an example:
|
||||
|
||||
```typescript
|
||||
```
|
||||
@Plugin({
|
||||
pluginName: 'Geolocation',
|
||||
plugin: 'cordova-plugin-geolocation',
|
||||
pluginRef: 'navigator.geolocation',
|
||||
repo: 'https://github.com/apache/cordova-plugin-geolocation',
|
||||
platforms: ['Android', 'iOS', 'Browser'],
|
||||
pluginRef: 'navigator.geolocation'
|
||||
})
|
||||
@Injectable()
|
||||
export class Geolocation extends AwesomeCordovaNativePlugin {
|
||||
export class Geolocation {
|
||||
|
||||
@Cordova()
|
||||
getCurrentPosition(options?: GeolocationOptions): Promise<Geoposition> {
|
||||
return;
|
||||
}
|
||||
getCurrentPosition(options?: GeolocationOptions): Promise<Geoposition> { return; }
|
||||
|
||||
@Cordova({
|
||||
callbackOrder: 'reverse',
|
||||
observable: true,
|
||||
clearFunction: 'clearWatch',
|
||||
clearFunction: 'clearWatch'
|
||||
})
|
||||
watchPosition(options?: GeolocationOptions): Observable<Geoposition> {
|
||||
return;
|
||||
}
|
||||
watchPosition(options?: GeolocationOptions): Observable<Geoposition> { return; }
|
||||
}
|
||||
```
|
||||
|
||||
### The Plugin Class
|
||||
|
||||
Every plugin wrapper extends `AwesomeCordovaNativePlugin` and uses the `@Injectable()` decorator for Angular DI support:
|
||||
First and foremost, we want to create a class representing our plugin, in this case Geolocation.
|
||||
|
||||
```typescript
|
||||
```
|
||||
@Injectable()
|
||||
export class MyPlugin extends AwesomeCordovaNativePlugin {}
|
||||
```
|
||||
class Geolocation {
|
||||
|
||||
### @Plugin Decorator
|
||||
|
||||
The `@Plugin` decorator provides metadata about the Cordova plugin:
|
||||
|
||||
| Property | Description | Example |
|
||||
| ------------ | -------------------------------------- | -------------------------------- |
|
||||
| `pluginName` | Display name (should match class name) | `'Camera'` |
|
||||
| `plugin` | npm package name | `'cordova-plugin-camera'` |
|
||||
| `pluginRef` | Global reference on `window` | `'navigator.camera'` |
|
||||
| `repo` | GitHub repository URL | `'https://github.com/...'` |
|
||||
| `platforms` | Supported platforms | `['Android', 'iOS']` |
|
||||
| `install` | Custom install command (optional) | `'ionic cordova plugin add ...'` |
|
||||
|
||||
The `pluginRef` tells Awesome Cordova Plugins where the Cordova plugin attaches itself. For example, `cordova-plugin-camera` is available at `window.navigator.camera`, so `pluginRef` is `'navigator.camera'`.
|
||||
|
||||
### @Cordova Decorator
|
||||
|
||||
Wraps a stub method in a call to the Cordova plugin. By default it returns a Promise that resolves on the success callback and rejects on the error callback. It also checks that Cordova and the plugin are installed, printing diagnostics if not.
|
||||
|
||||
**Options:**
|
||||
|
||||
| Option | Type | Description |
|
||||
| ----------------- | -------------------- | ------------------------------------------------------------------------- |
|
||||
| `observable` | `boolean` | Return an Observable instead of a Promise |
|
||||
| `sync` | `boolean` | Return the value directly (no Promise/Observable) |
|
||||
| `methodName` | `string` | Cordova method name if different from wrapper method |
|
||||
| `callbackOrder` | `'reverse'` | Set if success/error callbacks come before other args |
|
||||
| `callbackStyle` | `'node' \| 'object'` | `'node'` for `(err, result)` style, `'object'` for callbacks in an object |
|
||||
| `successName` | `string` | Success callback property name (with `callbackStyle: 'object'`) |
|
||||
| `errorName` | `string` | Error callback property name (with `callbackStyle: 'object'`) |
|
||||
| `successIndex` | `number` | Custom position of success callback |
|
||||
| `errorIndex` | `number` | Custom position of error callback |
|
||||
| `clearFunction` | `string` | Method to call when Observable is unsubscribed |
|
||||
| `clearWithArgs` | `boolean` | Call `clearFunction` with the same args as the initial call |
|
||||
| `eventObservable` | `boolean` | Wrap an event listener in an Observable |
|
||||
| `event` | `string` | Event name (required if `eventObservable: true`) |
|
||||
| `element` | `string` | Element to attach event listener to (default: `window`) |
|
||||
| `otherPromise` | `boolean` | Set if the Cordova method already returns a Promise |
|
||||
| `platforms` | `string[]` | Override supported platforms for this method |
|
||||
|
||||
**Examples:**
|
||||
|
||||
```typescript
|
||||
// Default: returns a Promise
|
||||
@Cordova()
|
||||
someMethod(): Promise<any> { return; }
|
||||
|
||||
// Synchronous return
|
||||
@Cordova({ sync: true })
|
||||
getVersion(): string { }
|
||||
|
||||
// Observable with cleanup
|
||||
@Cordova({ observable: true, clearFunction: 'clearWatch' })
|
||||
watchChanges(): Observable<any> { return; }
|
||||
|
||||
// Event-based Observable
|
||||
@Cordova({ eventObservable: true, event: 'onresult' })
|
||||
onResult(): Observable<any> { return; }
|
||||
```
|
||||
|
||||
### @CordovaProperty
|
||||
|
||||
Gets/sets a property on the Cordova plugin object after checking the plugin exists:
|
||||
|
||||
```typescript
|
||||
@CordovaProperty()
|
||||
someProperty: string;
|
||||
```
|
||||
|
||||
### @CordovaCheck
|
||||
|
||||
Checks if the plugin exists before running custom logic. Rejects with an error if the plugin is unavailable:
|
||||
|
||||
```typescript
|
||||
@CordovaCheck()
|
||||
someMethod(): Promise<any> {
|
||||
// Custom logic — only runs if the plugin is available
|
||||
}
|
||||
```
|
||||
|
||||
Options: `observable` (return empty Observable) or `sync` (return nothing) if plugin is missing.
|
||||
#### Class Metadata
|
||||
|
||||
### @CordovaFunctionOverride
|
||||
Next, we need to specify some information about this plugin. Ionic Native is written in [TypeScript](http://www.typescriptlang.org/) and makes use of a feature called [decorators](https://github.com/Microsoft/TypeScript-Handbook/blob/master/pages/Decorators.md). Long story short, decorators allow us to modify or add info to classes and properties using a declarative syntax.
|
||||
|
||||
Wraps a stub function in a Cordova plugin call and returns an Observable:
|
||||
For example, the `@Plugin` decorator adds information about the plugin to our Geolocation class:
|
||||
|
||||
```typescript
|
||||
@CordovaFunctionOverride()
|
||||
someMethod(): Observable<any> { return; }
|
||||
```
|
||||
@Plugin({
|
||||
plugin: 'cordova-plugin-geolocation',
|
||||
pluginRef: 'navigator.geolocation'
|
||||
})
|
||||
@Injectable()
|
||||
export class Geolocation {
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
## Testing Your Changes
|
||||
Here, `plugin` is the name of the plugin package on npm and used when calling `cordova plugin add`.
|
||||
|
||||
```bash
|
||||
# Build all packages
|
||||
npm run build
|
||||
`pluginRef` refers to the where on `window` the underlying Cordova plugin is normally exposed. For example, in the case of the Cordova Geolocation plugin, normally you would make calls like `window.navigator.geolocation.getCurrentPosition({}, success, error)`, so the `pluginRef` in this case is `navigator.geolocation`.
|
||||
|
||||
# Run tests
|
||||
npm test
|
||||
#### Class Methods
|
||||
|
||||
# Lint your code
|
||||
npm run lint
|
||||
Now all that's left is to add the plugin methods, in this case `getCurrentPosition` and `watchPosition`.
|
||||
|
||||
Let's take a look at `getCurrentPosition` first.
|
||||
|
||||
```
|
||||
@Cordova()
|
||||
getCurrentPosition(options?: GeolocationOptions): Promise<Geoposition> { return }
|
||||
```
|
||||
|
||||
To test in a real app, copy the built package to your app's `node_modules`:
|
||||
It's just a stub. The `return` is only there to keep the TypeScript type-checker from complaining since we indicate that `getCurrentPosition` returns a `Promise<Geoposition>`.
|
||||
|
||||
```bash
|
||||
cp -r dist/@awesome-cordova-plugins/plugin-name ../my-app/node_modules/@awesome-cordova-plugins/
|
||||
By default, the `@Cordova` decorator wraps the plugin callbacks in a Promise that resolves when the success callback is called and rejects when the error callback is called. It also ensures that Cordova and the underlying plugin are available, and prints helpful diagnostics if they aren't.
|
||||
|
||||
You'll also notice that `getCurrentPosition` is a static method. That's because the plugin class is just a utility class to call the underlying Cordova plugin methods, it's not an instance and has no state.
|
||||
|
||||
Next, let's look at the `watchPosition` method.
|
||||
|
||||
```
|
||||
@Cordova({
|
||||
callbackOrder: 'reverse',
|
||||
observable: true,
|
||||
clearFunction: 'clearWatch'
|
||||
})
|
||||
watchPosition(options?: GeolocationOptions): Observable<Geoposition> { return }
|
||||
```
|
||||
|
||||
## Regenerating Documentation
|
||||
The `@Cordova` decorator has a few more options now.
|
||||
|
||||
After adding or modifying a plugin, regenerate the documentation:
|
||||
`observable` indicates that this method may call its callbacks multiple times, so `@Cordova` wraps it in an [`Observable`](https://github.com/driftyco/ionic-native#promises-and-observables) instead of a Promise.
|
||||
|
||||
```bash
|
||||
npm run readmes
|
||||
```
|
||||
`callbackOrder` refers to the method signature of the underlying Cordova plugin, and tells Ionic Native which arguments are the callbacks to map to the wrapping Promise or Observable. In this case, the signature is [`watchPosition(success, error, options)`](https://github.com/apache/cordova-plugin-geolocation#navigatorgeolocationwatchposition), so we need to tell `@Cordova` that the callbacks are the first arguments, not the last arguments. For rare cases, you can also specify the options `successIndex` and `errorIndex` to indicate where in the argument list the callbacks are located.
|
||||
|
||||
This generates plugin README files and updates the GitBook SUMMARY.md from the source code.
|
||||
`clearFunction` is used in conjunction with the `observable` option and indicates the function to be called when the Observable is disposed.
|
||||
|
||||
### Testing your changes
|
||||
|
||||
You need to run `npm run build` in the `ionic-native` project, this will create a `dist` directory. Then, you must go to your ionic application folder and replace your current `node_modules/ionic-native/dist/` with the newly generated one.
|
||||
|
||||
### Cleaning the code
|
||||
|
||||
You need to run `npm run lint` to analyze the code and ensure it's consistency with the repository style. Fix any errors before submitting a PR.
|
||||
|
||||
### 'Wrapping' Up
|
||||
|
||||
That's it! The only thing left to do is rigorously document the plugin and it's usage. Take a look at some of the other plugins for good documentation styles.
|
||||
|
||||
## Commit Message Format
|
||||
|
||||
Follow the [Conventional Commits](https://www.conventionalcommits.org/) format:
|
||||
We have very precise rules over how our git commit messages can be formatted. This leads to more readable messages that are easy to follow when looking through the project history. But also, we use the git commit messages to generate the our change log. (Ok you got us, it's basically Angular's commit message format).
|
||||
|
||||
```
|
||||
type(scope): subject
|
||||
```
|
||||
`type(scope): subject`
|
||||
|
||||
**Types:** `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `chore`
|
||||
#### Type
|
||||
Must be one of the following:
|
||||
|
||||
**Scope:** The plugin name or area being changed (e.g. `camera`, `core`, `build`)
|
||||
* **fix**: A bug fix
|
||||
* **feat**: A new feature
|
||||
* **docs**: Documentation only changes
|
||||
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
|
||||
* **refactor**: A code change that neither fixes a bug nor adds a feature
|
||||
* **perf**: A code change that improves performance
|
||||
* **test**: Adding missing tests
|
||||
* **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation
|
||||
|
||||
**Subject:** Imperative, present tense, lowercase, no period at end.
|
||||
#### Scope
|
||||
The scope could be anything specifying place of the commit change. For example, the name of the plugin being changed
|
||||
|
||||
Examples:
|
||||
#### Subject
|
||||
The subject contains succinct description of the change:
|
||||
|
||||
```
|
||||
feat(camera): add support for front-facing camera option
|
||||
fix(geolocation): handle timeout error on Android
|
||||
docs(nfc): update installation instructions
|
||||
```
|
||||
* use the imperative, present tense: "change" not "changed" nor "changes"
|
||||
* do not capitalize first letter
|
||||
* do not place a period (.) at the end
|
||||
* entire length of the commit message must not go over 50 characters
|
||||
@@ -1,23 +1,23 @@
|
||||
Copyright 2015-present Drifty Co.
|
||||
http://drifty.com/
|
||||
|
||||
MIT License
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
Copyright 2015-present Drifty Co.
|
||||
http://drifty.com/
|
||||
|
||||
MIT License
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
@@ -1,199 +1,95 @@
|
||||

|
||||
[](https://circleci.com/gh/driftyco/ionic-native) [](http://commitizen.github.io/cz-cli/)
|
||||
[](https://www.npmjs.com/package/ionic-native)
|
||||
|
||||
# Awesome Cordova Plugins
|
||||
[](https://nodei.co/npm/ionic-native/)
|
||||
[](https://nodei.co/npm/ionic-native/)
|
||||
|
||||
Awesome Cordova Plugins is a curated set of wrappers for Cordova plugins that make adding any native functionality you need to your [Ionic](https://ionicframework.com/) mobile app easy.
|
||||
# Ionic Native
|
||||
|
||||
Awesome Cordova Plugins wraps plugin callbacks in a Promise or Observable, providing a common interface for all plugins and making it easy to use plugins with Angular change detection.
|
||||
Ionic Native is a curated set of wrappers for Cordova plugins that make adding any native functionality you need to your [Ionic](http://ionicframework.com/), Cordova, or Web View mobile app easy.
|
||||
|
||||
To learn more about the reasons why Ionic Native was renamed to Awesome Cordova Plugins, read the official [Ionic blog](https://ionicframework.com/blog/a-new-chapter-for-ionic-native/) post by Max Lyncht.
|
||||
### Documentation
|
||||
|
||||
## Capacitor Support
|
||||
For the full Ionic Native documentation, please visit [http://ionicframework.com/docs/v2/native/](http://ionicframework.com/docs/v2/native/).
|
||||
|
||||
In addition to Cordova, Awesome Cordova Plugins also works with [Capacitor](https://capacitorjs.com), Ionic's official native runtime. Basic usage below. For complete details, [see the Capacitor documentation](https://capacitorjs.com/docs/v2/cordova/using-cordova-plugins).
|
||||
### Promises and Observables
|
||||
|
||||
## Installation
|
||||
Ionic Native wraps plugin callbacks in a Promise or [Observable](https://gist.github.com/staltz/868e7e9bc2a7b8c1f754), providing a common interface for all plugins and ensuring that native events trigger change detection in Angular 2.
|
||||
|
||||
Run following command to install Awesome Cordova Plugins in your project.
|
||||
|
||||
```bash
|
||||
npm install @awesome-cordova-plugins/core --save
|
||||
```
|
||||
import { Geolocation } from 'ionic-native';
|
||||
|
||||
You also need to install the Awesome Cordova Plugins package for each plugin you want to add. Please see the [Awesome Cordova Plugins documentation](https://ionicframework.com/docs/native/) for complete instructions on how to add and use the plugins.
|
||||
|
||||
## Documentation
|
||||
|
||||
For the full Awesome Cordova Plugins documentation, please visit [https://ionicframework.com/docs/native/](https://ionicframework.com/docs/native/).
|
||||
|
||||
### Basic Usage
|
||||
|
||||
#### Ionic/Angular apps (Standalone)
|
||||
|
||||
Angular v14+ uses standalone components by default. To use a plugin, register it as a provider in your application bootstrap and inject it using Angular's `inject()` function.
|
||||
Make sure to import the injectable class from the `/ngx` directory as shown in the following examples:
|
||||
|
||||
```typescript
|
||||
// main.ts
|
||||
import { bootstrapApplication } from '@angular/platform-browser';
|
||||
import { Camera } from '@awesome-cordova-plugins/camera/ngx';
|
||||
import { Geolocation } from '@awesome-cordova-plugins/geolocation/ngx';
|
||||
import { AppComponent } from './app/app.component';
|
||||
|
||||
bootstrapApplication(AppComponent, {
|
||||
providers: [Camera, Geolocation],
|
||||
Geolocation.getCurrentPosition().then(pos => {
|
||||
console.log('lat: ' + pos.coords.latitude + ', lon: ' + pos.coords.longitude);
|
||||
});
|
||||
|
||||
let watch = Geolocation.watchPosition().subscribe(pos => {
|
||||
console.log('lat: ' + pos.coords.latitude + ', lon: ' + pos.coords.longitude);
|
||||
});
|
||||
|
||||
// to stop watching
|
||||
watch.unsubscribe();
|
||||
```
|
||||
|
||||
```typescript
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { inject } from '@angular/core';
|
||||
import { Geolocation } from '@awesome-cordova-plugins/geolocation/ngx';
|
||||
import { Platform } from '@ionic/angular';
|
||||
### Angular 1
|
||||
|
||||
@Component({
|
||||
selector: 'app-my-component',
|
||||
standalone: true,
|
||||
template: `<p>My Component</p>`,
|
||||
})
|
||||
export class MyComponent implements OnInit {
|
||||
private geolocation = inject(Geolocation);
|
||||
private platform = inject(Platform);
|
||||
Ionic Native works as a stand-in for [ngCordova](http://ngcordova.com/). In many cases, the usage is identical, but we import `ionic.native` instead of `ngCordova` as our module.
|
||||
|
||||
async ngOnInit() {
|
||||
await this.platform.ready();
|
||||
As a rule of thumb: take the ES6 class name of the plugin and add `$cordova` to get the service name. For example, `Geolocation` would be `$cordovaGeolocation`, and `Camera` will be `$cordovaCamera`:
|
||||
|
||||
// get position
|
||||
const pos = await this.geolocation.getCurrentPosition();
|
||||
console.log(`lat: ${pos.coords.latitude}, lon: ${pos.coords.longitude}`);
|
||||
```javascript
|
||||
angular.module('myApp', ['ionic', 'ionic.native'])
|
||||
|
||||
// watch position
|
||||
const watch = this.geolocation.watchPosition().subscribe((pos) => {
|
||||
console.log(`lat: ${pos.coords.latitude}, lon: ${pos.coords.longitude}`);
|
||||
.controller('MyCtrl', function($scope, $cordovaCamera) {
|
||||
$scope.takePicture = function() {
|
||||
$cordovaCamera.getPicture(opts).then(function(p) {
|
||||
}, function(err) {
|
||||
});
|
||||
|
||||
// to stop watching
|
||||
watch.unsubscribe();
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Ionic/React apps
|
||||
|
||||
React apps must use Capacitor to build native mobile apps. However, Awesome Cordova Plugins (and therefore, Cordova plugins) can still be used.
|
||||
|
||||
```bash
|
||||
# Install Core library (once per project)
|
||||
npm install @awesome-cordova-plugins/core
|
||||
|
||||
# Install Awesome Cordova Plugins TypeScript wrapper
|
||||
npm install @awesome-cordova-plugins/barcode-scanner
|
||||
|
||||
# Install Cordova plugin
|
||||
npm install phonegap-plugin-barcodescanner
|
||||
|
||||
# Update native platform project(s) to include newly added plugin
|
||||
ionic cap sync
|
||||
```
|
||||
|
||||
Import the plugin object then use its static methods:
|
||||
|
||||
```typescript
|
||||
import { BarcodeScanner } from '@awesome-cordova-plugins/barcode-scanner';
|
||||
|
||||
const Tab1: React.FC = () => {
|
||||
const openScanner = async () => {
|
||||
const data = await BarcodeScanner.scan();
|
||||
console.log(`Barcode data: ${data.text}`);
|
||||
};
|
||||
return (
|
||||
<IonPage>
|
||||
<IonHeader>
|
||||
<IonToolbar>
|
||||
<IonTitle>Tab 1</IonTitle>
|
||||
</IonToolbar>
|
||||
</IonHeader>
|
||||
<IonContent>
|
||||
<IonButton onClick={openScanner}>Scan barcode</IonButton>
|
||||
</IonContent>
|
||||
</IonPage>
|
||||
);
|
||||
};
|
||||
```
|
||||
|
||||
#### ES2015+/TypeScript (without Angular)
|
||||
|
||||
These modules can also be used without Angular by calling static methods directly:
|
||||
|
||||
```js
|
||||
import { Camera } from '@awesome-cordova-plugins/camera';
|
||||
|
||||
document.addEventListener('deviceready', () => {
|
||||
Camera.getPicture()
|
||||
.then((data) => console.log('Took a picture!', data))
|
||||
.catch((e) => console.log('Error occurred while taking a picture', e));
|
||||
});
|
||||
```
|
||||
|
||||
### Mocking and Browser Development (Ionic/Angular apps only)
|
||||
For services that return observables, the Angular 1 digest cycle must be done manually (currently):
|
||||
|
||||
Awesome Cordova Plugins makes it possible to mock plugins and develop nearly the entirety of your app in the browser or in `ionic serve`.
|
||||
```javascript
|
||||
angular.module('myApp', ['ionic', 'ionic.native'])
|
||||
|
||||
To do this, you need to provide a mock implementation of the plugins you wish to use. Here's an example of mocking the `Camera` plugin to return a stock image while in development:
|
||||
|
||||
First create a mock class that extends the `Camera` class:
|
||||
|
||||
```typescript
|
||||
import { Camera } from '@awesome-cordova-plugins/camera/ngx';
|
||||
|
||||
class CameraMock extends Camera {
|
||||
getPicture(options) {
|
||||
return new Promise((resolve, reject) => {
|
||||
resolve('BASE_64_ENCODED_DATA_GOES_HERE');
|
||||
.controller('MyCtrl', function($scope, $cordovaGeolocation) {
|
||||
$scope.takePicture = function() {
|
||||
$cordovaGeolocation.watchPosition(opts).subscribe(function(p) {
|
||||
$scope.$apply(function() {
|
||||
$scope.position = p.coords;
|
||||
});
|
||||
}, function(err) {
|
||||
});
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Then override the `Camera` provider in your application bootstrap:
|
||||
|
||||
```typescript
|
||||
// main.ts
|
||||
import { bootstrapApplication } from '@angular/platform-browser';
|
||||
import { Camera } from '@awesome-cordova-plugins/camera/ngx';
|
||||
import { AppComponent } from './app/app.component';
|
||||
|
||||
class CameraMock extends Camera {
|
||||
getPicture(options) {
|
||||
return Promise.resolve('BASE_64_ENCODED_DATA_GOES_HERE');
|
||||
}
|
||||
}
|
||||
|
||||
bootstrapApplication(AppComponent, {
|
||||
providers: [{ provide: Camera, useClass: CameraMock }],
|
||||
};
|
||||
});
|
||||
```
|
||||
|
||||
### Runtime Diagnostics
|
||||
|
||||
Spent way too long diagnosing an issue only to realize a plugin wasn't firing or installed? Awesome Cordova Plugins lets you know what the issue is and how you can resolve it.
|
||||
Spent way too long diagnosing an issue only to realize a plugin wasn't firing or installed? Ionic Native lets you know what the issue is and how you can resolve it.
|
||||
|
||||

|
||||
|
||||
## Installation
|
||||
|
||||
Run following commmand to install ionic-native in your project.
|
||||
```
|
||||
npm install ionic-native --save
|
||||
```
|
||||
|
||||

|
||||
|
||||
## Plugin Missing?
|
||||
Let us know or submit a PR! Take a look at [the Developer Guide](https://github.com/driftyco/ionic-native/blob/master/DEVELOPER.md) for more on how to contribute. :heart:
|
||||
|
||||
Let us know or submit a PR! Take a look at [the Developer Guide](https://github.com/danielsogl/awesome-cordova-plugins/blob/main/DEVELOPER.md) for more on how to contribute. :heart:
|
||||
|
||||
# Credits
|
||||
|
||||
Ibby Hadeed - [@ihadeed](https://github.com/ihadeed)
|
||||
Ibby Hadeed - [@ihadeed](http://github.com/ihadeed)
|
||||
|
||||
Daniel Sogl - [LinkedIn](https://www.linkedin.com/in/daniel-sogl)
|
||||
Tim Lancina - [@timlancina](http://twitter.com/timlancina)
|
||||
|
||||
Tim Lancina - [@timlancina](https://twitter.com/timlancina)
|
||||
|
||||
Mike Hartington - [@mhartington](https://twitter.com/mhartington)
|
||||
|
||||
Max Lynch - [@maxlynch](https://twitter.com/maxlynch)
|
||||
Max Lynch - [@maxlynch](http://twitter.com/maxlynch)
|
||||
|
||||
Rob Wormald - [@robwormald](https://twitter.com/robwormald)
|
||||
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
# Security Policy
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
If you discover a security vulnerability in Awesome Cordova Plugins, please report it responsibly.
|
||||
|
||||
**Do not open a public GitHub issue for security vulnerabilities.**
|
||||
|
||||
Instead, please send an email to the maintainer or use [GitHub's private vulnerability reporting](https://github.com/danielsogl/awesome-cordova-plugins/security/advisories/new).
|
||||
|
||||
### What to include
|
||||
|
||||
- Description of the vulnerability
|
||||
- Steps to reproduce
|
||||
- Affected versions
|
||||
- Potential impact
|
||||
|
||||
### Response
|
||||
|
||||
You can expect an initial response within 72 hours. We will work with you to understand the issue and coordinate a fix before any public disclosure.
|
||||
|
||||
## Scope
|
||||
|
||||
This policy covers the `@awesome-cordova-plugins/*` TypeScript wrapper packages. For vulnerabilities in the underlying Cordova plugins themselves, please report to the respective plugin maintainers.
|
||||
|
||||
## Supported Versions
|
||||
|
||||
Only the latest major version receives security updates.
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
machine:
|
||||
node:
|
||||
version: 7.10.0
|
||||
ruby:
|
||||
version: 2.1.2
|
||||
|
||||
general:
|
||||
branches:
|
||||
only:
|
||||
- master # ignore PRs and branches
|
||||
|
||||
dependencies:
|
||||
pre:
|
||||
- ./scripts/docs/prepare.sh
|
||||
cache_directories:
|
||||
- "~/ionic-site" # cache ionic-site
|
||||
|
||||
test:
|
||||
override:
|
||||
- npm run build
|
||||
|
||||
deployment:
|
||||
staging:
|
||||
branch: master
|
||||
commands:
|
||||
- ./scripts/docs/update_docs.sh
|
||||
@@ -1,47 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Awesome Cordova Plugins provides TypeScript wrappers for Cordova and Ionic
|
||||
native plugins with Promise and Observable support for Angular, React, and
|
||||
Capacitor apps.
|
||||
---
|
||||
|
||||
# Awesome Cordova Plugins
|
||||
|
||||
Awesome Cordova Plugins is a curated set of TypeScript wrappers for Cordova plugins that make adding native functionality to your [Ionic](https://ionicframework.com/) mobile app easy.
|
||||
|
||||
Every Cordova plugin callback is wrapped in a Promise or Observable, providing a common interface and seamless integration with Angular change detection.
|
||||
|
||||
## Features
|
||||
|
||||
- **TypeScript wrappers** for over 250 Cordova plugins
|
||||
- **Promise and Observable** support for modern async patterns
|
||||
- **Angular integration** with automatic change detection via `/ngx` imports
|
||||
- **Framework-agnostic** — works with Angular, React, or plain TypeScript
|
||||
- **Capacitor compatible** — use Cordova plugins in Capacitor projects
|
||||
|
||||
## Quick Start
|
||||
|
||||
Install the core library and any plugin wrapper you need:
|
||||
|
||||
```bash
|
||||
npm install @awesome-cordova-plugins/core
|
||||
npm install @awesome-cordova-plugins/camera
|
||||
```
|
||||
|
||||
Then install the corresponding Cordova plugin:
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-camera
|
||||
```
|
||||
|
||||
See the [Installation](installation.md) guide for detailed framework-specific setup instructions.
|
||||
|
||||
## Need Help?
|
||||
|
||||
- Browse the [Plugin List](plugins/) to find the wrapper you need
|
||||
- Check the [FAQ](faq.md) for common issues and solutions
|
||||
- [Report an issue](https://github.com/danielsogl/awesome-cordova-plugins/issues) or contribute on GitHub
|
||||
|
||||
## Maintainer
|
||||
|
||||
[Daniel Sogl](https://www.linkedin.com/in/daniel-sogl)
|
||||
-266
@@ -1,266 +0,0 @@
|
||||
# Table of contents
|
||||
|
||||
* [Welcome](README.md)
|
||||
* [Installation](installation.md)
|
||||
* [FAQ](faq.md)
|
||||
|
||||
## Plugins
|
||||
|
||||
* [Overview](plugins/README.md)
|
||||
* ["In App Purchase 3"](plugins/in-app-purchase-3/README.md)
|
||||
* [3D Touch](plugins/three-dee-touch/README.md)
|
||||
* [ABBYY Real-Time Recognition](plugins/abbyy-rtr/README.md)
|
||||
* [Action Sheet](plugins/action-sheet/README.md)
|
||||
* [Adjust](plugins/adjust/README.md)
|
||||
* [AdMob](plugins/admob/README.md)
|
||||
* [AdMob Plus](plugins/admob-plus/README.md)
|
||||
* [AdMob Pro](plugins/admob-pro/README.md)
|
||||
* [AdvancedImagePicker](plugins/advanced-image-picker/README.md)
|
||||
* [AES256](plugins/aes-256/README.md)
|
||||
* [Airship](plugins/airship/README.md)
|
||||
* [AllInOneSDK](plugins/all-in-one-sdk/README.md)
|
||||
* [Analytics Firebase](plugins/analytics-firebase/README.md)
|
||||
* [Android ExoPlayer](plugins/android-exoplayer/README.md)
|
||||
* [Android Full Screen](plugins/android-full-screen/README.md)
|
||||
* [Android Notch](plugins/android-notch/README.md)
|
||||
* [Android Permissions](plugins/android-permissions/README.md)
|
||||
* [Anyline](plugins/anyline/README.md)
|
||||
* [App Availability](plugins/app-availability/README.md)
|
||||
* [App Center Analytics](plugins/app-center-analytics/README.md)
|
||||
* [App Center Crashes](plugins/app-center-crashes/README.md)
|
||||
* [App Center Low Memory](plugins/app-center-low-memory/README.md)
|
||||
* [App Center Push](plugins/app-center-push/README.md)
|
||||
* [App Center Shared](plugins/app-center-shared/README.md)
|
||||
* [App Preferences](plugins/app-preferences/README.md)
|
||||
* [App Rate](plugins/app-rate/README.md)
|
||||
* [App Review](plugins/app-review/README.md)
|
||||
* [App Version](plugins/app-version/README.md)
|
||||
* [Apple Wallet](plugins/apple-wallet/README.md)
|
||||
* [Applovin](plugins/applovin/README.md)
|
||||
* [Appsflyer](plugins/appsflyer/README.md)
|
||||
* [Audio Management](plugins/audio-management/README.md)
|
||||
* [Background Fetch](plugins/background-fetch/README.md)
|
||||
* [Background Geolocation](plugins/background-geolocation/README.md)
|
||||
* [Background Mode](plugins/background-mode/README.md)
|
||||
* [BackgroundUpload](plugins/background-upload/README.md)
|
||||
* [Badge](plugins/badge/README.md)
|
||||
* [Barcode Scanner](plugins/barcode-scanner/README.md)
|
||||
* [Barkoder](plugins/barkoder/README.md)
|
||||
* [Battery Status](plugins/battery-status/README.md)
|
||||
* [BioCatch](plugins/biocatch/README.md)
|
||||
* [BiometricWrapper](plugins/biometric-wrapper/README.md)
|
||||
* [BLE](plugins/ble/README.md)
|
||||
* [BlinkId](plugins/blinkid/README.md)
|
||||
* [Bluetooth Classic Serial Port](plugins/bluetooth-classic-serial-port/README.md)
|
||||
* [Bluetooth Serial](plugins/bluetooth-serial/README.md)
|
||||
* [BluetoothLE](plugins/bluetooth-le/README.md)
|
||||
* [BranchIo](plugins/branch-io/README.md)
|
||||
* [Brightness](plugins/brightness/README.md)
|
||||
* [Broadcaster](plugins/broadcaster/README.md)
|
||||
* [Browser Tab](plugins/browser-tab/README.md)
|
||||
* [Build Info](plugins/build-info/README.md)
|
||||
* [Calendar](plugins/calendar/README.md)
|
||||
* [Call Directory](plugins/call-directory/README.md)
|
||||
* [Call Number](plugins/call-number/README.md)
|
||||
* [Camera](plugins/camera/README.md)
|
||||
* [Camera Preview](plugins/camera-preview/README.md)
|
||||
* [CFPaymentGateway](plugins/cashfree-pg/README.md)
|
||||
* [Checkout](plugins/checkout/README.md)
|
||||
* [Chooser](plugins/chooser/README.md)
|
||||
* [Chooser](plugins/chooser-simple-file/README.md)
|
||||
* [CleverTap](plugins/clevertap/README.md)
|
||||
* [Clipboard](plugins/clipboard/README.md)
|
||||
* [Cloud Settings](plugins/cloud-settings/README.md)
|
||||
* [Code Push](plugins/code-push/README.md)
|
||||
* [Contacts](plugins/contacts/README.md)
|
||||
* [cordova-plugin-hypertrack-v3](plugins/hyper-track/README.md)
|
||||
* [Crashlytics](plugins/fabric/README.md)
|
||||
* [Crop Plugin Privacy](plugins/crop-plugin-privacy/README.md)
|
||||
* [CustomUiSdk](plugins/custom-ui-sdk/README.md)
|
||||
* [CustomUISDK](plugins/custom-uisdk/README.md)
|
||||
* [Deeplinks](plugins/deeplinks/README.md)
|
||||
* [Device](plugins/device/README.md)
|
||||
* [Device Accounts](plugins/device-accounts/README.md)
|
||||
* [Device eMagnetometer](plugins/magnetometer/README.md)
|
||||
* [Device Motion](plugins/device-motion/README.md)
|
||||
* [Device Orientation](plugins/device-orientation/README.md)
|
||||
* [Dfu Update](plugins/dfu-update/README.md)
|
||||
* [Diagnostic](plugins/diagnostic/README.md)
|
||||
* [Dialogs](plugins/dialogs/README.md)
|
||||
* [DNS](plugins/dns/README.md)
|
||||
* [Document Downloader](plugins/downloader/README.md)
|
||||
* [Document Scanner](plugins/document-scanner/README.md)
|
||||
* [Document Viewer](plugins/document-viewer/README.md)
|
||||
* [dynamsoft-barcode-scanner](plugins/dynamsoft-barcode-scanner/README.md)
|
||||
* [Email Composer](plugins/email-composer/README.md)
|
||||
* [Facebook](plugins/facebook/README.md)
|
||||
* [FbSdk](plugins/fbsdk/README.md)
|
||||
* [FCM](plugins/fcm/README.md)
|
||||
* [FFMpeg](plugins/ffmpeg/README.md)
|
||||
* [File](plugins/file/README.md)
|
||||
* [File MD5](plugins/file-md5/README.md)
|
||||
* [File Opener](plugins/file-opener/README.md)
|
||||
* [File Path](plugins/file-path/README.md)
|
||||
* [File Transfer](plugins/file-transfer/README.md)
|
||||
* [FileChooser Plugin](plugins/file-chooser/README.md)
|
||||
* [Fingerprint AIO](plugins/fingerprint-aio/README.md)
|
||||
* [Firebase](plugins/firebase/README.md)
|
||||
* [Firebase Analytics](plugins/firebase-analytics/README.md)
|
||||
* [Firebase Authentication](plugins/firebase-authentication/README.md)
|
||||
* [Firebase Config](plugins/firebase-config/README.md)
|
||||
* [Firebase Crashlytics](plugins/firebase-crashlytics/README.md)
|
||||
* [Firebase Dynamic Links](plugins/firebase-dynamic-links/README.md)
|
||||
* [Firebase Messaging](plugins/firebase-messaging/README.md)
|
||||
* [Firebase Model](plugins/firebase-model/README.md)
|
||||
* [Firebase Vision](plugins/firebase-vision/README.md)
|
||||
* [Firebase X](plugins/firebase-x/README.md)
|
||||
* [FirebaseCrash](plugins/firebase-crash/README.md)
|
||||
* [Flashlight](plugins/flashlight/README.md)
|
||||
* [Foreground Service](plugins/foreground-service/README.md)
|
||||
* [FTP](plugins/ftp/README.md)
|
||||
* [Gao De Location](plugins/gao-de-location/README.md)
|
||||
* [gcdwebserver](plugins/gcdwebserver/README.md)
|
||||
* [Ge Tui Sdk Plugin](plugins/ge-tui-sdk-plugin/README.md)
|
||||
* [Genius Scan](plugins/genius-scan/README.md)
|
||||
* [Geolocation](plugins/geolocation/README.md)
|
||||
* [Globalization](plugins/globalization/README.md)
|
||||
* [Google Analytics](plugins/google-analytics/README.md)
|
||||
* [Google Nearby](plugins/google-nearby/README.md)
|
||||
* [Google Plus](plugins/google-plus/README.md)
|
||||
* [Header Color](plugins/header-color/README.md)
|
||||
* [Health](plugins/health/README.md)
|
||||
* [Health Kit](plugins/health-kit/README.md)
|
||||
* [HTTP](plugins/approov-advanced-http/README.md)
|
||||
* [HTTP](plugins/http/README.md)
|
||||
* [Iamport Cordova](plugins/iamport-cordova/README.md)
|
||||
* [IBeacon](plugins/ibeacon/README.md)
|
||||
* [Image Picker](plugins/image-picker/README.md)
|
||||
* [ImageResizer](plugins/image-resizer/README.md)
|
||||
* [Imap](plugins/imap/README.md)
|
||||
* [In App Browser](plugins/in-app-browser/README.md)
|
||||
* [In App Purchase 2](plugins/in-app-purchase-2/README.md)
|
||||
* [In App Review](plugins/in-app-review/README.md)
|
||||
* [In App Update](plugins/in-app-update/README.md)
|
||||
* [Insomnia](plugins/insomnia/README.md)
|
||||
* [Instagram](plugins/instagram/README.md)
|
||||
* [Intercom](plugins/intercom/README.md)
|
||||
* [Ionic Webview](plugins/ionic-webview/README.md)
|
||||
* [iOS DocumentPicker](plugins/document-picker/README.md)
|
||||
* [ios-aswebauthenticationsession-api](plugins/ios-aswebauthenticationsession-api/README.md)
|
||||
* [IRoot](plugins/i-root/README.md)
|
||||
* [Is Debug](plugins/is-debug/README.md)
|
||||
* [Keyboard](plugins/keyboard/README.md)
|
||||
* [Keychain](plugins/keychain/README.md)
|
||||
* [Kommunicate](plugins/kommunicate/README.md)
|
||||
* [Launch Navigator](plugins/launch-navigator/README.md)
|
||||
* [Launch Review](plugins/launch-review/README.md)
|
||||
* [Lets Cooee](plugins/lets-cooee/README.md)
|
||||
* [Line Login](plugins/line-login/README.md)
|
||||
* [Local Notifications](plugins/local-notifications/README.md)
|
||||
* [LocalBackup](plugins/local-backup/README.md)
|
||||
* [Location Accuracy](plugins/location-accuracy/README.md)
|
||||
* [Lottie Splash Screen](plugins/lottie-splash-screen/README.md)
|
||||
* [Market](plugins/market/README.md)
|
||||
* [Media](plugins/media/README.md)
|
||||
* [Media Capture](plugins/media-capture/README.md)
|
||||
* [Metrix](plugins/metrix/README.md)
|
||||
* [Mixpanel](plugins/mixpanel/README.md)
|
||||
* [MLKitTranslate](plugins/mlkit-translate/README.md)
|
||||
* [Mobile Accessibility](plugins/mobile-accessibility/README.md)
|
||||
* [Mobile Messaging](plugins/mobile-messaging/README.md)
|
||||
* [Multiple Documents Picker](plugins/multiple-document-picker/README.md)
|
||||
* [Music Controls](plugins/music-controls/README.md)
|
||||
* [Native Audio](plugins/native-audio/README.md)
|
||||
* [Native Geocoder](plugins/native-geocoder/README.md)
|
||||
* [Native Keyboard](plugins/native-keyboard/README.md)
|
||||
* [Native Page Transitions](plugins/native-page-transitions/README.md)
|
||||
* [Native Storage](plugins/native-storage/README.md)
|
||||
* [NativeView](plugins/native-view/README.md)
|
||||
* [Network](plugins/network/README.md)
|
||||
* [Network Interface](plugins/network-interface/README.md)
|
||||
* [Network Permission](plugins/network-permission/README.md)
|
||||
* [newrelic mobile](plugins/newrelic/README.md)
|
||||
* [NFC](plugins/nfc/README.md)
|
||||
* [OCR](plugins/ocr/README.md)
|
||||
* [OneSignal](plugins/onesignal/README.md)
|
||||
* [Open Native Settings](plugins/open-native-settings/README.md)
|
||||
* [OpenALPR](plugins/openalpr/README.md)
|
||||
* [OpenInstall](plugins/openinstall/README.md)
|
||||
* [PayTabs](plugins/paytabs/README.md)
|
||||
* [PDFGenerator](plugins/pdf-generator/README.md)
|
||||
* [Photo Library](plugins/photo-library/README.md)
|
||||
* [Photo Viewer](plugins/photo-viewer/README.md)
|
||||
* [PlayInstallReferrer](plugins/play-install-referrer/README.md)
|
||||
* [Pollfish](plugins/pollfish/README.md)
|
||||
* [Power Management](plugins/power-management/README.md)
|
||||
* [Power Optimization](plugins/power-optimization/README.md)
|
||||
* [Preview/Open Any File](plugins/preview-any-file/README.md)
|
||||
* [Printer](plugins/printer/README.md)
|
||||
* [PSPDFKit-Cordova](plugins/pspdfkit-cordova/README.md)
|
||||
* [Purchases](plugins/purchases/README.md)
|
||||
* [Push](plugins/push/README.md)
|
||||
* [Push Notifications - WonderPush](plugins/wonderpush/README.md)
|
||||
* [PushapePush](plugins/pushape-push/README.md)
|
||||
* [Safari View Controller](plugins/safari-view-controller/README.md)
|
||||
* [SaveDialog](plugins/save-dialog/README.md)
|
||||
* [Screen Orientation](plugins/screen-orientation/README.md)
|
||||
* [Screenshot](plugins/screenshot/README.md)
|
||||
* [Secure Storage](plugins/secure-storage/README.md)
|
||||
* [Secure Storage Echo](plugins/secure-storage-echo/README.md)
|
||||
* [ServiceDiscovery](plugins/service-discovery/README.md)
|
||||
* [Shake](plugins/shake/README.md)
|
||||
* [ShortcutsAndroid](plugins/shortcuts-android/README.md)
|
||||
* [Sign In With Apple](plugins/sign-in-with-apple/README.md)
|
||||
* [Smartlook](plugins/smartlook/README.md)
|
||||
* [SMS](plugins/sms/README.md)
|
||||
* [Sms Retriever](plugins/sms-retriever/README.md)
|
||||
* [SmsRetrieverApi](plugins/sms-retriever-api/README.md)
|
||||
* [Smtp Client](plugins/smtp-client/README.md)
|
||||
* [Social Sharing](plugins/social-sharing/README.md)
|
||||
* [SocketsTcp](plugins/sockets-tcp/README.md)
|
||||
* [SocketsUdp](plugins/sockets-udp/README.md)
|
||||
* [Speech Recognition](plugins/speech-recognition/README.md)
|
||||
* [Spinner Dialog](plugins/spinner-dialog/README.md)
|
||||
* [Splash Screen](plugins/splash-screen/README.md)
|
||||
* [Spotify Auth](plugins/spotify-auth/README.md)
|
||||
* [SQLite](plugins/sqlite/README.md)
|
||||
* [Sqlite Db Copy](plugins/sqlite-db-copy/README.md)
|
||||
* [SQLite Porter](plugins/sqlite-porter/README.md)
|
||||
* [SSLCertificateChecker](plugins/ssl-certificate-checker/README.md)
|
||||
* [StarPRNT](plugins/star-prnt/README.md)
|
||||
* [Status Bar](plugins/status-bar/README.md)
|
||||
* [Streaming Media](plugins/streaming-media/README.md)
|
||||
* [Stripe](plugins/stripe/README.md)
|
||||
* [SumUp](plugins/sum-up/README.md)
|
||||
* [System Alert Window Permission](plugins/system-alert-window-permission/README.md)
|
||||
* [Taptic Engine](plugins/taptic-engine/README.md)
|
||||
* [Tealium](plugins/tealium/README.md)
|
||||
* [TealiumAdIdentifier](plugins/tealium-adidentifier/README.md)
|
||||
* [TealiumInstallReferrer](plugins/tealium-installreferrer/README.md)
|
||||
* [Text To Speech Advanced](plugins/text-to-speech-advanced/README.md)
|
||||
* [Theme Detection](plugins/theme-detection/README.md)
|
||||
* [Toast](plugins/toast/README.md)
|
||||
* [Touch ID](plugins/touch-id/README.md)
|
||||
* [Unique Device ID](plugins/unique-device-id/README.md)
|
||||
* [Unvired Cordova SDK](plugins/unvired-cordova-sdk/README.md)
|
||||
* [Uptime](plugins/uptime/README.md)
|
||||
* [UrbanAirShip](plugins/urbanairship/README.md)
|
||||
* [Usabilla](plugins/usabilla-cordova-sdk/README.md)
|
||||
* [Vibes](plugins/vibes/README.md)
|
||||
* [Vibration](plugins/vibration/README.md)
|
||||
* [Video Editor](plugins/video-editor/README.md)
|
||||
* [Video Player](plugins/video-player/README.md)
|
||||
* [WE Cap Inbox](plugins/we-cap-inbox/README.md)
|
||||
* [Web Intent](plugins/web-intent/README.md)
|
||||
* [Web Server](plugins/web-server/README.md)
|
||||
* [Webengage](plugins/webengage/README.md)
|
||||
* [Webim](plugins/webim/README.md)
|
||||
* [WebSocket Server](plugins/web-socket-server/README.md)
|
||||
* [Wechat](plugins/wechat/README.md)
|
||||
* [WheelSelector Plugin](plugins/wheel-selector/README.md)
|
||||
* [WifiWizard2](plugins/wifi-wizard-2/README.md)
|
||||
* [Youtube Video Player](plugins/youtube-video-player/README.md)
|
||||
* [ZBar](plugins/zbar/README.md)
|
||||
* [Zeroconf](plugins/zeroconf/README.md)
|
||||
* [Zip](plugins/zip/README.md)
|
||||
* [Zoom](plugins/zoom/README.md)
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"url": "https://context7.com/llmstxt/danielsogl_gitbook_io_awesome-cordova-plugins_llms-full_txt",
|
||||
"public_key": "pk_q1k2xnfWMMlbrf5AoH6Ga"
|
||||
}
|
||||
-86
@@ -1,86 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Frequently asked questions about Awesome Cordova Plugins — troubleshooting
|
||||
builds, resolving plugin conflicts, and recommended upgrade strategies.
|
||||
---
|
||||
|
||||
# FAQ
|
||||
|
||||
## Cordova Management Tips
|
||||
|
||||
**1) Use the [Ionic CLI](https://ionicframework.com/docs/cli) to add/update/delete plugins.**
|
||||
|
||||
Instead of directly editing `config.xml` and `package.json`. Use `ionic` in front of Cordova commands for a better experience and additional functionality (`ionic cordova build ios` instead of `cordova build ios`).
|
||||
|
||||
**2) Upgrade plugins by removing, then re-adding them.**
|
||||
|
||||
```bash
|
||||
ionic cordova plugin remove cordova-plugin-camera
|
||||
ionic cordova plugin add cordova-plugin-camera
|
||||
```
|
||||
|
||||
**3) Install explicit versions.**
|
||||
|
||||
To ensure that the same version of a plugin is always installed via `npm install`, specify the version number:
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-camera@4.3.2
|
||||
```
|
||||
|
||||
**4) Restore Cordova in an existing Ionic project**
|
||||
|
||||
Useful when adding new developers to a project. `ionic cordova prepare` restores platforms and plugins from `package.json` and `config.xml`. The version to be installed is taken from `package.json` or `config.xml`, if found in those files. In case of conflicts, `package.json` is given precedence over `config.xml`.
|
||||
|
||||
**5) Troubleshoot Cordova issues with Ionic CLI commands**
|
||||
|
||||
* `ionic doctor list`: Detects [common issues](https://ionicframework.com/docs/cli/commands/doctor-list) and suggests steps to fix them
|
||||
* `ionic repair`: Remove, then [regenerate](https://ionicframework.com/docs/cli/commands/repair) all dependencies
|
||||
|
||||
## Understanding Version Numbers
|
||||
|
||||
For any given plugin, the Awesome Cordova Plugins (TypeScript code) and Cordova (native code) version numbers will not match. The Awesome Cordova Plugins version number is found in `package.json`:
|
||||
|
||||
```json
|
||||
"@awesome-cordova-plugins/camera": "^6.0.0"
|
||||
```
|
||||
|
||||
The Cordova plugin version number is found in both `package.json` and `config.xml`:
|
||||
|
||||
```json
|
||||
"cordova-plugin-camera": "4.0.3"
|
||||
```
|
||||
|
||||
```xml
|
||||
<plugin name="cordova-plugin-camera" spec="4.0.3" />
|
||||
```
|
||||
|
||||
When checking for new native functionality or bug fixes, look for new versions on the Cordova plugin GitHub page itself (here's the [Camera one](https://github.com/apache/cordova-plugin-camera), for example).
|
||||
|
||||
To check for new Awesome Cordova Plugins releases (may include exposing methods recently added by the Cordova plugin, etc.), see the [releases page](https://github.com/danielsogl/awesome-cordova-plugins/releases).
|
||||
|
||||
## Troubleshooting Failed Builds
|
||||
|
||||
Research the build error(s) by checking out these resources:
|
||||
|
||||
* Google & [StackOverflow](https://stackoverflow.com/): Many issues are documented online
|
||||
* Ask the [Ionic Community Forum](https://forum.ionicframework.com/)
|
||||
* Check the plugin's GitHub issues page
|
||||
|
||||
### Cordova Plugin Conflicts
|
||||
|
||||
Plugins can conflict with each other when they share the same underlying native dependencies or when more than one plugin tries to access the same native code at once. For example, common libraries like the Google Play Services version (Google Maps is using GPS v24.2 but Firebase wants GPS v27.1). Keeping these plugins updated regularly can help with this.
|
||||
|
||||
Another tip is to ensure that your app uses only one plugin per specific feature/functionality (example: Push Notifications).
|
||||
|
||||
## Recommended Upgrade Strategy
|
||||
|
||||
The most stable apps are routinely updated, especially at the native layer. Keeping native plugins up to date ensures your project has the latest security fixes, new features, and improved performance.
|
||||
|
||||
Update your project's plugins one at a time, ideally in separate code branches. This reduces the surface area that issues can arise from — if you update everything in your project at once, it's sometimes hard to tell where the problem stems from.
|
||||
|
||||
### When should I update?
|
||||
|
||||
* When a new feature/bug fix is released: Run `npm outdated` to see a list of available updates.
|
||||
* When new major versions are released: Official blogs, such as the [Cordova blog](https://cordova.apache.org/blog/) and [Ionic blog](https://ionicframework.com/blog/), will publish announcements and news.
|
||||
* Evaluate the nature of the update: is it a shiny new feature or critical security fix?
|
||||
* Timing: Where does it fit in against your team's project goals?
|
||||
@@ -1,140 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
How to install Awesome Cordova Plugins in Angular, React, and TypeScript
|
||||
projects using Cordova or Capacitor.
|
||||
---
|
||||
|
||||
# Installation
|
||||
|
||||
[Apache Cordova](https://cordova.apache.org/) is an open source native runtime that allows developers to build native mobile apps with HTML, CSS, and JavaScript. Similar to [Capacitor](https://capacitorjs.com/), Ionic's own native runtime, Cordova allows developers to access native device features, such as camera, keyboard, and geolocation, using a system of plugins. A plugin is a small amount of add-on code that provides JavaScript interface to native components. They allow your app to use native device capabilities beyond what is available to pure web apps.
|
||||
|
||||
These plugins are submitted and maintained by the community. While community members are generally quick to find and fix issues, certain plugins may not function properly.
|
||||
|
||||
## Capacitor Support
|
||||
|
||||
In addition to Cordova, Awesome Cordova Plugins also works with [Capacitor](https://capacitorjs.com/), Ionic's official native runtime. Basic usage below. For complete details, [see the Capacitor documentation](https://capacitorjs.com/docs/plugins/cordova).
|
||||
|
||||
## Usage
|
||||
|
||||
All plugins have two components — the native code (Cordova) and the TypeScript code (Awesome Cordova Plugins). Cordova plugins are also wrapped in a `Promise` or `Observable` in order to provide a common plugin interface and modernized development approach.
|
||||
|
||||
Using the [Camera plugin](plugins/camera/README.md) as an example, first install it:
|
||||
|
||||
```bash
|
||||
# Install Cordova plugin
|
||||
ionic cordova plugin add cordova-plugin-camera
|
||||
|
||||
# Install Awesome Cordova Plugins TypeScript wrapper
|
||||
npm install @awesome-cordova-plugins/camera
|
||||
|
||||
# Install Awesome Cordova Plugins core library (once per project)
|
||||
npm install @awesome-cordova-plugins/core
|
||||
```
|
||||
|
||||
Next, begin using the plugin, following the various framework usage options below. For FAQ, see [here](faq.md).
|
||||
|
||||
## Angular (Standalone)
|
||||
|
||||
Angular apps can use either Cordova or Capacitor to build native mobile apps. Register the plugin as a provider in your application bootstrap. For Angular, the import path should end with `/ngx`. Angular's change detection is automatically handled.
|
||||
|
||||
```typescript
|
||||
// main.ts
|
||||
import { bootstrapApplication } from '@angular/platform-browser';
|
||||
import { Camera } from '@awesome-cordova-plugins/camera/ngx';
|
||||
import { AppComponent } from './app/app.component';
|
||||
|
||||
bootstrapApplication(AppComponent, {
|
||||
providers: [Camera],
|
||||
});
|
||||
```
|
||||
|
||||
After the plugin has been registered, inject it in any component or service using Angular's `inject()` function:
|
||||
|
||||
```typescript
|
||||
// camera.service.ts
|
||||
import { Injectable, inject } from '@angular/core';
|
||||
import { Camera, CameraOptions } from '@awesome-cordova-plugins/camera/ngx';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class PhotoService {
|
||||
private camera = inject(Camera);
|
||||
|
||||
takePicture() {
|
||||
const options: CameraOptions = {
|
||||
quality: 100,
|
||||
destinationType: this.camera.DestinationType.DATA_URL,
|
||||
encodingType: this.camera.EncodingType.JPEG,
|
||||
mediaType: this.camera.MediaType.PICTURE,
|
||||
};
|
||||
|
||||
this.camera.getPicture(options).then(
|
||||
(imageData) => {
|
||||
// Do something with the new photo
|
||||
},
|
||||
(err) => {
|
||||
// Handle error
|
||||
console.log('Camera issue: ' + err);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## React
|
||||
|
||||
React apps must use Capacitor to build native mobile apps. However, Awesome Cordova Plugins (and therefore, Cordova plugins) can still be used.
|
||||
|
||||
```bash
|
||||
# Install Core library (once per project)
|
||||
npm install @awesome-cordova-plugins/core
|
||||
|
||||
# Install Awesome Cordova Plugins TypeScript wrapper
|
||||
npm install @awesome-cordova-plugins/barcode-scanner
|
||||
|
||||
# Install Cordova plugin
|
||||
npm install phonegap-plugin-barcodescanner
|
||||
|
||||
# Update native platform project(s) to include newly added plugin
|
||||
ionic cap sync
|
||||
```
|
||||
|
||||
Import the plugin object then use its static methods:
|
||||
|
||||
```typescript
|
||||
import { BarcodeScanner } from '@awesome-cordova-plugins/barcode-scanner';
|
||||
|
||||
const Tab1: React.FC = () => {
|
||||
const openScanner = async () => {
|
||||
const data = await BarcodeScanner.scan();
|
||||
console.log(`Barcode data: ${data.text}`);
|
||||
};
|
||||
return (
|
||||
<IonPage>
|
||||
<IonHeader>
|
||||
<IonToolbar>
|
||||
<IonTitle>Tab 1</IonTitle>
|
||||
</IonToolbar>
|
||||
</IonHeader>
|
||||
<IonContent>
|
||||
<IonButton onClick={openScanner}>Scan barcode</IonButton>
|
||||
</IonContent>
|
||||
</IonPage>
|
||||
);
|
||||
};
|
||||
```
|
||||
|
||||
## ES2015+/TypeScript
|
||||
|
||||
ES2015+ and TypeScript apps can use either Cordova or Capacitor to build native mobile apps. To use any plugin, import the class from the appropriate package and use its static methods:
|
||||
|
||||
```typescript
|
||||
import { Camera } from '@awesome-cordova-plugins/camera';
|
||||
|
||||
document.addEventListener('deviceready', () => {
|
||||
Camera.getPicture()
|
||||
.then((data) => console.log('Took a picture!', data))
|
||||
.catch((e) => console.log('Error occurred while taking a picture', e));
|
||||
});
|
||||
```
|
||||
@@ -1,30 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Browse over 250 Cordova plugin wrappers for Ionic with TypeScript support.
|
||||
Each plugin includes installation instructions, supported platforms, and usage
|
||||
documentation.
|
||||
---
|
||||
|
||||
# Plugins
|
||||
|
||||
Browse the full list of available plugin wrappers in the sidebar. Each plugin page includes:
|
||||
|
||||
- **Installation commands** for the Cordova plugin and TypeScript wrapper
|
||||
- **Link to the plugin repository** for native documentation
|
||||
- **Supported platforms** (Android, iOS, Browser, etc.)
|
||||
|
||||
## Installing a Plugin
|
||||
|
||||
Every plugin requires two packages: the native Cordova plugin and the Awesome Cordova Plugins TypeScript wrapper.
|
||||
|
||||
```bash
|
||||
# Install the Cordova plugin
|
||||
ionic cordova plugin add <cordova-plugin-name>
|
||||
|
||||
# Install the TypeScript wrapper
|
||||
npm install @awesome-cordova-plugins/<plugin-name>
|
||||
```
|
||||
|
||||
## Missing a Plugin?
|
||||
|
||||
If you can't find a plugin wrapper, [open an issue](https://github.com/danielsogl/awesome-cordova-plugins/issues) or [submit a PR](https://github.com/danielsogl/awesome-cordova-plugins/blob/main/DEVELOPER.md) to add it.
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
ABBYY Real-Time Recognition plugin for Cordova and Ionic. This plugin allows to use the Text Capture and Data Capture features of ABBYY Real-Time Recognition…
|
||||
---
|
||||
|
||||
# ABBYY Real-Time Recognition
|
||||
|
||||
This plugin allows to use the Text Capture and Data Capture features of
|
||||
ABBYY Real-Time Recognition SDK (RTR SDK) in apps.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-abbyy-rtr-sdk
|
||||
npm install @awesome-cordova-plugins/abbyy-rtr
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/abbyysdk/RTR-SDK.Cordova](https://github.com/abbyysdk/RTR-SDK.Cordova)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Action Sheet plugin for Cordova and Ionic. The ActionSheet plugin shows a native list of options the user can choose from. Requires Cordova plugin:…
|
||||
---
|
||||
|
||||
# Action Sheet
|
||||
|
||||
The ActionSheet plugin shows a native list of options the user can choose from.
|
||||
|
||||
Requires Cordova plugin: `cordova-plugin-actionsheet`. For more info, please see the [ActionSheet plugin docs](https://github.com/EddyVerbruggen/cordova-plugin-actionsheet).
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-actionsheet
|
||||
npm install @awesome-cordova-plugins/action-sheet
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/EddyVerbruggen/cordova-plugin-actionsheet](https://github.com/EddyVerbruggen/cordova-plugin-actionsheet)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- Browser
|
||||
- iOS
|
||||
- Windows
|
||||
- Windows Phone 8
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Adjust plugin for Cordova and Ionic. This is the Ionic Cordova SDK of Adjust™. You can read more about Adjust™ at adjust.com. Requires Cordova plugin:…
|
||||
---
|
||||
|
||||
# Adjust
|
||||
|
||||
This is the Ionic Cordova SDK of Adjust™. You can read more about Adjust™ at adjust.com.
|
||||
|
||||
Requires Cordova plugin: `com.adjust.sdk`. For more info, please see the [Adjust Cordova SDK](https://github.com/adjust/cordova_sdk)
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add com.adjust.sdk
|
||||
npm install @awesome-cordova-plugins/adjust
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/adjust/cordova_sdk](https://github.com/adjust/cordova_sdk)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
AdMob Plus plugin for Cordova and Ionic. AdMob Plus is the successor of cordova-plugin-admob-free, which provides a cleaner API and build with modern tools.
|
||||
---
|
||||
|
||||
# AdMob Plus
|
||||
|
||||
AdMob Plus is the successor of cordova-plugin-admob-free, which provides a cleaner API and build with modern tools.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-admob-plus
|
||||
npm install @awesome-cordova-plugins/admob-plus
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/admob-plus/admob-plus](https://github.com/admob-plus/admob-plus)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,30 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
AdMob Pro plugin for Cordova and Ionic. Plugin for Google Ads, including AdMob / DFP (DoubleClick for publisher) and mediations to other Ad networks.…
|
||||
---
|
||||
|
||||
# AdMob Pro
|
||||
|
||||
Plugin for Google Ads, including AdMob / DFP (DoubleClick for publisher) and mediations to other Ad networks.
|
||||
|
||||
IMPORTANT NOTICE: this plugin takes a percentage out of your earnings if you profit more than $1,000. Read more about this on the plugin's repo. For a completely free alternative, see [AdMobPro Free](../admob-free).
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-admobpro
|
||||
npm install @awesome-cordova-plugins/admob-pro
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/floatinghotpot/cordova-admob-pro](https://github.com/floatinghotpot/cordova-admob-pro)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- Windows Phone 8
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,35 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
AdMob plugin for Cordova and Ionic. Most complete Admob plugin with support for [Tappx](http://www.tappx.com/?h=dec334d63287772de859bdb4e977fce6) ads.…
|
||||
---
|
||||
|
||||
# AdMob
|
||||
|
||||
Most complete Admob plugin with support for [Tappx](http://www.tappx.com/?h=dec334d63287772de859bdb4e977fce6) ads.
|
||||
Monetize your apps and games with AdMob ads, using latest Google AdMob SDK. With this plugin you can show AdMob ads easily!
|
||||
|
||||
Supports:**
|
||||
- Banner ads (top and bottom)
|
||||
- Interstitial ads
|
||||
- Rewarded ads
|
||||
- [Tappx](http://www.tappx.com/?h=dec334d63287772de859bdb4e977fce6) ads
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-admob
|
||||
npm install @awesome-cordova-plugins/admob
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/appfeel/admob-google-cordova](https://github.com/appfeel/admob-google-cordova)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- Browser
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
AdvancedImagePicker plugin for Cordova and Ionic. This Cordova Plugin is for a better (multiple) ImagePicker with more options.
|
||||
---
|
||||
|
||||
# AdvancedImagePicker
|
||||
|
||||
This Cordova Plugin is for a better (multiple) ImagePicker with more options.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-advanced-imagepicker
|
||||
npm install @awesome-cordova-plugins/advanced-image-picker
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/EinfachHans/cordova-plugin-advanced-imagepicker](https://github.com/EinfachHans/cordova-plugin-advanced-imagepicker)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
AES256 plugin for Cordova and Ionic. This cordova ionic plugin allows you to perform AES 256 encryption and decryption on the plain text. It's a…
|
||||
---
|
||||
|
||||
# AES256
|
||||
|
||||
This cordova ionic plugin allows you to perform AES 256 encryption and decryption on the plain text.
|
||||
It's a cross-platform plugin which supports both Android and iOS.
|
||||
The encryption and decryption are performed on the device native layer so that the performance is much faster.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-aes256-encryption
|
||||
npm install @awesome-cordova-plugins/aes-256
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/Ideas2IT/cordova-aes256](https://github.com/Ideas2IT/cordova-aes256)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Airship plugin for Cordova and Ionic. This plugin does something
|
||||
---
|
||||
|
||||
# Airship
|
||||
|
||||
This plugin does something
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add @ua/cordova-airship
|
||||
npm install @awesome-cordova-plugins/airship
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://www.npmjs.com/package/@ua/cordova-airship](https://www.npmjs.com/package/@ua/cordova-airship)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,30 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
AllInOneSDK plugin for Cordova and Ionic. Paytm All-in-One SDK plugin for Cordova/Ionic Applications Paytm All-in-One SDK provides a swift, secure and…
|
||||
---
|
||||
|
||||
# AllInOneSDK
|
||||
|
||||
Paytm All-in-One SDK plugin for Cordova/Ionic Applications
|
||||
Paytm All-in-One SDK provides a swift, secure and seamless payment experience to your users by invoking the Paytm app (if installed on your user’s smartphone) to complete payment for your order.
|
||||
Paytm All-in-One SDK enables payment acceptance via Paytm wallet, Paytm Payments Bank, saved Debit/Credit cards, Net Banking, BHIM UPI and EMI as available in your customer’s Paytm account. If Paytm app is not installed on a customer's device, the transaction will be processed via web view within the All-in-One SDK.
|
||||
For more information about Paytm All-in-One SDK, please visit https://developer.paytm.com/docs/all-in-one-sdk/hybrid-apps/cordova/
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-paytm-allinonesdk
|
||||
npm install @awesome-cordova-plugins/all-in-one-sdk
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/paytm/paytm-allinonesdk-ionic-cordova.git](https://github.com/paytm/paytm-allinonesdk-ionic-cordova.git)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Analytics Firebase plugin for Cordova and Ionic. Google Analytics Firebase plugin for Ionic Native apps.
|
||||
---
|
||||
|
||||
# Analytics Firebase
|
||||
|
||||
Google Analytics Firebase plugin for Ionic Native apps.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-analytics
|
||||
npm install @awesome-cordova-plugins/analytics-firebase
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/appfeel/analytics-google](https://github.com/appfeel/analytics-google)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Android ExoPlayer plugin for Cordova and Ionic. Cordova media player plugin using Google's ExoPlayer framework. https://github.com/google/ExoPlayer
|
||||
---
|
||||
|
||||
# Android ExoPlayer
|
||||
|
||||
Cordova media player plugin using Google's ExoPlayer framework.
|
||||
|
||||
https://github.com/google/ExoPlayer
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-exoplayer
|
||||
npm install @awesome-cordova-plugins/android-exoplayer
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/frontyard/cordova-plugin-exoplayer](https://github.com/frontyard/cordova-plugin-exoplayer)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Android Full Screen plugin for Cordova and Ionic. This plugin enables developers to offer users a true full screen experience in their Cordova and PhoneGap…
|
||||
---
|
||||
|
||||
# Android Full Screen
|
||||
|
||||
This plugin enables developers to offer users a true full screen experience in their Cordova and PhoneGap apps for Android.
|
||||
Using Android 4.0+, you can use true full screen in "lean mode", the way you see in apps like YouTube, expanding the app right to the edges of the screen, hiding the status and navigation bars until the user next interacts. This is ideally suited to video or cut-scene content.
|
||||
In Android 4.4+, however, you can now enter true full screen, fully interactive immersive mode. In this mode, your app will remain in true full screen until you choose otherwise; users can swipe down from the top of the screen to temporarily display the system UI.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-fullscreen
|
||||
npm install @awesome-cordova-plugins/android-full-screen
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/mesmotronic/cordova-plugin-fullscreen](https://github.com/mesmotronic/cordova-plugin-fullscreen)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Android Notch plugin for Cordova and Ionic. This plugin enables developers to get the cutout and android devices inset sizes It is based on the cordova plugin…
|
||||
---
|
||||
|
||||
# Android Notch
|
||||
|
||||
This plugin enables developers to get the cutout and android devices inset sizes
|
||||
It is based on the cordova plugin developed by @tobspr: https://github.com/tobspr/cordova-plugin-android-notch
|
||||
This plugin works on all android versions, but we can only detect notches starting from Android 9.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-android-notch
|
||||
npm install @awesome-cordova-plugins/android-notch
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/tobspr/cordova-plugin-android-notch.git](https://github.com/tobspr/cordova-plugin-android-notch.git)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Android Permissions plugin for Cordova and Ionic. This plugin is designed to support Android new permissions checking mechanism. You can find all permissions…
|
||||
---
|
||||
|
||||
# Android Permissions
|
||||
|
||||
This plugin is designed to support Android new permissions checking mechanism.
|
||||
|
||||
You can find all permissions here: https://developer.android.com/reference/android/Manifest.permission.html
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-android-permissions
|
||||
npm install @awesome-cordova-plugins/android-permissions
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/NeoLSN/cordova-plugin-android-permissions](https://github.com/NeoLSN/cordova-plugin-android-permissions)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Anyline plugin for Cordova and Ionic. Anyline provides an easy-to-use SDK for applications to enable Optical Character Recognition (OCR) on mobile devices.
|
||||
---
|
||||
|
||||
# Anyline
|
||||
|
||||
Anyline provides an easy-to-use SDK for applications to enable Optical Character Recognition (OCR) on mobile devices.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add io-anyline-cordova
|
||||
npm install @awesome-cordova-plugins/anyline
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/Anyline/anyline-ocr-cordova-module](https://github.com/Anyline/anyline-ocr-cordova-module)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
App Availability plugin for Cordova and Ionic. This plugin allows you to check if an app is installed on the user's device. It requires an URI Scheme (e.g.…
|
||||
---
|
||||
|
||||
# App Availability
|
||||
|
||||
This plugin allows you to check if an app is installed on the user's device. It requires an URI Scheme (e.g. twitter://) on iOS or a Package Name (e.g com.twitter.android) on Android.
|
||||
|
||||
Requires Cordova plugin: cordova-plugin-appavailability. For more info, please see the [AppAvailability plugin docs](https://github.com/ohh2ahh/AppAvailability).
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-appavailability
|
||||
npm install @awesome-cordova-plugins/app-availability
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/ohh2ahh/AppAvailability](https://github.com/ohh2ahh/AppAvailability)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
App Center Analytics plugin for Cordova and Ionic. App Center Analytics helps you understand user behavior and customer engagement to improve your app. The…
|
||||
---
|
||||
|
||||
# App Center Analytics
|
||||
|
||||
App Center Analytics helps you understand user behavior and customer engagement to improve your app.
|
||||
The SDK automatically captures session count and device properties like model, OS version, etc.
|
||||
You can define your own custom events to measure things that matter to you.
|
||||
All the information captured is available in the App Center portal for you to analyze the data.
|
||||
|
||||
For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/analytics/cordova
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-appcenter-analytics
|
||||
npm install @awesome-cordova-plugins/app-center-analytics
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-analytics](https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-analytics)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
App Center Crashes plugin for Cordova and Ionic. App Center Analytics helps you understand user behavior and customer engagement to improve your app. The SDK…
|
||||
---
|
||||
|
||||
# App Center Crashes
|
||||
|
||||
App Center Analytics helps you understand user behavior and customer engagement to improve your app.
|
||||
The SDK automatically captures session count and device properties like model, OS version, etc.
|
||||
You can define your own custom events to measure things that matter to you.
|
||||
All the information captured is available in the App Center portal for you to analyze the data.
|
||||
|
||||
For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/crashes/cordova
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-appcenter-crashes
|
||||
npm install @awesome-cordova-plugins/app-center-crashes
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-crashes](https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-crashes)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
App Center Low Memory plugin for Cordova and Ionic. Generates a low memory warning. For more info, please see:…
|
||||
---
|
||||
|
||||
# App Center Low Memory
|
||||
|
||||
Generates a low memory warning.
|
||||
For more info, please see: https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-generate-low-memory
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-generate-low-memory
|
||||
npm install @awesome-cordova-plugins/app-center-low-memory
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-generate-low-memory](https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-generate-low-memory)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
App Center Push plugin for Cordova and Ionic. For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/push/cordova
|
||||
---
|
||||
|
||||
# App Center Push
|
||||
|
||||
For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/push/cordova
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-appcenter-push
|
||||
npm install @awesome-cordova-plugins/app-center-push
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-push](https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-push)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
App Center Shared plugin for Cordova and Ionic. Exposes additional shared APIs for App Center. For more info, please see…
|
||||
---
|
||||
|
||||
# App Center Shared
|
||||
|
||||
Exposes additional shared APIs for App Center.
|
||||
|
||||
For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/other-apis/cordova
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-appcenter-shared
|
||||
npm install @awesome-cordova-plugins/app-center-shared
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-shared](https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-shared)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
App Preferences plugin for Cordova and Ionic. This plugin allows you to read and write app preferences
|
||||
---
|
||||
|
||||
# App Preferences
|
||||
|
||||
This plugin allows you to read and write app preferences
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-app-preferences
|
||||
npm install @awesome-cordova-plugins/app-preferences
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/apla/me.apla.cordova.app-preferences](https://github.com/apla/me.apla.cordova.app-preferences)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- BlackBerry 10
|
||||
- Browser
|
||||
- iOS
|
||||
- macOS
|
||||
- Windows 8
|
||||
- Windows Phone
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,31 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
App Rate plugin for Cordova and Ionic. The AppRate plugin makes it easy to prompt the user to rate your app, either now, later, or never. Requires Cordova…
|
||||
---
|
||||
|
||||
# App Rate
|
||||
|
||||
The AppRate plugin makes it easy to prompt the user to rate your app, either now, later, or never.
|
||||
|
||||
Requires Cordova plugin: cordova-plugin-apprate. For more info, please see the [AppRate plugin docs](https://github.com/pushandplay/cordova-plugin-apprate).
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-apprate
|
||||
npm install @awesome-cordova-plugins/app-rate
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/pushandplay/cordova-plugin-apprate](https://github.com/pushandplay/cordova-plugin-apprate)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- BlackBerry 10
|
||||
- iOS
|
||||
- Windows
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
App Review plugin for Cordova and Ionic. Cordova plugin to review app
|
||||
---
|
||||
|
||||
# App Review
|
||||
|
||||
Cordova plugin to review app
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-app-review
|
||||
npm install @awesome-cordova-plugins/app-review
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/chemerisuk/cordova-plugin-app-review](https://github.com/chemerisuk/cordova-plugin-app-review)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,30 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
App Version plugin for Cordova and Ionic. Reads the version of your app from the target build settings. Requires Cordova plugin:…
|
||||
---
|
||||
|
||||
# App Version
|
||||
|
||||
Reads the version of your app from the target build settings.
|
||||
|
||||
Requires Cordova plugin: `cordova-plugin-app-version`. For more info, please see the [Cordova App Version docs](https://github.com/whiteoctober/cordova-plugin-app-version).
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-app-version
|
||||
npm install @awesome-cordova-plugins/app-version
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/whiteoctober/cordova-plugin-app-version](https://github.com/whiteoctober/cordova-plugin-app-version)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- Windows
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Apple Wallet plugin for Cordova and Ionic. A Cordova plugin that enables users from Add Payment Cards to their Apple Wallet.
|
||||
---
|
||||
|
||||
# Apple Wallet
|
||||
|
||||
A Cordova plugin that enables users from Add Payment Cards to their Apple Wallet.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-apple-wallet
|
||||
npm install @awesome-cordova-plugins/apple-wallet
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/tomavic/cordova-apple-wallet](https://github.com/tomavic/cordova-apple-wallet)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Applovin plugin for Cordova and Ionic. This plugin allows you to easily configure, integrate and interact with Applovin ads.
|
||||
---
|
||||
|
||||
# Applovin
|
||||
|
||||
This plugin allows you to easily configure, integrate and interact with Applovin ads.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-applovin-max
|
||||
npm install @awesome-cordova-plugins/applovin
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/AppLovin/AppLovin-MAX-Cordova](https://github.com/AppLovin/AppLovin-MAX-Cordova)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,35 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
HTTP plugin for Cordova and Ionic. Cordova / Phonegap plugin for communicating with HTTP servers. Supports iOS and Android. Advantages over Javascript…
|
||||
---
|
||||
|
||||
# HTTP
|
||||
|
||||
Cordova / Phonegap plugin for communicating with HTTP servers. Supports iOS and Android.
|
||||
|
||||
Advantages over Javascript requests:
|
||||
- SSL / TLS Pinning
|
||||
- CORS restrictions do not apply
|
||||
- Handling of HTTP code 401 - read more at [Issue CB-2415](https://issues.apache.org/jira/browse/CB-2415)
|
||||
|
||||
Note: This plugin extends the pre-existing [cordova-advanced-http-plugin](https://github.com/silkimen/cordova-plugin-advanced-http),
|
||||
we have only added approov functionality on top of it. All credit goes to the actual plugin developer.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add @approov/cordova-plugin-advanced-http
|
||||
npm install @awesome-cordova-plugins/approov-advanced-http
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/approov/quickstart-cordova-advancedhttp](https://github.com/approov/quickstart-cordova-advancedhttp)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Appsflyer plugin for Cordova and Ionic. Appsflyer Cordova SDK support for Attribution
|
||||
---
|
||||
|
||||
# Appsflyer
|
||||
|
||||
Appsflyer Cordova SDK support for Attribution
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
Add to config.xml like stated on github and then start
|
||||
npm install @awesome-cordova-plugins/appsflyer
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/AppsFlyerSDK/cordova-plugin-appsflyer-sdk](https://github.com/AppsFlyerSDK/cordova-plugin-appsflyer-sdk)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- iOS
|
||||
- Android
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Audio Management plugin for Cordova and Ionic. A Cordova plugin to manage volume of audio streams for: ring, music, notification and system. Possible ringer…
|
||||
---
|
||||
|
||||
# Audio Management
|
||||
|
||||
A Cordova plugin to manage volume of audio streams for: ring, music, notification and system. Possible
|
||||
ringer values for those streams are: silent, vibrate and normal.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add clovelced-plugin-audiomanagement
|
||||
npm install @awesome-cordova-plugins/audio-management
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/clovelCed/cordova-plugin-audiomanagement](https://github.com/clovelCed/cordova-plugin-audiomanagement)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Background Fetch plugin for Cordova and Ionic. iOS Background Fetch Implementation. See: https://developer.apple.com/reference/uikit/uiapplication#1657399 iOS…
|
||||
---
|
||||
|
||||
# Background Fetch
|
||||
|
||||
iOS Background Fetch Implementation. See: https://developer.apple.com/reference/uikit/uiapplication#1657399
|
||||
iOS Background Fetch is basically an API which wakes up your app about every 15 minutes (during the user's prime-time hours) and provides your app exactly 30s of background running-time. This plugin will execute your provided callbackFn whenever a background-fetch event occurs. There is no way to increase the rate which a fetch-event occurs and this plugin sets the rate to the most frequent possible value of UIApplicationBackgroundFetchIntervalMinimum -- iOS determines the rate automatically based upon device usage and time-of-day (ie: fetch-rate is about ~15min during prime-time hours; less frequently when the user is presumed to be sleeping, at 3am for example).
|
||||
For more detail, please see https://github.com/transistorsoft/cordova-plugin-background-fetch
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-background-fetch
|
||||
npm install @awesome-cordova-plugins/background-fetch
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/transistorsoft/cordova-plugin-background-fetch](https://github.com/transistorsoft/cordova-plugin-background-fetch)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Background Geolocation plugin for Cordova and Ionic. This plugin provides foreground and background geolocation with battery-saving "circular region…
|
||||
---
|
||||
|
||||
# Background Geolocation
|
||||
|
||||
This plugin provides foreground and background geolocation with battery-saving "circular region monitoring" and "stop detection". For
|
||||
more detail, please see https://github.com/mauron85/cordova-plugin-background-geolocation
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add @mauron85/cordova-plugin-background-geolocation
|
||||
npm install @awesome-cordova-plugins/background-geolocation
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/mauron85/cordova-plugin-background-geolocation](https://github.com/mauron85/cordova-plugin-background-geolocation)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,31 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Background Mode plugin for Cordova and Ionic. Cordova plugin to prevent the app from going to sleep while in background. Requires Cordova plugin:…
|
||||
---
|
||||
|
||||
# Background Mode
|
||||
|
||||
Cordova plugin to prevent the app from going to sleep while in background.
|
||||
Requires Cordova plugin: cordova-plugin-background-mode. For more info about plugin, visit: https://github.com/katzer/cordova-plugin-background-mode
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-background-mode
|
||||
npm install @awesome-cordova-plugins/background-mode
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/katzer/cordova-plugin-background-mode](https://github.com/katzer/cordova-plugin-background-mode)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- AmazonFire OS
|
||||
- Android
|
||||
- Browser
|
||||
- iOS
|
||||
- Windows
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
BackgroundUpload plugin for Cordova and Ionic. This plugin does something
|
||||
---
|
||||
|
||||
# BackgroundUpload
|
||||
|
||||
This plugin does something
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add @spoonconsulting/cordova-plugin-background-upload
|
||||
npm install @awesome-cordova-plugins/background-upload
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/spoonconsulting/cordova-plugin-background-upload](https://github.com/spoonconsulting/cordova-plugin-background-upload)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Badge plugin for Cordova and Ionic. The essential purpose of badge numbers is to enable an application to inform its users that it has something for them —…
|
||||
---
|
||||
|
||||
# Badge
|
||||
|
||||
The essential purpose of badge numbers is to enable an application to inform its users that it has something for them — for example, unread messages — when the application isn’t running in the foreground.
|
||||
|
||||
Requires Cordova plugin: cordova-plugin-badge. For more info, please see the [Badge plugin docs](https://github.com/katzer/cordova-plugin-badge).
|
||||
|
||||
Android Note: Badges have historically only been a feature implemented by third party launchers and not visible unless one of those launchers was being used (E.G. Samsung or Nova Launcher) and if enabled by the user. As of Android 8 (Oreo), [notification badges](https://developer.android.com/training/notify-user/badges) were introduced officially to reflect unread notifications. This plugin is unlikely to work as expected on devices running Android 8 or newer. Please see the [local notifications plugin docs](https://github.com/katzer/cordova-plugin-local-notifications) for more information on badge use with notifications.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-badge
|
||||
npm install @awesome-cordova-plugins/badge
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/katzer/cordova-plugin-badge](https://github.com/katzer/cordova-plugin-badge)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- Browser
|
||||
- iOS
|
||||
- Windows
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Barcode Scanner plugin for Cordova and Ionic. The Barcode Scanner Plugin opens a camera view and automatically scans a barcode, returning the data back to…
|
||||
---
|
||||
|
||||
# Barcode Scanner
|
||||
|
||||
The Barcode Scanner Plugin opens a camera view and automatically scans a barcode, returning the data back to you.
|
||||
|
||||
Requires Cordova plugin: `phonegap-plugin-barcodescanner`. For more info, please see the [BarcodeScanner plugin docs](https://github.com/phonegap/phonegap-plugin-barcodescanner).
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add phonegap-plugin-barcodescanner
|
||||
npm install @awesome-cordova-plugins/barcode-scanner
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/phonegap/phonegap-plugin-barcodescanner](https://github.com/phonegap/phonegap-plugin-barcodescanner)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- BlackBerry 10
|
||||
- Browser
|
||||
- iOS
|
||||
- Windows
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,25 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Barkoder plugin for Cordova and Ionic. The barKoder Barcode Scanner SDK cordova plugin grants an easy to use solution with a great and completely customizable…
|
||||
---
|
||||
|
||||
# Barkoder
|
||||
|
||||
The barKoder Barcode Scanner SDK cordova plugin grants an easy to use solution with a great and completely customizable interface that can be instantly integrated in both iOS and Android apps.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add barkoder-cordova
|
||||
npm install @awesome-cordova-plugins/barkoder
|
||||
```
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Battery Status plugin for Cordova and Ionic. Requires Cordova plugin: cordova-plugin-batterystatus. For more info, please see the [BatteryStatus plugin…
|
||||
---
|
||||
|
||||
# Battery Status
|
||||
|
||||
Requires Cordova plugin: cordova-plugin-batterystatus. For more info, please see the [BatteryStatus plugin docs](https://github.com/apache/cordova-plugin-battery-status).
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-battery-status
|
||||
npm install @awesome-cordova-plugins/battery-status
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/apache/cordova-plugin-battery-status](https://github.com/apache/cordova-plugin-battery-status)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- iOS
|
||||
- Android
|
||||
- Windows
|
||||
- Browser
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
BioCatch plugin for Cordova and Ionic. BioCatch SDK Cordova support
|
||||
---
|
||||
|
||||
# BioCatch
|
||||
|
||||
BioCatch SDK Cordova support
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-biocatch
|
||||
npm install @awesome-cordova-plugins/biocatch
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://bitbucket.org/carlos_orellana/ionic-plugin](https://bitbucket.org/carlos_orellana/ionic-plugin)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- iOS
|
||||
- Android
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,25 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
BiometricWrapper plugin for Cordova and Ionic. This plugin capture biometric(Iris and Fingerprint) and validate the user. May be used in Banking domain
|
||||
---
|
||||
|
||||
# BiometricWrapper
|
||||
|
||||
This plugin capture biometric(Iris and Fingerprint) and validate the user.
|
||||
May be used in Banking domain
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
|
||||
npm install @awesome-cordova-plugins/biometric-wrapper
|
||||
```
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,39 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
BLE plugin for Cordova and Ionic. This plugin enables communication between a phone and Bluetooth Low Energy (BLE) peripherals. The plugin provides a simple…
|
||||
---
|
||||
|
||||
# BLE
|
||||
|
||||
This plugin enables communication between a phone and Bluetooth Low Energy (BLE) peripherals.
|
||||
|
||||
The plugin provides a simple JavaScript API for iOS and Android.
|
||||
|
||||
- Scan for peripherals
|
||||
- Connect to a peripheral
|
||||
- Read the value of a characteristic
|
||||
- Write new value to a characteristic
|
||||
- Get notified when characteristic's value changes
|
||||
|
||||
Advertising information is returned when scanning for peripherals. Service, characteristic, and property info is returned when connecting to a peripheral. All access is via service and characteristic UUIDs. The plugin manages handles internally.
|
||||
|
||||
Simultaneous connections to multiple peripherals are supported.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-ble-central
|
||||
npm install @awesome-cordova-plugins/ble
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/don/cordova-plugin-ble-central](https://github.com/don/cordova-plugin-ble-central)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
BlinkId plugin for Cordova and Ionic. Microblink SDK wrapper for barcode and document scanning. See the blinkid-phonegap repository for available recognizers…
|
||||
---
|
||||
|
||||
# BlinkId
|
||||
|
||||
Microblink SDK wrapper for barcode and document scanning. See the
|
||||
blinkid-phonegap repository for available recognizers and other settings
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add blinkid-cordova --variable CAMERA_USAGE_DESCRIPTION="Enable your camera so that you can scan your ID to validate your account"
|
||||
npm install @awesome-cordova-plugins/blinkid
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/BlinkID/blinkid-phonegap](https://github.com/BlinkID/blinkid-phonegap)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- iOS
|
||||
- Android
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Bluetooth Classic Serial Port plugin for Cordova and Ionic. This plugin is written using the iOS Accessory Framework (MFi) to support Classic Bluetooth on iOS.
|
||||
---
|
||||
|
||||
# Bluetooth Classic Serial Port
|
||||
|
||||
This plugin is written using the iOS Accessory Framework (MFi) to support Classic Bluetooth on iOS.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-bluetooth-classic-serial-port
|
||||
npm install @awesome-cordova-plugins/bluetooth-classic-serial-port
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/MaximBelov/cordova-plugin-bluetooth-classic-serial-port](https://github.com/MaximBelov/cordova-plugin-bluetooth-classic-serial-port)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- Browser
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
BluetoothLE plugin for Cordova and Ionic. This plugin has the most complete implementation for interacting with Bluetooth LE devices on Android, iOS and…
|
||||
---
|
||||
|
||||
# BluetoothLE
|
||||
|
||||
This plugin has the most complete implementation for interacting with Bluetooth LE devices on Android, iOS and partially Windows.
|
||||
It's a wrap around [randdusing/cordova-plugin-bluetoothle](https://github.com/randdusing/cordova-plugin-bluetoothle/blob/master/readme.md) cordova plugin for Ionic.
|
||||
It supports peripheral **and** central modes and covers most of the API methods available on Android and iOS.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-bluetoothle
|
||||
npm install @awesome-cordova-plugins/bluetooth-le
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/randdusing/cordova-plugin-bluetoothle](https://github.com/randdusing/cordova-plugin-bluetoothle)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Bluetooth Serial plugin for Cordova and Ionic. This plugin enables serial communication over Bluetooth. It was written for communicating between Android or…
|
||||
---
|
||||
|
||||
# Bluetooth Serial
|
||||
|
||||
This plugin enables serial communication over Bluetooth. It was written for communicating between Android or iOS and an Arduino (not Android to Android or iOS to iOS).
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-bluetooth-serial
|
||||
npm install @awesome-cordova-plugins/bluetooth-serial
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/don/BluetoothSerial](https://github.com/don/BluetoothSerial)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- Windows Phone 8
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
BranchIo plugin for Cordova and Ionic. Branch.io is an attribution service for deeplinking and invitation links
|
||||
---
|
||||
|
||||
# BranchIo
|
||||
|
||||
Branch.io is an attribution service for deeplinking and invitation links
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add branch-cordova-sdk
|
||||
npm install @awesome-cordova-plugins/branch-io
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/BranchMetrics/cordova-ionic-phonegap-branch-deep-linking](https://github.com/BranchMetrics/cordova-ionic-phonegap-branch-deep-linking)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- iOS
|
||||
- Android
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Brightness plugin for Cordova and Ionic. The Brightness plugin let you control the display brightness of your device. Requires Cordova plugin:…
|
||||
---
|
||||
|
||||
# Brightness
|
||||
|
||||
The Brightness plugin let you control the display brightness of your device.
|
||||
|
||||
Requires Cordova plugin: `cordova-plugin-brightness`. For more info, please see the [Brightness plugin docs](https://github.com/mgcrea/cordova-plugin-brightness).
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-brightness
|
||||
npm install @awesome-cordova-plugins/brightness
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/mgcrea/cordova-plugin-brightness](https://github.com/mgcrea/cordova-plugin-brightness)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Broadcaster plugin for Cordova and Ionic. This plugin adds exchanging events between native code and your app.
|
||||
---
|
||||
|
||||
# Broadcaster
|
||||
|
||||
This plugin adds exchanging events between native code and your app.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-broadcaster
|
||||
npm install @awesome-cordova-plugins/broadcaster
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/bsorrentino/cordova-broadcaster](https://github.com/bsorrentino/cordova-broadcaster)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- Browser
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Browser Tab plugin for Cordova and Ionic. This plugin provides an interface to in-app browser tabs that exist on some mobile platforms, specifically [Custom…
|
||||
---
|
||||
|
||||
# Browser Tab
|
||||
|
||||
This plugin provides an interface to in-app browser tabs that exist on some mobile platforms, specifically [Custom Tabs](http://developer.android.com/tools/support-library/features.html#custom-tabs) on Android (including the [Chrome Custom Tabs](https://developer.chrome.com/multidevice/android/customtabs) implementation), and [SFSafariViewController](https://developer.apple.com/library/ios/documentation/SafariServices/Reference/SFSafariViewController_Ref/) on iOS.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-browsertab
|
||||
npm install @awesome-cordova-plugins/browser-tab
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/google/cordova-plugin-browsertab](https://github.com/google/cordova-plugin-browsertab)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,31 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Build Info plugin for Cordova and Ionic. This plugin provides build information.
|
||||
---
|
||||
|
||||
# Build Info
|
||||
|
||||
This plugin provides build information.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-buildinfo
|
||||
npm install @awesome-cordova-plugins/build-info
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/lynrin/cordova-plugin-buildinfo](https://github.com/lynrin/cordova-plugin-buildinfo)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- Windows
|
||||
- macOS
|
||||
- browser
|
||||
- Electron
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Calendar plugin for Cordova and Ionic. This plugin allows you to add events to the Calendar of the mobile device. Requires Cordova plugin:…
|
||||
---
|
||||
|
||||
# Calendar
|
||||
|
||||
This plugin allows you to add events to the Calendar of the mobile device.
|
||||
|
||||
Requires Cordova plugin: `cordova-plugin-calendar`. For more info, please see the [Calendar plugin docs](https://github.com/EddyVerbruggen/Calendar-PhoneGap-Plugin).
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-calendar
|
||||
npm install @awesome-cordova-plugins/calendar
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/EddyVerbruggen/Calendar-PhoneGap-Plugin](https://github.com/EddyVerbruggen/Calendar-PhoneGap-Plugin)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Call Directory plugin for Cordova and Ionic. This plugin can add phone numbers to an Callkit call directory extension. Call `reloadExtension` after using…
|
||||
---
|
||||
|
||||
# Call Directory
|
||||
|
||||
This plugin can add phone numbers to an Callkit call directory extension. Call `reloadExtension` after using `addIdentification` and `removeIdentification`
|
||||
to process the changes in the call directory extension.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
cordova plugin add cordova-plugin-call-directory --variable EXT_NAME="Cordova-Directory" --variable ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES="NO"
|
||||
npm install @awesome-cordova-plugins/call-directory
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/GEDYSIntraWare/cordova-plugin-call-directory](https://github.com/GEDYSIntraWare/cordova-plugin-call-directory)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Call Number plugin for Cordova and Ionic. Call a number directly from your Cordova/Ionic application. NOTE**: The iOS Simulator (and maybe Android Simulators)…
|
||||
---
|
||||
|
||||
# Call Number
|
||||
|
||||
Call a number directly from your Cordova/Ionic application.
|
||||
NOTE**: The iOS Simulator (and maybe Android Simulators) do not provide access to the phone subsystem.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add call-number
|
||||
npm install @awesome-cordova-plugins/call-number
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/Rohfosho/CordovaCallNumberPlugin](https://github.com/Rohfosho/CordovaCallNumberPlugin)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Camera Preview plugin for Cordova and Ionic. Showing camera preview in HTML Requires Cordova plugin:…
|
||||
---
|
||||
|
||||
# Camera Preview
|
||||
|
||||
Showing camera preview in HTML
|
||||
|
||||
Requires Cordova plugin: `https://github.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview.git`. For more info, please see the [Cordova Camera Preview docs](https://github.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview).
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-camera-preview
|
||||
npm install @awesome-cordova-plugins/camera-preview
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview](https://github.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,39 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Camera plugin for Cordova and Ionic. Take a photo or capture video. Requires the Cordova plugin: `cordova-plugin-camera`. For more info, please see the…
|
||||
---
|
||||
|
||||
# Camera
|
||||
|
||||
Take a photo or capture video.
|
||||
|
||||
Requires the Cordova plugin: `cordova-plugin-camera`. For more info, please see the [Cordova Camera Plugin Docs](https://github.com/apache/cordova-plugin-camera).
|
||||
|
||||
[Warning] Since IOS 10 the camera requires permissions to be placed in your config.xml add
|
||||
```xml
|
||||
<config-file parent="NSCameraUsageDescription" platform="ios" target="*-Info.plist">
|
||||
<string>You can take photos</string>
|
||||
</config-file>
|
||||
```
|
||||
inside of the `<platform name='ios>` section
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-camera
|
||||
npm install @awesome-cordova-plugins/camera
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/apache/cordova-plugin-camera](https://github.com/apache/cordova-plugin-camera)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- Browser
|
||||
- iOS
|
||||
- Windows
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,25 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
CFPaymentGateway — Awesome Cordova Plugins wrapper for Ionic and Cordova apps.
|
||||
---
|
||||
|
||||
# CFPaymentGateway
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-cashfree-pg
|
||||
npm install @awesome-cordova-plugins/cashfree-pg
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/cashfree/cordova-plugin-cashfree](https://github.com/cashfree/cordova-plugin-cashfree)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Checkout plugin for Cordova and Ionic. Checkout.com cordova plugin
|
||||
---
|
||||
|
||||
# Checkout
|
||||
|
||||
Checkout.com cordova plugin
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
|
||||
npm install @awesome-cordova-plugins/checkout
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/checkout/frames-cordova](https://github.com/checkout/frames-cordova)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,39 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Chooser plugin for Cordova and Ionic. File chooser plugin for Cordova. The following must be added to config.xml to prevent crashing when selecting large…
|
||||
---
|
||||
|
||||
# Chooser
|
||||
|
||||
File chooser plugin for Cordova.
|
||||
|
||||
The following must be added to config.xml to prevent crashing when selecting large files on Android:
|
||||
```xml
|
||||
<platform name="android">
|
||||
<edit-config
|
||||
file="app/src/main/AndroidManifest.xml"
|
||||
mode="merge"
|
||||
target="/manifest/application">
|
||||
<application android:largeHeap="true" />
|
||||
</edit-config>
|
||||
</platform>
|
||||
```
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-simple-file-chooser
|
||||
npm install @awesome-cordova-plugins/chooser-simple-file
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/hc-oss/cordova-plugin-simple-file-chooser](https://github.com/hc-oss/cordova-plugin-simple-file-chooser)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,39 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Chooser plugin for Cordova and Ionic. File chooser plugin for Cordova. The following must be added to config.xml to prevent crashing when selecting large…
|
||||
---
|
||||
|
||||
# Chooser
|
||||
|
||||
File chooser plugin for Cordova.
|
||||
|
||||
The following must be added to config.xml to prevent crashing when selecting large files on Android:
|
||||
```xml
|
||||
<platform name="android">
|
||||
<edit-config
|
||||
file="app/src/main/AndroidManifest.xml"
|
||||
mode="merge"
|
||||
target="/manifest/application">
|
||||
<application android:largeHeap="true" />
|
||||
</edit-config>
|
||||
</platform>
|
||||
```
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add http://github.com/MaximBelov/cordova-plugin-chooser.git
|
||||
npm install @awesome-cordova-plugins/chooser
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/MaximBelov/cordova-plugin-chooser](https://github.com/MaximBelov/cordova-plugin-chooser)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
CleverTap plugin for Cordova and Ionic. Cordova Plugin that wraps CleverTap SDK for Android and iOS
|
||||
---
|
||||
|
||||
# CleverTap
|
||||
|
||||
Cordova Plugin that wraps CleverTap SDK for Android and iOS
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add clevertap-cordova
|
||||
npm install @awesome-cordova-plugins/clevertap
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/CleverTap/clevertap-cordova](https://github.com/CleverTap/clevertap-cordova)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Clipboard plugin for Cordova and Ionic. Clipboard management plugin for Cordova that supports iOS, Android, and Windows Phone 8.
|
||||
---
|
||||
|
||||
# Clipboard
|
||||
|
||||
Clipboard management plugin for Cordova that supports iOS, Android, and Windows Phone 8.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-clipboard
|
||||
npm install @awesome-cordova-plugins/clipboard
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/ihadeed/cordova-clipboard](https://github.com/ihadeed/cordova-clipboard)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- Windows Phone 8
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,27 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Cloud Settings plugin for Cordova and Ionic. Stores app settings in cloud storage so if the user re-installs the app or installs it on a different device, the…
|
||||
---
|
||||
|
||||
# Cloud Settings
|
||||
|
||||
Stores app settings in cloud storage so if the user re-installs the app or installs it on a different device, the settings will be restored and available in the new installation.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add @marysuon/cordova-plugin-cloud-settings --variable ANDROID_BACKUP_SERVICE_KEY=myapikey
|
||||
npm install @awesome-cordova-plugins/cloud-settings
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/dpa99c/cordova-plugin-cloud-settings](https://github.com/dpa99c/cordova-plugin-cloud-settings)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Code Push plugin for Cordova and Ionic. CodePush plugin for Cordova by Microsoft that supports iOS and Android. For more info, please see…
|
||||
---
|
||||
|
||||
# Code Push
|
||||
|
||||
CodePush plugin for Cordova by Microsoft that supports iOS and Android.
|
||||
|
||||
For more info, please see https://github.com/Dellos7/example-cordova-code-push-plugin
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-code-push
|
||||
npm install @awesome-cordova-plugins/code-push
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/Microsoft/cordova-plugin-code-push](https://github.com/Microsoft/cordova-plugin-code-push)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,34 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Contacts plugin for Cordova and Ionic. Access and manage Contacts on the device.
|
||||
---
|
||||
|
||||
# Contacts
|
||||
|
||||
Access and manage Contacts on the device.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-contacts
|
||||
npm install @awesome-cordova-plugins/contacts
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/herdwatch-apps/cordova-plugin-contacts](https://github.com/herdwatch-apps/cordova-plugin-contacts)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- BlackBerry 10
|
||||
- Browser
|
||||
- Firefox OS
|
||||
- iOS
|
||||
- Ubuntu
|
||||
- Windows
|
||||
- Windows 8
|
||||
- Windows Phone
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,199 +0,0 @@
|
||||

|
||||
|
||||
# Awesome Cordova Plugins
|
||||
|
||||
Awesome Cordova Plugins is a curated set of wrappers for Cordova plugins that make adding any native functionality you need to your [Ionic](https://ionicframework.com/) mobile app easy.
|
||||
|
||||
Awesome Cordova Plugins wraps plugin callbacks in a Promise or Observable, providing a common interface for all plugins and making it easy to use plugins with Angular change detection.
|
||||
|
||||
To learn more about the reasons why Ionic Native was renamed to Awesome Cordova Plugins, read the official [Ionic blog](https://ionicframework.com/blog/a-new-chapter-for-ionic-native/) post by Max Lyncht.
|
||||
|
||||
## Capacitor Support
|
||||
|
||||
In addition to Cordova, Awesome Cordova Plugins also works with [Capacitor](https://capacitorjs.com), Ionic's official native runtime. Basic usage below. For complete details, [see the Capacitor documentation](https://capacitorjs.com/docs/v2/cordova/using-cordova-plugins).
|
||||
|
||||
## Installation
|
||||
|
||||
Run following command to install Awesome Cordova Plugins in your project.
|
||||
|
||||
```bash
|
||||
npm install @awesome-cordova-plugins/core --save
|
||||
```
|
||||
|
||||
You also need to install the Awesome Cordova Plugins package for each plugin you want to add. Please see the [Awesome Cordova Plugins documentation](https://ionicframework.com/docs/native/) for complete instructions on how to add and use the plugins.
|
||||
|
||||
## Documentation
|
||||
|
||||
For the full Awesome Cordova Plugins documentation, please visit [https://ionicframework.com/docs/native/](https://ionicframework.com/docs/native/).
|
||||
|
||||
### Basic Usage
|
||||
|
||||
#### Ionic/Angular apps (Standalone)
|
||||
|
||||
Angular v14+ uses standalone components by default. To use a plugin, register it as a provider in your application bootstrap and inject it using Angular's `inject()` function.
|
||||
Make sure to import the injectable class from the `/ngx` directory as shown in the following examples:
|
||||
|
||||
```typescript
|
||||
// main.ts
|
||||
import { bootstrapApplication } from '@angular/platform-browser';
|
||||
import { Camera } from '@awesome-cordova-plugins/camera/ngx';
|
||||
import { Geolocation } from '@awesome-cordova-plugins/geolocation/ngx';
|
||||
import { AppComponent } from './app/app.component';
|
||||
|
||||
bootstrapApplication(AppComponent, {
|
||||
providers: [Camera, Geolocation],
|
||||
});
|
||||
```
|
||||
|
||||
```typescript
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { inject } from '@angular/core';
|
||||
import { Geolocation } from '@awesome-cordova-plugins/geolocation/ngx';
|
||||
import { Platform } from '@ionic/angular';
|
||||
|
||||
@Component({
|
||||
selector: 'app-my-component',
|
||||
standalone: true,
|
||||
template: `<p>My Component</p>`,
|
||||
})
|
||||
export class MyComponent implements OnInit {
|
||||
private geolocation = inject(Geolocation);
|
||||
private platform = inject(Platform);
|
||||
|
||||
async ngOnInit() {
|
||||
await this.platform.ready();
|
||||
|
||||
// get position
|
||||
const pos = await this.geolocation.getCurrentPosition();
|
||||
console.log(`lat: ${pos.coords.latitude}, lon: ${pos.coords.longitude}`);
|
||||
|
||||
// watch position
|
||||
const watch = this.geolocation.watchPosition().subscribe((pos) => {
|
||||
console.log(`lat: ${pos.coords.latitude}, lon: ${pos.coords.longitude}`);
|
||||
});
|
||||
|
||||
// to stop watching
|
||||
watch.unsubscribe();
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Ionic/React apps
|
||||
|
||||
React apps must use Capacitor to build native mobile apps. However, Awesome Cordova Plugins (and therefore, Cordova plugins) can still be used.
|
||||
|
||||
```bash
|
||||
# Install Core library (once per project)
|
||||
npm install @awesome-cordova-plugins/core
|
||||
|
||||
# Install Awesome Cordova Plugins TypeScript wrapper
|
||||
npm install @awesome-cordova-plugins/barcode-scanner
|
||||
|
||||
# Install Cordova plugin
|
||||
npm install phonegap-plugin-barcodescanner
|
||||
|
||||
# Update native platform project(s) to include newly added plugin
|
||||
ionic cap sync
|
||||
```
|
||||
|
||||
Import the plugin object then use its static methods:
|
||||
|
||||
```typescript
|
||||
import { BarcodeScanner } from '@awesome-cordova-plugins/barcode-scanner';
|
||||
|
||||
const Tab1: React.FC = () => {
|
||||
const openScanner = async () => {
|
||||
const data = await BarcodeScanner.scan();
|
||||
console.log(`Barcode data: ${data.text}`);
|
||||
};
|
||||
return (
|
||||
<IonPage>
|
||||
<IonHeader>
|
||||
<IonToolbar>
|
||||
<IonTitle>Tab 1</IonTitle>
|
||||
</IonToolbar>
|
||||
</IonHeader>
|
||||
<IonContent>
|
||||
<IonButton onClick={openScanner}>Scan barcode</IonButton>
|
||||
</IonContent>
|
||||
</IonPage>
|
||||
);
|
||||
};
|
||||
```
|
||||
|
||||
#### ES2015+/TypeScript (without Angular)
|
||||
|
||||
These modules can also be used without Angular by calling static methods directly:
|
||||
|
||||
```js
|
||||
import { Camera } from '@awesome-cordova-plugins/camera';
|
||||
|
||||
document.addEventListener('deviceready', () => {
|
||||
Camera.getPicture()
|
||||
.then((data) => console.log('Took a picture!', data))
|
||||
.catch((e) => console.log('Error occurred while taking a picture', e));
|
||||
});
|
||||
```
|
||||
|
||||
### Mocking and Browser Development (Ionic/Angular apps only)
|
||||
|
||||
Awesome Cordova Plugins makes it possible to mock plugins and develop nearly the entirety of your app in the browser or in `ionic serve`.
|
||||
|
||||
To do this, you need to provide a mock implementation of the plugins you wish to use. Here's an example of mocking the `Camera` plugin to return a stock image while in development:
|
||||
|
||||
First create a mock class that extends the `Camera` class:
|
||||
|
||||
```typescript
|
||||
import { Camera } from '@awesome-cordova-plugins/camera/ngx';
|
||||
|
||||
class CameraMock extends Camera {
|
||||
getPicture(options) {
|
||||
return new Promise((resolve, reject) => {
|
||||
resolve('BASE_64_ENCODED_DATA_GOES_HERE');
|
||||
});
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Then override the `Camera` provider in your application bootstrap:
|
||||
|
||||
```typescript
|
||||
// main.ts
|
||||
import { bootstrapApplication } from '@angular/platform-browser';
|
||||
import { Camera } from '@awesome-cordova-plugins/camera/ngx';
|
||||
import { AppComponent } from './app/app.component';
|
||||
|
||||
class CameraMock extends Camera {
|
||||
getPicture(options) {
|
||||
return Promise.resolve('BASE_64_ENCODED_DATA_GOES_HERE');
|
||||
}
|
||||
}
|
||||
|
||||
bootstrapApplication(AppComponent, {
|
||||
providers: [{ provide: Camera, useClass: CameraMock }],
|
||||
});
|
||||
```
|
||||
|
||||
### Runtime Diagnostics
|
||||
|
||||
Spent way too long diagnosing an issue only to realize a plugin wasn't firing or installed? Awesome Cordova Plugins lets you know what the issue is and how you can resolve it.
|
||||
|
||||

|
||||
|
||||
## Plugin Missing?
|
||||
|
||||
Let us know or submit a PR! Take a look at [the Developer Guide](https://github.com/danielsogl/awesome-cordova-plugins/blob/main/DEVELOPER.md) for more on how to contribute. :heart:
|
||||
|
||||
# Credits
|
||||
|
||||
Ibby Hadeed - [@ihadeed](https://github.com/ihadeed)
|
||||
|
||||
Daniel Sogl - [LinkedIn](https://www.linkedin.com/in/daniel-sogl)
|
||||
|
||||
Tim Lancina - [@timlancina](https://twitter.com/timlancina)
|
||||
|
||||
Mike Hartington - [@mhartington](https://twitter.com/mhartington)
|
||||
|
||||
Max Lynch - [@maxlynch](https://twitter.com/maxlynch)
|
||||
|
||||
Rob Wormald - [@robwormald](https://twitter.com/robwormald)
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Crop Plugin Privacy plugin for Cordova and Ionic. This plugin does something
|
||||
---
|
||||
|
||||
# Crop Plugin Privacy
|
||||
|
||||
This plugin does something
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-crop-privacy
|
||||
npm install @awesome-cordova-plugins/crop-plugin-privacy
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/BaraAksayeth25/cordova-plugin-crop-privacy](https://github.com/BaraAksayeth25/cordova-plugin-crop-privacy)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,24 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
CustomUiSdk plugin for Cordova and Ionic. This plugin is used to access Paytmpayments native CustomUiSdk framework's apis.
|
||||
---
|
||||
|
||||
# CustomUiSdk
|
||||
|
||||
This plugin is used to access Paytmpayments native CustomUiSdk framework's apis.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
|
||||
npm install @awesome-cordova-plugins/custom-ui-sdk
|
||||
```
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android, iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
CustomUISDK plugin for Cordova and Ionic. This plugin is used to access Paytm's native CustomUISDK framework's apis.
|
||||
---
|
||||
|
||||
# CustomUISDK
|
||||
|
||||
This plugin is used to access Paytm's native CustomUISDK framework's apis.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
|
||||
npm install @awesome-cordova-plugins/custom-uisdk
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/paytm/paytm-customuisdk-cordova](https://github.com/paytm/paytm-customuisdk-cordova)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android, iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Deeplinks plugin for Cordova and Ionic. This plugin handles deeplinks on iOS and Android for both custom URL scheme links and Universal App Links. Please…
|
||||
---
|
||||
|
||||
# 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](https://github.com/ionic-team/ionic-plugin-deeplinks) 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.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add ionic-plugin-deeplinks --variable URL_SCHEME=myapp --variable DEEPLINK_SCHEME=https --variable DEEPLINK_HOST=example.com --variable ANDROID_PATH_PREFIX=/
|
||||
npm install @awesome-cordova-plugins/deeplinks
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/ionic-team/ionic-plugin-deeplinks](https://github.com/ionic-team/ionic-plugin-deeplinks)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- Browser
|
||||
- iOS
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
description: >-
|
||||
Device Accounts plugin for Cordova and Ionic. Gets the Google accounts associated with the Android device
|
||||
---
|
||||
|
||||
# Device Accounts
|
||||
|
||||
Gets the Google accounts associated with the Android device
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-device-accounts-v2
|
||||
npm install @awesome-cordova-plugins/device-accounts
|
||||
```
|
||||
|
||||
**Plugin Repo:** [https://github.com/xUnholy/cordova-device-accounts-v2](https://github.com/xUnholy/cordova-device-accounts-v2)
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
|
||||
## Further Information
|
||||
|
||||
- [Installation Guide](../../installation.md)
|
||||
- [FAQ](../../faq.md)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user