mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2026-02-04 00:06:19 +08:00
Compare commits
298 Commits
v6.0.0-alp
...
v6.7.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6e4373aed3 | ||
|
|
fc61c40317 | ||
|
|
dab9fd84bc | ||
|
|
ef62700395 | ||
|
|
8c970ef7f6 | ||
|
|
0625a9280e | ||
|
|
551170b8d7 | ||
|
|
23e6147b25 | ||
|
|
51d82f581d | ||
|
|
74b93d7499 | ||
|
|
6e7d0069c1 | ||
|
|
e7963f6f03 | ||
|
|
7e8657ea32 | ||
|
|
80a01197b5 | ||
|
|
a3ba0015ed | ||
|
|
6d3008d6fc | ||
|
|
d65e7ee647 | ||
|
|
adb330aa63 | ||
|
|
d607550573 | ||
|
|
d5e8fb253d | ||
|
|
974466ae39 | ||
|
|
60cf9acee5 | ||
|
|
9740eadfd5 | ||
|
|
95e848f4e5 | ||
|
|
3b9dabc18c | ||
|
|
7e2894f769 | ||
|
|
709049f2e7 | ||
|
|
02219c07c6 | ||
|
|
1f1c35a39f | ||
|
|
0cf84a68ed | ||
|
|
73bcc4053d | ||
|
|
e4af3a0390 | ||
|
|
68105e14fc | ||
|
|
094cfd4c8f | ||
|
|
4e747b8e2c | ||
|
|
d9eb83431d | ||
|
|
2dde2de42d | ||
|
|
e579eb58e2 | ||
|
|
bddafc779a | ||
|
|
a7d5e28671 | ||
|
|
d8e1cbd06e | ||
|
|
f533c5990c | ||
|
|
3ba983aa7f | ||
|
|
805a2737da | ||
|
|
b7dc7ffea7 | ||
|
|
0c2dca633a | ||
|
|
3c893d7119 | ||
|
|
61289bbbba | ||
|
|
dd2dc1b05f | ||
|
|
cef6c8f896 | ||
|
|
e3d3ee2b01 | ||
|
|
ecff55ceba | ||
|
|
1c4cbffe1d | ||
|
|
5355e922ac | ||
|
|
5750f305bf | ||
|
|
f09471207d | ||
|
|
c021fc79e6 | ||
|
|
d616ed5133 | ||
|
|
7865e279c5 | ||
|
|
ff6a69af97 | ||
|
|
9c2b70771d | ||
|
|
ae0d5dbac0 | ||
|
|
9b7148a8a9 | ||
|
|
d30052d8cf | ||
|
|
56126dd6a9 | ||
|
|
8fa353c1b8 | ||
|
|
55826b691f | ||
|
|
d7f4347f39 | ||
|
|
06247530a8 | ||
|
|
4d45e82e0e | ||
|
|
df36932de7 | ||
|
|
ce3a3c8b76 | ||
|
|
0f6d1c8354 | ||
|
|
72da25ff29 | ||
|
|
96cc995333 | ||
|
|
b600651f02 | ||
|
|
81987ebce4 | ||
|
|
555bb83916 | ||
|
|
b18a2c874e | ||
|
|
d92c4cf70a | ||
|
|
0d5991c604 | ||
|
|
1fbd4c763c | ||
|
|
f82f350613 | ||
|
|
5f30a88304 | ||
|
|
4372ff160a | ||
|
|
02be833b85 | ||
|
|
6d1d9f480d | ||
|
|
a151860df9 | ||
|
|
c9acedae52 | ||
|
|
ece66eeb7f | ||
|
|
2b6c297da8 | ||
|
|
126d44faf3 | ||
|
|
8047c9ad52 | ||
|
|
178f56625e | ||
|
|
fbd523f36a | ||
|
|
0527afe935 | ||
|
|
e3af183e0c | ||
|
|
f9110cb429 | ||
|
|
bb1164f4fc | ||
|
|
4cd48b4d0e | ||
|
|
baa207b724 | ||
|
|
213a26730e | ||
|
|
611374066e | ||
|
|
f609b9332b | ||
|
|
a236719a71 | ||
|
|
d726bac60e | ||
|
|
7e533f48b9 | ||
|
|
d6827531ee | ||
|
|
e96885c6b0 | ||
|
|
6b827ffe95 | ||
|
|
90e5028547 | ||
|
|
b2b3e3a6e3 | ||
|
|
06018b2cc7 | ||
|
|
f5c3307969 | ||
|
|
4435e7a3e0 | ||
|
|
7a0a73db3b | ||
|
|
7fe38aa378 | ||
|
|
bd0f4b07b4 | ||
|
|
402f4b7987 | ||
|
|
6c9bd07361 | ||
|
|
7f0077979c | ||
|
|
da2ec29c05 | ||
|
|
26bd115891 | ||
|
|
f92c99bfbf | ||
|
|
9031371721 | ||
|
|
2d836d3cd0 | ||
|
|
ae8221001e | ||
|
|
277d696a02 | ||
|
|
5b768854da | ||
|
|
a589dac215 | ||
|
|
950a1bb4ff | ||
|
|
1b15bf4557 | ||
|
|
bfd111e9d6 | ||
|
|
9715ef8755 | ||
|
|
e21bd1a50e | ||
|
|
99ec80e2e7 | ||
|
|
91da2e5020 | ||
|
|
e1ff6de9ef | ||
|
|
d9b3638f3d | ||
|
|
82f7fd9e0a | ||
|
|
0579e67e96 | ||
|
|
2d55ad694c | ||
|
|
5ae27d8ad4 | ||
|
|
0ec396b25c | ||
|
|
a095422889 | ||
|
|
a924fb519f | ||
|
|
63cfd4488d | ||
|
|
9b4502f929 | ||
|
|
ba37646fc4 | ||
|
|
3b1d0593da | ||
|
|
ff78ca7fb4 | ||
|
|
b283dc2e76 | ||
|
|
cc2a78c858 | ||
|
|
65d3053a53 | ||
|
|
f02bc78ec2 | ||
|
|
7fe3ad1daa | ||
|
|
e51a1a79ef | ||
|
|
74a80c0953 | ||
|
|
e32ac8c6c9 | ||
|
|
cf23a52ea2 | ||
|
|
e7aab1d814 | ||
|
|
34afbd1c53 | ||
|
|
56054d036e | ||
|
|
c654ea5925 | ||
|
|
70d7acc113 | ||
|
|
60aa74baed | ||
|
|
af55cb25fa | ||
|
|
2b8992faf3 | ||
|
|
e90a6a306c | ||
|
|
97f566170e | ||
|
|
d2e92f5589 | ||
|
|
c544b43a51 | ||
|
|
755b28e325 | ||
|
|
6a97dc5e07 | ||
|
|
2d347e46ed | ||
|
|
ef499ed290 | ||
|
|
1e258adeb5 | ||
|
|
5c0b31faa7 | ||
|
|
d00d54f507 | ||
|
|
2e5e43fa7b | ||
|
|
8eddcb0d45 | ||
|
|
4716a9db68 | ||
|
|
7eb57cdde8 | ||
|
|
6f38115ce2 | ||
|
|
d76dfae916 | ||
|
|
b8e3ac4403 | ||
|
|
cd81cfabf4 | ||
|
|
81a8b42a29 | ||
|
|
6f14ba6031 | ||
|
|
62f664e61a | ||
|
|
664e3385ce | ||
|
|
8201dc1d14 | ||
|
|
375246970c | ||
|
|
d7c771b250 | ||
|
|
89b21b7694 | ||
|
|
5e23ebebdc | ||
|
|
5bc6693571 | ||
|
|
facadcabaa | ||
|
|
d1210b76a7 | ||
|
|
e7d1641fe9 | ||
|
|
e22cf2bb69 | ||
|
|
deb8a61a81 | ||
|
|
3cca6104df | ||
|
|
de884a55d0 | ||
|
|
5a22241db5 | ||
|
|
d476af44cd | ||
|
|
8b6d6c726b | ||
|
|
7f1bf9520b | ||
|
|
f9257f4d65 | ||
|
|
85441e59ca | ||
|
|
a86c55ba5f | ||
|
|
f8c6430a26 | ||
|
|
98dc7c4be0 | ||
|
|
178489ffaa | ||
|
|
bf860c30c2 | ||
|
|
a7a10913fc | ||
|
|
406ad4ec45 | ||
|
|
c3a01431ce | ||
|
|
dc1ee8c530 | ||
|
|
b6a44e3a8a | ||
|
|
7761ed4a39 | ||
|
|
e799600b6e | ||
|
|
b0780a8bec | ||
|
|
b6cc2d93f0 | ||
|
|
7817643282 | ||
|
|
b572a10a6e | ||
|
|
acb39e5849 | ||
|
|
74302846dc | ||
|
|
a76463877c | ||
|
|
698692ed59 | ||
|
|
dfd3d55dbc | ||
|
|
f2d809f8b3 | ||
|
|
22d6cd957b | ||
|
|
2b061556dd | ||
|
|
7baa002fb9 | ||
|
|
2698011d4b | ||
|
|
b8374ab3b1 | ||
|
|
e85f6cf2b2 | ||
|
|
f86764abe7 | ||
|
|
dcb9b225ce | ||
|
|
97739e86f1 | ||
|
|
b3fade36c6 | ||
|
|
a6fcc16d12 | ||
|
|
e420bd1d2a | ||
|
|
8b826e3c1b | ||
|
|
1b45462542 | ||
|
|
82377f0633 | ||
|
|
aef160e418 | ||
|
|
a801c7d305 | ||
|
|
898e0b8588 | ||
|
|
99161e2b73 | ||
|
|
678fb71a7f | ||
|
|
6e953e58ca | ||
|
|
29163b93d6 | ||
|
|
ba83a81c75 | ||
|
|
ac1d0aa0a1 | ||
|
|
5d7cf3940f | ||
|
|
725e88080b | ||
|
|
38d59e3455 | ||
|
|
b5b8968ac4 | ||
|
|
ebdd6e9796 | ||
|
|
620385befc | ||
|
|
ba9c1c154e | ||
|
|
dd081cc696 | ||
|
|
135c6cc8b4 | ||
|
|
c7d39dde42 | ||
|
|
eb27d87d92 | ||
|
|
878a6e94c2 | ||
|
|
95fa8eb098 | ||
|
|
b1f4639640 | ||
|
|
d6697b8a95 | ||
|
|
41e96d950f | ||
|
|
56fc1d4663 | ||
|
|
9e5953bc27 | ||
|
|
346ea82652 | ||
|
|
8671e18391 | ||
|
|
0a31a374b1 | ||
|
|
64d2c55880 | ||
|
|
f96b7588de | ||
|
|
7a528b42d9 | ||
|
|
19fc222ea9 | ||
|
|
41a85e6587 | ||
|
|
04422600ca | ||
|
|
4e183b1881 | ||
|
|
63c83653c0 | ||
|
|
032f3a160a | ||
|
|
44967cc02c | ||
|
|
123517eac6 | ||
|
|
d1c13567d7 | ||
|
|
49df2996c8 | ||
|
|
d14d8c413e | ||
|
|
511300ea7b | ||
|
|
a3d3d546af | ||
|
|
cca5929a7d | ||
|
|
6e83ebdfb3 | ||
|
|
38528e1017 | ||
|
|
c801668d3f | ||
|
|
bc1ff3da7d |
6
.github/ISSUE_TEMPLATE.md
vendored
6
.github/ISSUE_TEMPLATE.md
vendored
@@ -1,7 +1,7 @@
|
||||
**I'm submitting a ...** (check one with "x")
|
||||
[ ] bug report
|
||||
[ ] feature request
|
||||
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or https://ionicworldwide.herokuapp.com/
|
||||
- [ ] bug report
|
||||
- [ ] feature request
|
||||
- [ ] support request => Please do not submit support requests here, use the discussions section https://github.com/danielsogl/awesome-cordova-plugins/discussions
|
||||
|
||||
**Current behavior:**
|
||||
<!-- Describe how the bug manifests. -->
|
||||
|
||||
6
.github/workflows/nodejs.yml
vendored
6
.github/workflows/nodejs.yml
vendored
@@ -8,12 +8,12 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x]
|
||||
node-version: [16.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3.0.2
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3.2.0
|
||||
uses: actions/setup-node@v4.0.1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
|
||||
12
.github/workflows/npmpublish.yml
vendored
12
.github/workflows/npmpublish.yml
vendored
@@ -9,10 +9,10 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3.0.2
|
||||
- uses: actions/setup-node@v3.2.0
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- uses: actions/setup-node@v4.0.1
|
||||
with:
|
||||
node-version: 14
|
||||
node-version: 16
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
- name: Build
|
||||
@@ -24,10 +24,10 @@ jobs:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3.0.2
|
||||
- uses: actions/setup-node@v3.2.0
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- uses: actions/setup-node@v4.0.1
|
||||
with:
|
||||
node-version: 14
|
||||
node-version: 16
|
||||
registry-url: https://registry.npmjs.org/
|
||||
- run: npm ci
|
||||
- run: npm run shipit
|
||||
|
||||
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v5
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'There has been no recent activity and this issue has been marked inactive.'
|
||||
|
||||
208
CHANGELOG.md
208
CHANGELOG.md
@@ -1,3 +1,211 @@
|
||||
# [6.7.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.6.0...v6.7.0) (2024-04-17)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* 🐛 wrong top package main field ([#4736](https://github.com/danielsogl/awesome-cordova-plugins/issues/4736)) ([74b93d7](https://github.com/danielsogl/awesome-cordova-plugins/commit/74b93d749968c06d2ce4a653cbc5edeb9cfdd368))
|
||||
* **firebase-x:** filters for fetchFirestoreCollection ([#4733](https://github.com/danielsogl/awesome-cordova-plugins/issues/4733)) ([23e6147](https://github.com/danielsogl/awesome-cordova-plugins/commit/23e6147b25dc188604f83906d3078629c39bb7a2))
|
||||
* **firebase-x:** setConfigSettings function input parameters aligned with firebase-x plugin ([#4757](https://github.com/danielsogl/awesome-cordova-plugins/issues/4757)) ([adb330a](https://github.com/danielsogl/awesome-cordova-plugins/commit/adb330aa63d89d91243c5a9ebf8bc34aa5206d6e))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **adjust:** Add Remote Config missing functions ([#4756](https://github.com/danielsogl/awesome-cordova-plugins/issues/4756)) ([d65e7ee](https://github.com/danielsogl/awesome-cordova-plugins/commit/d65e7ee64707985966b27b7bfc206a1f29630f58))
|
||||
* **adjust:** update wrapper for Adjust Cordova SDK v4.37.1 ([#4724](https://github.com/danielsogl/awesome-cordova-plugins/issues/4724)) ([551170b](https://github.com/danielsogl/awesome-cordova-plugins/commit/551170b8d7d47819b8742344d9f214318ae97562))
|
||||
* **airship:** add plugin ([#4755](https://github.com/danielsogl/awesome-cordova-plugins/issues/4755)) ([6d3008d](https://github.com/danielsogl/awesome-cordova-plugins/commit/6d3008d6fc124c24a13ddf9f60be4c1779f41ee0))
|
||||
* **cashfree-pg:** support cordova-plugin-cashfree-pg 1.0.6 ([#4737](https://github.com/danielsogl/awesome-cordova-plugins/issues/4737)) ([6e7d006](https://github.com/danielsogl/awesome-cordova-plugins/commit/6e7d0069c138da760530926ba63bd7522a529565))
|
||||
* **clevertap:** support clevertap-cordova 3.0.0 ([#4760](https://github.com/danielsogl/awesome-cordova-plugins/issues/4760)) ([974466a](https://github.com/danielsogl/awesome-cordova-plugins/commit/974466ae39146de7826b752c0932eca0cc6a4c7e)), closes [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
|
||||
* **contacts:** add plugin ([#4750](https://github.com/danielsogl/awesome-cordova-plugins/issues/4750)) ([80a0119](https://github.com/danielsogl/awesome-cordova-plugins/commit/80a01197b51d97821c7fa0037c98a9cbc19b9e43))
|
||||
* **screenshot:** add plugin ([#4751](https://github.com/danielsogl/awesome-cordova-plugins/issues/4751)) ([a3ba001](https://github.com/danielsogl/awesome-cordova-plugins/commit/a3ba0015eda437fe60e8f05852447c92cff8f31c))
|
||||
* **ssl-certificate-checker:** add SSL Certificate Checker support ([#4734](https://github.com/danielsogl/awesome-cordova-plugins/issues/4734)) ([51d82f5](https://github.com/danielsogl/awesome-cordova-plugins/commit/51d82f581d059a62d2179dc9da89afd64e1e41d2))
|
||||
|
||||
|
||||
|
||||
# [6.6.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.5.0...v6.6.0) (2023-12-19)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **adjust:** update wrapper for Adjust Cordova SDK v4.35.1 ([#4696](https://github.com/danielsogl/awesome-cordova-plugins/issues/4696)) ([709049f](https://github.com/danielsogl/awesome-cordova-plugins/commit/709049f2e77455723c62f248e327e37e2ca8ddb2)), closes [#4600](https://github.com/danielsogl/awesome-cordova-plugins/issues/4600) [#4608](https://github.com/danielsogl/awesome-cordova-plugins/issues/4608) [#4617](https://github.com/danielsogl/awesome-cordova-plugins/issues/4617) [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
|
||||
|
||||
|
||||
|
||||
# [6.5.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.4.0...v6.5.0) (2023-12-19)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **deps:** update dependency tslib to v2.6.1 ([#4610](https://github.com/danielsogl/awesome-cordova-plugins/issues/4610)) [skip ci] ([d30052d](https://github.com/danielsogl/awesome-cordova-plugins/commit/d30052d8cfadcbae95a5437dc8692c87b39c5294))
|
||||
* **deps:** update dependency tslib to v2.6.2 ([#4669](https://github.com/danielsogl/awesome-cordova-plugins/issues/4669)) [skip ci] ([5355e92](https://github.com/danielsogl/awesome-cordova-plugins/commit/5355e922acd5ea6c09a94bd82064eeae52926c06))
|
||||
* **diagnostic:** add LIMITED permissionStatus ([#4645](https://github.com/danielsogl/awesome-cordova-plugins/issues/4645)) ([3ba983a](https://github.com/danielsogl/awesome-cordova-plugins/commit/3ba983aa7f8a3ce382c164929cda37921056cfcc)), closes [#4600](https://github.com/danielsogl/awesome-cordova-plugins/issues/4600) [#4608](https://github.com/danielsogl/awesome-cordova-plugins/issues/4608) [#4617](https://github.com/danielsogl/awesome-cordova-plugins/issues/4617) [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **clevertap:** support clevertap-cordova 2.7.2 ([#4683](https://github.com/danielsogl/awesome-cordova-plugins/issues/4683)) [skip ci] ([bddafc7](https://github.com/danielsogl/awesome-cordova-plugins/commit/bddafc779a65379c5d09fa74418830b81e2525a7)), closes [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
|
||||
|
||||
|
||||
|
||||
# [6.4.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.3.0...v6.4.0) (2023-07-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **deps:** update dependency tslib to v2.5.0 ([#4552](https://github.com/danielsogl/awesome-cordova-plugins/issues/4552)) [skip ci] ([7e533f4](https://github.com/danielsogl/awesome-cordova-plugins/commit/7e533f48b9112fd4f8c6807d86362526985b395b))
|
||||
* **deps:** update dependency tslib to v2.6.0 ([#4595](https://github.com/danielsogl/awesome-cordova-plugins/issues/4595)) ([b600651](https://github.com/danielsogl/awesome-cordova-plugins/commit/b600651f02e56e446e49b2ae40418d46e0dca09b))
|
||||
* **mobile-messaging:** correct return type of submitEvent ([#4564](https://github.com/danielsogl/awesome-cordova-plugins/issues/4564)) ([0527afe](https://github.com/danielsogl/awesome-cordova-plugins/commit/0527afe93578810b4084e0da330574f956b0a7b5))
|
||||
* **mobile-messaging:** fix event (un)register and saveUser ([#4569](https://github.com/danielsogl/awesome-cordova-plugins/issues/4569)) ([fbd523f](https://github.com/danielsogl/awesome-cordova-plugins/commit/fbd523f36a7214b1e933cca8765fece744ea8192))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **cashfree-pg:** support cordova-plugin-cashfree-pg 1.0.2 ([#4572](https://github.com/danielsogl/awesome-cordova-plugins/issues/4572)) ([8047c9a](https://github.com/danielsogl/awesome-cordova-plugins/commit/8047c9ad5203f9d6b53a663907c5f07c24fe565b))
|
||||
* **http:** onProgress param to sendRequest method ([#4512](https://github.com/danielsogl/awesome-cordova-plugins/issues/4512)) ([4cd48b4](https://github.com/danielsogl/awesome-cordova-plugins/commit/4cd48b4d0e72770962857c96c001c5597b504772))
|
||||
* **newrelic:** add shutdown method ([#4571](https://github.com/danielsogl/awesome-cordova-plugins/issues/4571)) ([178f566](https://github.com/danielsogl/awesome-cordova-plugins/commit/178f56625e63aa679b592995750d109e05f421c1))
|
||||
* **smartlook:** rewrite smartlook ionic plugin ([#4510](https://github.com/danielsogl/awesome-cordova-plugins/issues/4510)) ([baa207b](https://github.com/danielsogl/awesome-cordova-plugins/commit/baa207b724b78ed1d40abec6bada933dab829f96))
|
||||
* **sms-retriever-api:** add plugin ([#4528](https://github.com/danielsogl/awesome-cordova-plugins/issues/4528)) ([e3af183](https://github.com/danielsogl/awesome-cordova-plugins/commit/e3af183e0c3d51292e14f4285dd8c71e4c564b39))
|
||||
* **smtp-client:** add plugin ([#4585](https://github.com/danielsogl/awesome-cordova-plugins/issues/4585)) ([2b6c297](https://github.com/danielsogl/awesome-cordova-plugins/commit/2b6c297da81958f9f1b3fa58c1a6ddfb3520d220))
|
||||
* **urbanairship:** Add locale override methods ([#4579](https://github.com/danielsogl/awesome-cordova-plugins/issues/4579)) ([126d44f](https://github.com/danielsogl/awesome-cordova-plugins/commit/126d44faf37b341ad05a4ecf4146c5c4e5d1ccdf))
|
||||
* **zip:** add callback param so the progress function can be calleds ([#4519](https://github.com/danielsogl/awesome-cordova-plugins/issues/4519)) ([f9110cb](https://github.com/danielsogl/awesome-cordova-plugins/commit/f9110cb4295b964ce89aef8fe3c56e71a09bb320))
|
||||
|
||||
|
||||
|
||||
# [6.3.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.2.0...v6.3.0) (2022-12-31)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **chooser:** Update for support android 11+ ([#4436](https://github.com/danielsogl/awesome-cordova-plugins/issues/4436)) ([ba37646](https://github.com/danielsogl/awesome-cordova-plugins/commit/ba37646fc4b7cc86b497affa0ef932ad374b9080))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **advanced-image-picker:** add plugin ([#4434](https://github.com/danielsogl/awesome-cordova-plugins/issues/4434)) ([63cfd44](https://github.com/danielsogl/awesome-cordova-plugins/commit/63cfd4488d17b5cdac8a8302b310acc6c308c5a2))
|
||||
* **brightness:** add brightness plugin ([#4454](https://github.com/danielsogl/awesome-cordova-plugins/issues/4454)) ([f02bc78](https://github.com/danielsogl/awesome-cordova-plugins/commit/f02bc78ec253f6388750e662571300c82e990b51))
|
||||
* **clevertap:** support clevertap-cordova 2.6.0 ([#4458](https://github.com/danielsogl/awesome-cordova-plugins/issues/4458)) ([74a80c0](https://github.com/danielsogl/awesome-cordova-plugins/commit/74a80c0953577478bd15fe16ab9edf28dcb27280)), closes [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
|
||||
* **diagnostics:** add getBluetoothAuthorizationStatuses function ([#4442](https://github.com/danielsogl/awesome-cordova-plugins/issues/4442)) ([ff78ca7](https://github.com/danielsogl/awesome-cordova-plugins/commit/ff78ca7fb4335698076282ec9da99433939f276a))
|
||||
* **fbsdk:** add plugin ([#4431](https://github.com/danielsogl/awesome-cordova-plugins/issues/4431)) ([a095422](https://github.com/danielsogl/awesome-cordova-plugins/commit/a0954228896b53dc42db3cbf6d6e89764d83646d))
|
||||
* **ffmpeg:** add plugin ([#4435](https://github.com/danielsogl/awesome-cordova-plugins/issues/4435)) ([9b4502f](https://github.com/danielsogl/awesome-cordova-plugins/commit/9b4502f9297d1a0a579db3fd0165c98e0897625e))
|
||||
* **fingerprint-aio:** update plugin ([#4423](https://github.com/danielsogl/awesome-cordova-plugins/issues/4423)) ([0579e67](https://github.com/danielsogl/awesome-cordova-plugins/commit/0579e67e966eb0469bccd22ee88d0c4c9c375838))
|
||||
* **mobile-accessibility:** add mobile-accessibility plugin ([#4456](https://github.com/danielsogl/awesome-cordova-plugins/issues/4456)) ([e51a1a7](https://github.com/danielsogl/awesome-cordova-plugins/commit/e51a1a79efcfd99e05783d567472251277f1bf93))
|
||||
* **power-management:** add power management support ([#4443](https://github.com/danielsogl/awesome-cordova-plugins/issues/4443)) ([b283dc2](https://github.com/danielsogl/awesome-cordova-plugins/commit/b283dc2e761dd897556a8ed955a312b663ca9c5e))
|
||||
* **unique-device-id:** add unique-device-id plugin ([#4455](https://github.com/danielsogl/awesome-cordova-plugins/issues/4455)) ([7fe3ad1](https://github.com/danielsogl/awesome-cordova-plugins/commit/7fe3ad1daabeac6c8365ddfce4d2b44df94ed00b))
|
||||
* **wonderpush:** expose getters and setters ([#4441](https://github.com/danielsogl/awesome-cordova-plugins/issues/4441)) ([3b1d059](https://github.com/danielsogl/awesome-cordova-plugins/commit/3b1d0593daf5732ea9f6268af84a612a575a3941))
|
||||
|
||||
|
||||
|
||||
# [6.2.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.1.0...v6.2.0) (2022-11-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **bluetooth-le:** use correct return types ([#4411](https://github.com/danielsogl/awesome-cordova-plugins/issues/4411)) ([2d347e4](https://github.com/danielsogl/awesome-cordova-plugins/commit/2d347e46edb47a13e662e55ae8c126021a54ea85))
|
||||
* **deps:** update dependency tslib to v2.4.1 ([#4413](https://github.com/danielsogl/awesome-cordova-plugins/issues/4413)) ([e90a6a3](https://github.com/danielsogl/awesome-cordova-plugins/commit/e90a6a306c24bf5b58ff2419fe1e8fea73c62472))
|
||||
* **diagnostic:** add getBluetoothAuthorizationStatus function ([#4398](https://github.com/danielsogl/awesome-cordova-plugins/issues/4398)) ([c544b43](https://github.com/danielsogl/awesome-cordova-plugins/commit/c544b43a5198566b2e56a0c3e0bbeb74e5527f0e))
|
||||
* **diagnostic:** add new Android runtime permissions for Bluetooth ([#4402](https://github.com/danielsogl/awesome-cordova-plugins/issues/4402)) ([6a97dc5](https://github.com/danielsogl/awesome-cordova-plugins/commit/6a97dc5e07ace559b766482ca1ee1a187ffb5d0c))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **ble:** add wrapper for starting location notifications ([#4399](https://github.com/danielsogl/awesome-cordova-plugins/issues/4399)) ([755b28e](https://github.com/danielsogl/awesome-cordova-plugins/commit/755b28e32534d75a6f8079b9be5a8e1b81aef636))
|
||||
* **crop-privacy:** add plugin ([#4408](https://github.com/danielsogl/awesome-cordova-plugins/issues/4408)) ([1e258ad](https://github.com/danielsogl/awesome-cordova-plugins/commit/1e258adeb5506d3bfa3eff755a710fa6373f6dcc))
|
||||
* **device:** detect if app is running on a macOS desktop with Apple Silicon ([#4299](https://github.com/danielsogl/awesome-cordova-plugins/issues/4299)) ([af55cb2](https://github.com/danielsogl/awesome-cordova-plugins/commit/af55cb25fa39146c0ed79d94e3805a401b881cc2))
|
||||
* **file-chooser:** add plugin ([#4396](https://github.com/danielsogl/awesome-cordova-plugins/issues/4396)) ([97f5661](https://github.com/danielsogl/awesome-cordova-plugins/commit/97f566170efdc90f48a4f7b4aef292dccfb0165c))
|
||||
* **image-resizer:** add plugin ([#4397](https://github.com/danielsogl/awesome-cordova-plugins/issues/4397)) ([d2e92f5](https://github.com/danielsogl/awesome-cordova-plugins/commit/d2e92f558972d62e6061494bee3562c70dfe7de1))
|
||||
* **newrelic:** add plugin ([#4409](https://github.com/danielsogl/awesome-cordova-plugins/issues/4409)) ([ef499ed](https://github.com/danielsogl/awesome-cordova-plugins/commit/ef499ed290d399a76ff3428b2dca63bd7ae0977f))
|
||||
|
||||
|
||||
|
||||
# [6.1.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.0.1...v6.1.0) (2022-10-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **launch-navigator:** use currect handlers ([#4385](https://github.com/danielsogl/awesome-cordova-plugins/issues/4385)) ([62f664e](https://github.com/danielsogl/awesome-cordova-plugins/commit/62f664e61a31f7b8be395cd6ce575604c5b5e88c))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **diagnostic:** addisCameraRollAuthorized and getCameraRollAuthorizationStatus functions (WIP) ([#4362](https://github.com/danielsogl/awesome-cordova-plugins/issues/4362)) ([cd81cfa](https://github.com/danielsogl/awesome-cordova-plugins/commit/cd81cfabf4a3027d65597a3b7079da5998988891))
|
||||
* **webim:** update plugin wrapper ([#4370](https://github.com/danielsogl/awesome-cordova-plugins/issues/4370)) ([81a8b42](https://github.com/danielsogl/awesome-cordova-plugins/commit/81a8b42a29f8b83fdcae8f6bcdf5179d009ad72d))
|
||||
|
||||
|
||||
|
||||
## [6.0.1](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.0.0...v6.0.1) (2022-10-17)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* use correct core version ([e7d1641](https://github.com/danielsogl/awesome-cordova-plugins/commit/e7d1641fe9b3cc18bbfab0fb7f23d8b3a4136e9b))
|
||||
|
||||
|
||||
|
||||
# [6.0.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.46.0...v6.0.0) (2022-10-15)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **core:** use angular ivy ([#4369](https://github.com/danielsogl/awesome-cordova-plugins/issues/4369)) ([85441e5](https://github.com/danielsogl/awesome-cordova-plugins/commit/85441e59cac2ac9f40b9da55647ec89c9bafb2ea))
|
||||
|
||||
|
||||
|
||||
# [5.46.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.45.0...v5.46.0) (2022-10-09)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **sms-retriever:** update startWatching result type ([#4309](https://github.com/danielsogl/awesome-cordova-plugins/issues/4309)) ([178489f](https://github.com/danielsogl/awesome-cordova-plugins/commit/178489ffaae6ad256ca1536bc79e63354c72516f))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **adjust:** update wrapper for Adjust Cordova SDK v4.32.0 ([#4327](https://github.com/danielsogl/awesome-cordova-plugins/issues/4327)) ([a7a1091](https://github.com/danielsogl/awesome-cordova-plugins/commit/a7a10913fcfc218dddd1b55b24aa797b47e3bf73))
|
||||
* **app-review:** add plugin ([#4348](https://github.com/danielsogl/awesome-cordova-plugins/issues/4348)) ([b0780a8](https://github.com/danielsogl/awesome-cordova-plugins/commit/b0780a8bec1f061489966ab29ebd44736eb3536e))
|
||||
* **applovin:** add plugin ([#4307](https://github.com/danielsogl/awesome-cordova-plugins/issues/4307)) ([bf860c3](https://github.com/danielsogl/awesome-cordova-plugins/commit/bf860c30c216e05bc516c179979210c1645570a9))
|
||||
* **bluetooth-le:** upgrade to v6.7.0 ([#4320](https://github.com/danielsogl/awesome-cordova-plugins/issues/4320)) ([98dc7c4](https://github.com/danielsogl/awesome-cordova-plugins/commit/98dc7c4be0c3a63775a63926e5958bcde79e7d5c))
|
||||
* **device:** add sdkVersion ([#4354](https://github.com/danielsogl/awesome-cordova-plugins/issues/4354)) ([acb39e5](https://github.com/danielsogl/awesome-cordova-plugins/commit/acb39e5849f368e2d2ac75baa5d341b189206e27))
|
||||
* **diagnostic:** extend parameter for requestLocationAuthorization ([#4350](https://github.com/danielsogl/awesome-cordova-plugins/issues/4350)) ([b572a10](https://github.com/danielsogl/awesome-cordova-plugins/commit/b572a10a6e1e4063fdd19a04acc09d049b973d67))
|
||||
* **firebase-x:** add MessagePayloadAps prop ([#4344](https://github.com/danielsogl/awesome-cordova-plugins/issues/4344)) ([dc1ee8c](https://github.com/danielsogl/awesome-cordova-plugins/commit/dc1ee8c5306196562a0013924014a0d7adfa5059))
|
||||
* **GCDWebServer:** add plugin ([#4302](https://github.com/danielsogl/awesome-cordova-plugins/issues/4302)) ([f8c6430](https://github.com/danielsogl/awesome-cordova-plugins/commit/f8c6430a26f5b489255c4f36629f245ed23bb280))
|
||||
* **webim:** add plugin ([#4355](https://github.com/danielsogl/awesome-cordova-plugins/issues/4355)) ([7430284](https://github.com/danielsogl/awesome-cordova-plugins/commit/74302846dc387423d51da79be82f7e0fee4a45bf))
|
||||
|
||||
|
||||
|
||||
# [5.45.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.44.0...v5.45.0) (2022-09-05)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **adjust:** update wrapper for Adjust Cordova SDK v4.30.0 ([#4277](https://github.com/danielsogl/awesome-cordova-plugins/issues/4277)) ([82377f0](https://github.com/danielsogl/awesome-cordova-plugins/commit/82377f06330e8618e50a57004c9a79cafa66d972))
|
||||
* **android-permissions:** add android 13 permissions ([#4295](https://github.com/danielsogl/awesome-cordova-plugins/issues/4295)) ([ba9c1c1](https://github.com/danielsogl/awesome-cordova-plugins/commit/ba9c1c154e76900f9570a7f3acc7728fd32a89a2))
|
||||
* **dynamsoft-barcode:** add setFocus and setZoom ([#4281](https://github.com/danielsogl/awesome-cordova-plugins/issues/4281)) ([a801c7d](https://github.com/danielsogl/awesome-cordova-plugins/commit/a801c7d3054d285c962b4657f4b224c9a9ad67cf))
|
||||
* **firebase-x:** add message typing ([#4282](https://github.com/danielsogl/awesome-cordova-plugins/issues/4282)) ([898e0b8](https://github.com/danielsogl/awesome-cordova-plugins/commit/898e0b8588f479aea228746c2b3e177c6066f757))
|
||||
* **in-app-purchase-2:** update validator for custom headers ([#4262](https://github.com/danielsogl/awesome-cordova-plugins/issues/4262)) ([8b826e3](https://github.com/danielsogl/awesome-cordova-plugins/commit/8b826e3c1b2b53e0d188e90d22f34948b2362cd4))
|
||||
* **intercom:** add displaySurvey ([#4292](https://github.com/danielsogl/awesome-cordova-plugins/issues/4292)) ([ebdd6e9](https://github.com/danielsogl/awesome-cordova-plugins/commit/ebdd6e97964d6c1e862f0160180d6e056f91de88))
|
||||
* **lets-cooee:** add event observer and installation documentation ([#4278](https://github.com/danielsogl/awesome-cordova-plugins/issues/4278)) ([aef160e](https://github.com/danielsogl/awesome-cordova-plugins/commit/aef160e4180d28598a8ef25c75cd8057dd59f81f))
|
||||
* **unvired-cordova-sdk:** Add new function to regenrate the JWT Token ([#4291](https://github.com/danielsogl/awesome-cordova-plugins/issues/4291)) ([678fb71](https://github.com/danielsogl/awesome-cordova-plugins/commit/678fb71a7f4cf1ad34c2746fdaa3690a13df4fe4))
|
||||
|
||||
|
||||
|
||||
# [5.44.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.43.0...v5.44.0) (2022-06-30)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **diagnostic:** adjust options declaration ([#4227](https://github.com/danielsogl/awesome-cordova-plugins/issues/4227)) ([19fc222](https://github.com/danielsogl/awesome-cordova-plugins/commit/19fc222ea93c79c53156aa0a05b3dc0bffa77a7e))
|
||||
* **urbanairship:** fix cordova and method wrapper options ([#4221](https://github.com/danielsogl/awesome-cordova-plugins/issues/4221)) ([0442260](https://github.com/danielsogl/awesome-cordova-plugins/commit/04422600ca9675ff1f5ff763e3aba03b7abb8455))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **cooee:** add plugin ([#4228](https://github.com/danielsogl/awesome-cordova-plugins/issues/4228)) ([7a528b4](https://github.com/danielsogl/awesome-cordova-plugins/commit/7a528b42d9427222d01b8e0da675045996be042d))
|
||||
* **dynamsoft-barcode:** update startScanning options ([#4205](https://github.com/danielsogl/awesome-cordova-plugins/issues/4205)) ([4e183b1](https://github.com/danielsogl/awesome-cordova-plugins/commit/4e183b18818864b23501fa4bccd2813ca4149e5a))
|
||||
* **file-md5:** add plugin ([#4201](https://github.com/danielsogl/awesome-cordova-plugins/issues/4201)) ([63c8365](https://github.com/danielsogl/awesome-cordova-plugins/commit/63c83653c0d0942d9cac2185bd8b9f38a5b4980c))
|
||||
* **mobile-messaging:** add chat methods ([#4231](https://github.com/danielsogl/awesome-cordova-plugins/issues/4231)) ([f96b758](https://github.com/danielsogl/awesome-cordova-plugins/commit/f96b7588dece0ed1119d7166168486315f9fc714))
|
||||
* **zip:** add plugin ([#4238](https://github.com/danielsogl/awesome-cordova-plugins/issues/4238)) ([0a31a37](https://github.com/danielsogl/awesome-cordova-plugins/commit/0a31a374b1a73403785a1e6c9104381ee9761940))
|
||||
|
||||
|
||||
|
||||
# [5.43.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v5.42.0...v5.43.0) (2022-05-25)
|
||||
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ To learn more about the reasons why Ionic Native was renamed to Awesome Cordova
|
||||
|
||||
## Capacitor Support
|
||||
|
||||
In addition to Cordova, Awesome Cordova Plugins also works with [Capacitor](https://capacitor.ionicframework.com), Ionic's official native runtime. Basic usage below. For complete details, [see the Capacitor documentation](https://capacitor.ionicframework.com/docs/cordova/using-cordova-plugins).
|
||||
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
|
||||
|
||||
|
||||
@@ -216,6 +216,10 @@
|
||||
* [Printer](plugins/printer.md)
|
||||
* [Browser Tab](plugins/browser-tab.md)
|
||||
* [Dynamsoft Barcode Scanner](plugins/dynamsoft-barcode-scanner.md)
|
||||
* [GCDWebServer](plugins/gcdwebserver.md)
|
||||
* [Smtp Client](plugins/smtp-client.md)
|
||||
* [Cashfree PG](plugins/cashfree-pg/README.md)
|
||||
* [Save Dialog](plugins/save-dialog/README.md)
|
||||
* [Installation](installation.md)
|
||||
* [FAQ](faq.md)
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
# Adjust
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add com.adjust.sdk
|
||||
# AdjustThirdPartySharing
|
||||
ova plugin add com.adjust.sdk
|
||||
$ npm install @awesome-cordova-plugins/adjust
|
||||
```
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# AdMob
|
||||
# RewardVideo
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-admob-plus
|
||||
@@ -7,18 +7,13 @@ $ npm install @awesome-cordova-plugins/admob-plus
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/admob-plus/)
|
||||
|
||||
Plugin Repo: [https://github.com/admob-plus/admob-plus](https://github.com/admob-plus/admob-plus)
|
||||
Plugin Repo: []()
|
||||
|
||||
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
n-admob-free, which provides a cleaner API and build with modern tools.
|
||||
|
||||
github.com/admob-plus/admob-plus](https://github.com/admob-plus/admob-plus)
|
||||
|
||||
AdMob Plus is the successor of cordova-plugin-admob-free, which provides a cleaner API and build with modern tools.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
|
||||
20
docs/plugins/advanced-image-picker/README.md
Normal file
20
docs/plugins/advanced-image-picker/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# AdvancedImagePicker
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-advanced-imagepicker
|
||||
$ npm install @awesome-cordova-plugins/advanced-image-picker
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/advanced-image-picker/)
|
||||
|
||||
Plugin Repo: [https://github.com/EinfachHans/cordova-plugin-advanced-imagepicker](https://github.com/EinfachHans/cordova-plugin-advanced-imagepicker)
|
||||
|
||||
This Cordova Plugin is for a better (multiple) ImagePicker with more options.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
20
docs/plugins/app-review/README.md
Normal file
20
docs/plugins/app-review/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# App Review
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-app-review
|
||||
$ npm install @awesome-cordova-plugins/app-review
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/app-review/)
|
||||
|
||||
Plugin Repo: [https://github.com/chemerisuk/cordova-plugin-app-review](https://github.com/chemerisuk/cordova-plugin-app-review)
|
||||
|
||||
Cordova plugin to review app
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
20
docs/plugins/applovin/README.md
Normal file
20
docs/plugins/applovin/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Applovin
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-applovin-max
|
||||
$ npm install @awesome-cordova-plugins/applovin
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/applovin/)
|
||||
|
||||
Plugin Repo: [https://github.com/AppLovin/AppLovin-MAX-Cordova](https://github.com/AppLovin/AppLovin-MAX-Cordova)
|
||||
|
||||
This plugin allows you to easily configure, integrate and interact with Applovin ads.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# BackgroundUpload
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-background-upload
|
||||
$ ionic cordova plugin add @spoonconsulting/cordova-plugin-background-upload
|
||||
$ npm install @awesome-cordova-plugins/background-upload
|
||||
```
|
||||
|
||||
|
||||
22
docs/plugins/brightness/README.md
Normal file
22
docs/plugins/brightness/README.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Brightness
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-brightness
|
||||
$ npm install @awesome-cordova-plugins/brightness
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/brightness/)
|
||||
|
||||
Plugin Repo: [https://github.com/mgcrea/cordova-plugin-brightness](https://github.com/mgcrea/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).
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
@@ -14,4 +14,7 @@ This plugin provides an interface to in-app browser tabs that exist on some mobi
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -16,10 +16,10 @@ Requires the Cordova plugin: `cordova-plugin-camera`. For more info, please see
|
||||
[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>
|
||||
<string>You can take photos</string>
|
||||
</config-file>
|
||||
```
|
||||
inside of the <platform name='ios> section
|
||||
inside of the `<platform name='ios>` section
|
||||
|
||||
## Supported platforms
|
||||
|
||||
|
||||
18
docs/plugins/cashfree-pg/README.md
Normal file
18
docs/plugins/cashfree-pg/README.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# CFPaymentComponentBuilder
|
||||
nic cordova plugin add cordova-plugin-cashfree-pg
|
||||
$ npm install @awesome-cordova-plugins/cashfree-pg
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/cashfree-pg/)
|
||||
|
||||
Plugin Repo: [https://github.com/cashfree/cordova-plugin-cashfree](https://github.com/cashfree/cordova-plugin-cashfree)
|
||||
|
||||
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# Chooser
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-chooser
|
||||
$ ionic cordova plugin add http://github.com/MaximBelov/cordova-plugin-chooser.git
|
||||
$ npm install @awesome-cordova-plugins/chooser
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/chooser/)
|
||||
|
||||
Plugin Repo: [https://github.com/cyph/cordova-plugin-chooser](https://github.com/cyph/cordova-plugin-chooser)
|
||||
Plugin Repo: [https://github.com/MaximBelov/cordova-plugin-chooser](https://github.com/MaximBelov/cordova-plugin-chooser)
|
||||
|
||||
File chooser plugin for Cordova.
|
||||
|
||||
|
||||
19
docs/plugins/crop-plugin-privacy/README.md
Normal file
19
docs/plugins/crop-plugin-privacy/README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Crop Plugin Privacy
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-crop-privacy
|
||||
$ npm install @awesome-cordova-plugins/crop-plugin-privacy
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/crop-plugin-privacy/)
|
||||
|
||||
Plugin Repo: [https://github.com/BaraAksayeth25/cordova-plugin-crop-privacy](https://github.com/BaraAksayeth25/cordova-plugin-crop-privacy)
|
||||
|
||||
This plugin does something
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Answers
|
||||
# Crashlytics
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-fabric-plugin --variable FABRIC_API_KEY=XXX --variable FABRIC_API_SECRET=xxx
|
||||
@@ -9,7 +9,7 @@ $ npm install @awesome-cordova-plugins/fabric
|
||||
|
||||
Plugin Repo: [https://www.npmjs.com/package/cordova-fabric-plugin](https://www.npmjs.com/package/cordova-fabric-plugin)
|
||||
|
||||
API for interacting with the Answers kit.
|
||||
API for interacting with the Crashlytics kit.
|
||||
|
||||
https://docs.fabric.io/crashlytics/index.html
|
||||
|
||||
@@ -20,7 +20,3 @@ https://docs.fabric.io/crashlytics/index.html
|
||||
|
||||
|
||||
|
||||
OS
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ Click `'Add Platform'`.
|
||||
At this point you'll need to open your project's [`config.xml`](https://cordova.apache.org/docs/en/latest/config_ref/index.html) file, found in the root directory of your project.
|
||||
|
||||
Take note of the `id` for the next step:
|
||||
```
|
||||
```xml
|
||||
<widget id="com.mycompany.testapp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||
```
|
||||
|
||||
|
||||
89
docs/plugins/fbsdk/README.md
Normal file
89
docs/plugins/fbsdk/README.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# FbSdk
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-fbsdk --variable APP_ID="123456789" --variable APP_NAME="myApplication" --variable CLIENT_TOKEN="abcd1234"
|
||||
$ npm install @awesome-cordova-plugins/fbsdk
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/fbsdk/)
|
||||
|
||||
Plugin Repo: [https://github.com/MaximBelov/cordova-plugin-fbsdk](https://github.com/MaximBelov/cordova-plugin-fbsdk)
|
||||
|
||||
Use the Facebook SDK plugin to obtain access to the native FB application on iOS and Android.
|
||||
|
||||
Requires Cordova plugin: `cordova-plugin-fbsdk`. For more info, please see the [Facebook SDK](https://github.com/MaximBelov/cordova-plugin-fbsdk).
|
||||
|
||||
#### Installation
|
||||
|
||||
To use the FB plugin, you first have to create a new Facebook App inside of the Facebook developer portal at [https://developers.facebook.com/apps](https://developers.facebook.com/apps).
|
||||
|
||||
[](https://developers.facebook.com/apps/)
|
||||
|
||||
Retrieve the `App ID` and `App Name`.
|
||||
|
||||
[](https://developers.facebook.com/apps/)
|
||||
|
||||
Then type in the following command in your Terminal, where APP_ID and APP_NAME are the values from the Facebook Developer portal.
|
||||
|
||||
```bash
|
||||
ionic cordova plugin add cordova-plugin-fbsdk --variable APP_ID="123456789" --variable APP_NAME="myApplication" --variable CLIENT_TOKEN="abcd1234"
|
||||
```
|
||||
|
||||
After, you'll need to add the native platforms you'll be using to your app in the Facebook Developer portal under your app's Settings:
|
||||
|
||||
[](https://developers.facebook.com/apps/)
|
||||
|
||||
Click `'Add Platform'`.
|
||||
|
||||
[](https://developers.facebook.com/apps/)
|
||||
|
||||
At this point you'll need to open your project's [`config.xml`](https://cordova.apache.org/docs/en/latest/config_ref/index.html) file, found in the root directory of your project.
|
||||
|
||||
Take note of the `id` for the next step:
|
||||
```
|
||||
<widget id="com.mycompany.testapp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||
```
|
||||
|
||||
You can also edit the `id` to whatever you'd like it to be.
|
||||
|
||||
#### Client Access Tokens
|
||||
|
||||
[](https://developers.facebook.com/docs/facebook-login/guides/access-tokens#clienttokens)
|
||||
|
||||
|
||||
#### iOS Install
|
||||
Under 'Bundle ID', add the `id` from your `config.xml` file:
|
||||
|
||||
[](https://developers.facebook.com/apps/)
|
||||
|
||||
|
||||
#### Android Install
|
||||
Under 'Google Play Package Name', add the `id` from your `config.xml` file:
|
||||
|
||||
[](https://developers.facebook.com/apps/)
|
||||
|
||||
|
||||
And that's it! You can now make calls to Facebook using the plugin.
|
||||
|
||||
## Events
|
||||
|
||||
App events allow you to understand the makeup of users engaging with your app, measure the performance of your Facebook mobile app ads, and reach specific sets of your users with Facebook mobile app ads.
|
||||
|
||||
- [iOS] [https://developers.facebook.com/docs/ios/app-events](https://developers.facebook.com/docs/ios/app-events)
|
||||
- [Android] [https://developers.facebook.com/docs/android/app-events](https://developers.facebook.com/docs/android/app-events)
|
||||
- [JS] Does not have an Events API, so the plugin functions are empty and will return an automatic success
|
||||
|
||||
Activation events are automatically tracked for you in the plugin.
|
||||
|
||||
Events are listed on the [insights page](https://www.facebook.com/insights/).
|
||||
|
||||
For tracking events, see `logEvent` and `logPurchase`.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- Browser
|
||||
|
||||
|
||||
|
||||
20
docs/plugins/ffmpeg/README.md
Normal file
20
docs/plugins/ffmpeg/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# FFMpeg
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-ffmpeg
|
||||
$ npm install @awesome-cordova-plugins/ffmpeg
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/ffmpeg/)
|
||||
|
||||
Plugin Repo: [https://github.com/MaximBelov/cordova-plugin-ffmpeg](https://github.com/MaximBelov/cordova-plugin-ffmpeg)
|
||||
|
||||
Simple plugin that binds mobile ffmpeg to execute ffmpeg commands
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
19
docs/plugins/file-chooser/README.md
Normal file
19
docs/plugins/file-chooser/README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# FileChooser Plugin
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-filechooser
|
||||
$ npm install @awesome-cordova-plugins/file-chooser
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/file-chooser/)
|
||||
|
||||
Plugin Repo: [https://github.com/ihadeed/cordova-filechooser](https://github.com/ihadeed/cordova-filechooser)
|
||||
|
||||
Cordova FileChooser Plugin
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
|
||||
|
||||
|
||||
20
docs/plugins/file-md5/README.md
Normal file
20
docs/plugins/file-md5/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# File MD5
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-file-md5
|
||||
$ npm install @awesome-cordova-plugins/file-md5
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/file-md5/)
|
||||
|
||||
Plugin Repo: [https://github.com/mramonlopez/cordova-plugin-file-md5](https://github.com/mramonlopez/cordova-plugin-file-md5)
|
||||
|
||||
This plugin reads large files in chunks and build the md5sum incrementally.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
45
docs/plugins/firebase-model/README.md
Normal file
45
docs/plugins/firebase-model/README.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# FirebaseModelInput
|
||||
Result
|
||||
t
|
||||
cordova plugin add cordova-plugin-firebase-model
|
||||
$ npm install @awesome-cordova-plugins/firebase-model
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/firebase-model/)
|
||||
|
||||
Plugin Repo: ['']('')
|
||||
|
||||
This plugin downloads the TensorFlow model from firebase and classify the images.
|
||||
|
||||
```typescript
|
||||
import { FirebaseModel } from '@ionic-native/ionic-native-firebase-model';
|
||||
|
||||
|
||||
constructor(private firebaseModel: FirebaseModel) { }
|
||||
|
||||
...
|
||||
|
||||
|
||||
this.firebaseModel.configure('Sample_Model')
|
||||
.subscribe((res: FirebaseModelConfigResult) => console.log(res.status + " - " + res.progress))
|
||||
.catch((error: any) => console.error(error));
|
||||
|
||||
|
||||
try {
|
||||
var result:FirebaseModelClassifyResult = await this.firebaseModel.classify("/Documents/input_image.png")
|
||||
console.log(result.label + " - " + result.score)
|
||||
|
||||
}
|
||||
catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
19
docs/plugins/gcdwebserver.md
Executable file
19
docs/plugins/gcdwebserver.md
Executable file
@@ -0,0 +1,19 @@
|
||||
# GCDWebServer
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-gcdwebserver
|
||||
$ npm install @awesome-cordova-plugins/gcdwebserver
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/gcdwebserver/)
|
||||
|
||||
Plugin Repo: [https://github.com/xulihang/cordova-plugin-gcdwebserver](https://github.com/xulihang/cordova-plugin-gcdwebserver)
|
||||
|
||||
The [GCDWebServer](https://github.com/swisspol/GCDWebServer/) Plugin can start an HTTP server to serve static files.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
iOS
|
||||
|
||||
|
||||
|
||||
19
docs/plugins/gcdwebserver/README.md
Executable file
19
docs/plugins/gcdwebserver/README.md
Executable file
@@ -0,0 +1,19 @@
|
||||
# gcdwebserver
|
||||
|
||||
```
|
||||
$ ''
|
||||
$ npm install @awesome-cordova-plugins/gcdwebserver
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/gcdwebserver/)
|
||||
|
||||
Plugin Repo: [https://github.com/xulihang/cordova-plugin-gcdwebserver](https://github.com/xulihang/cordova-plugin-gcdwebserver)
|
||||
|
||||
This plugin can start an HTTP server using GCDWebServer
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# HyperTrack
|
||||
|
||||
# Coordinates
|
||||
alidationError
|
||||
ic cordova plugin add cordova-plugin-hypertrack-v3
|
||||
$ npm install @awesome-cordova-plugins/hyper-track
|
||||
|
||||
20
docs/plugins/image-resizer/README.md
Normal file
20
docs/plugins/image-resizer/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# ImageResizer
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-image-resizer
|
||||
$ npm install @awesome-cordova-plugins/image-resizer
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/image-resizer/)
|
||||
|
||||
Plugin Repo: [https://github.com/JoschkaSchulz/cordova-plugin-image-resizer](https://github.com/JoschkaSchulz/cordova-plugin-image-resizer)
|
||||
|
||||
Cordova Plugin For Image Resize
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ Get and set data in the iOS Keychain
|
||||
|
||||
Requires Cordova plugin: `cordova-plugin-ios-keychain`. For more info, please see the [Keychain plugin docs](https://github.com/ionic-team/cordova-plugin-ios-keychain).
|
||||
|
||||
See also [Secure Storage](https://ionicframework.com/docs/native/secure-storage/) for more supported platforms.
|
||||
See also [Secure Storage](https://ionic.io/docs/secure-storage) for more supported platforms.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
|
||||
20
docs/plugins/lets-cooee/README.md
Normal file
20
docs/plugins/lets-cooee/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Lets Cooee
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add @letscooee/cordova-plugin --variable COOEE_APP_ID=appId
|
||||
$ npm install @awesome-cordova-plugins/lets-cooee
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/lets-cooee/)
|
||||
|
||||
Plugin Repo: [https://github.com/letscooee/cordova-plugin-cooee](https://github.com/letscooee/cordova-plugin-cooee)
|
||||
|
||||
AI driven Personalised Notifications for Better Customer Engagement
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
22
docs/plugins/mobile-accessibility/README.md
Normal file
22
docs/plugins/mobile-accessibility/README.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Mobile Accessibility
|
||||
|
||||
```
|
||||
$ ''
|
||||
$ npm install @awesome-cordova-plugins/mobile-accessibility
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/mobile-accessibility/)
|
||||
|
||||
Plugin Repo: [https://github.com/phonegap/phonegap-mobile-accessibility](https://github.com/phonegap/phonegap-mobile-accessibility)
|
||||
|
||||
This plugin exposes information on the status of various accessibility features of mobile operating systems, including, for example, whether a screen reader is running, invert colors is enabled, and the preferred scaling for text.
|
||||
It also allows an application to send a string to be spoken by the screen reader, or a command to stop the screen reader from speaking.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- Amazon Fire OS
|
||||
|
||||
|
||||
|
||||
20
docs/plugins/newrelic/README.md
Normal file
20
docs/plugins/newrelic/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# newrelic mobile
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add https://github.com/newrelic/newrelic-cordova-plugin.git --variable IOS_APP_TOKEN="{ios-app-token}" --variable ANDROID_APP_TOKEN="{android-app-token}"
|
||||
$ npm install @awesome-cordova-plugins/newrelic
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/newrelic/)
|
||||
|
||||
Plugin Repo: [https://github.com/newrelic/newrelic-cordova-plugin](https://github.com/newrelic/newrelic-cordova-plugin)
|
||||
|
||||
This NewRelic plugin collect crashes, network traffic, and other information for hybrid apps using native components.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# UriHelper
|
||||
# NFC
|
||||
|
||||
ionic cordova plugin add phonegap-nfc
|
||||
```
|
||||
$ ionic cordova plugin add phonegap-nfc
|
||||
$ npm install @awesome-cordova-plugins/nfc
|
||||
```
|
||||
|
||||
|
||||
19
docs/plugins/power-management.md
Normal file
19
docs/plugins/power-management.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Power Management
|
||||
|
||||
```text
|
||||
$ ionic cordova plugin add cordova-plugin-powermanagement
|
||||
$ npm install @awesome-cordova-plugins/power-management
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://github.com/Viras-/cordova-plugin-powermanagement/)
|
||||
|
||||
Plugin Repo: [https://github.com/Viras-/cordova-plugin-powermanagement](https://github.com/Viras-/cordova-plugin-powermanagement)
|
||||
|
||||
A Cordova plugin that offers access to the devices power-management functionality.
|
||||
It should be used for applications which keep running for a long time without any user interaction.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
* Android
|
||||
* iOS
|
||||
|
||||
21
docs/plugins/power-management/README.md
Normal file
21
docs/plugins/power-management/README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Power Management
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-powermanagement-orig
|
||||
$ npm install @awesome-cordova-plugins/power-management
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/power-management/)
|
||||
|
||||
Plugin Repo: [https://github.com/Viras-/cordova-plugin-powermanagement](https://github.com/Viras-/cordova-plugin-powermanagement)
|
||||
|
||||
The PowerManagement plugin offers access to the devices power-management functionality.
|
||||
It should be used for applications which keep running for a long time without any user interaction.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
19
docs/plugins/power-management/power-management.md
Normal file
19
docs/plugins/power-management/power-management.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Power Management
|
||||
|
||||
```text
|
||||
$ ionic cordova plugin add cordova-plugin-powermanagement
|
||||
$ npm install @awesome-cordova-plugins/power-management
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://github.com/Viras-/cordova-plugin-powermanagement/)
|
||||
|
||||
Plugin Repo: [https://github.com/Viras-/cordova-plugin-powermanagement](https://github.com/Viras-/cordova-plugin-powermanagement)
|
||||
|
||||
A Cordova plugin that offers access to the devices power-management functionality.
|
||||
It should be used for applications which keep running for a long time without any user interaction.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
* Android
|
||||
* iOS
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Purchases
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-purchases@2.4.0
|
||||
$ ionic cordova plugin add cordova-plugin-purchases@5.0.0
|
||||
$ npm install @awesome-cordova-plugins/purchases
|
||||
```
|
||||
|
||||
@@ -9,7 +9,9 @@ $ npm install @awesome-cordova-plugins/purchases
|
||||
|
||||
Plugin Repo: [https://github.com/RevenueCat/cordova-plugin-purchases](https://github.com/RevenueCat/cordova-plugin-purchases)
|
||||
|
||||
Purchases is a cross platform solution for managing in-app subscriptions. A backend is also provided via [RevenueCat](https://www.revenuecat.com)
|
||||
*Purchases* is a client for the [RevenueCat](https://www.revenuecat.com/) subscription and purchase tracking system.
|
||||
It is an open source framework that provides a wrapper around `BillingClient`, `StoreKit` and the RevenueCat backend
|
||||
to make implementing in-app subscriptions easy - receipt validation and status tracking included!
|
||||
|
||||
## Features
|
||||
| | RevenueCat |
|
||||
@@ -24,9 +26,24 @@ Purchases is a cross platform solution for managing in-app subscriptions. A back
|
||||
| 📮 | Great support - [Help Center](https://revenuecat.zendesk.com) |
|
||||
| 🤩 | Awesome [new features](https://trello.com/b/RZRnWRbI/revenuecat-product-roadmap) |
|
||||
|
||||
## Capacitor
|
||||
|
||||
The Cordova plugin is not guaranteed to be up to date and we are moving our efforts to the Capacitor plugin.
|
||||
Please consider using our [Capacitor plugin](https://docs.revenuecat.com/docs/capacitor) instead of the Cordova plugin and this wrapper.
|
||||
|
||||
## Getting Started
|
||||
|
||||
For more detailed information, you can view our complete documentation at [docs.revenuecat.com](https://docs.revenuecat.com/docs).
|
||||
Please follow the [Quickstart Guide](https://docs.revenuecat.com/docs/) for more information on how to use the SDK
|
||||
|
||||
## Latest changes to this plugin
|
||||
|
||||
This latest release updates the plugin to use BillingClient 6 in Android. If you come from an older version of the
|
||||
RevenueCat SDK, see [Android Native - 5.x to 6.x Migration](https://www.revenuecat.com/docs/android-native-5x-to-6x-migration)
|
||||
for a more thorough explanation of the new Google subscription model announced with BillingClient 5 and how to take advantage of it.
|
||||
|
||||
If your app supports product changes using [DEFERRED replacement mode](https://www.revenuecat.com/docs/managing-subscriptions#google-play),
|
||||
then you can either stick with the previous major version until support for DEFERRED is re-introduced in this major version,
|
||||
or you can remove DEFERRED replacement options from your app.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
|
||||
18
docs/plugins/save-dialog.md
Normal file
18
docs/plugins/save-dialog.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# Save Dialog
|
||||
|
||||
```text
|
||||
$ ionic cordova plugin add cordova-plugin-save-dialog
|
||||
$ npm install @awesome-cordova-plugins/save-dialog
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/save-dialog/)
|
||||
|
||||
Plugin Repo: [https://github.com/Amphiluke/cordova-plugin-save-dialog](https://github.com/Amphiluke/cordova-plugin-save-dialog)
|
||||
|
||||
This Cordova plugin displays the native Save dialog which allows users to store a file in the selected location.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
* Android
|
||||
* iOS
|
||||
|
||||
20
docs/plugins/save-dialog/README.md
Normal file
20
docs/plugins/save-dialog/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Save Dialog
|
||||
|
||||
```text
|
||||
$ ionic cordova plugin add cordova-plugin-save-dialog
|
||||
$ npm install @awesome-cordova-plugins/save-dialog
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/save-dialog/)
|
||||
|
||||
Plugin Repo: [https://github.com/Amphiluke/cordova-plugin-save-dialog](https://github.com/Amphiluke/cordova-plugin-save-dialog)
|
||||
|
||||
This Cordova plugin displays the native Save dialog which allows users to store a file in the selected location.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
* Android
|
||||
* iOS
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
# Sign In With Apple
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-sign-in-with-apple
|
||||
# ASAuthorizationAppleIDRequest
|
||||
c cordova plugin add cordova-plugin-sign-in-with-apple
|
||||
$ npm install @awesome-cordova-plugins/sign-in-with-apple
|
||||
```
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# SmartlookEventTrackingMode
|
||||
ova plugin add https://github.com/smartlook/cordova-smartlook.git
|
||||
# Smartlook
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add https://github.com/smartlook/cordova-smartlook.git
|
||||
$ npm install @awesome-cordova-plugins/smartlook
|
||||
```
|
||||
|
||||
@@ -8,7 +10,7 @@ $ npm install @awesome-cordova-plugins/smartlook
|
||||
Plugin Repo: [https://github.com/smartlook/cordova-smartlook.git](https://github.com/smartlook/cordova-smartlook.git)
|
||||
|
||||
Official Smartlook SDK plugin.
|
||||
Full documentation can be found here: https://smartlook.github.io/docs/sdk/ionic/
|
||||
Full documentation can be found here: https://mobile.developer.smartlook.com/reference/ionic-sdk-installation
|
||||
|
||||
## Supported platforms
|
||||
|
||||
|
||||
19
docs/plugins/sms-retriever-api/README.md
Normal file
19
docs/plugins/sms-retriever-api/README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# SmsRetrieverApi
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-sms-retriever --variable PLAY_SERVICES_VERSION="18.0.1"
|
||||
$ npm install @awesome-cordova-plugins/sms-retriever-api
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/sms-retriever-api/)
|
||||
|
||||
Plugin Repo: [https://github.com/andreszs/cordova-plugin-sms-retriever](https://github.com/andreszs/cordova-plugin-sms-retriever)
|
||||
|
||||
This plugin retries the SMS which arrive without requiring READ permissions.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
|
||||
|
||||
|
||||
16
docs/plugins/smtp-client.md
Normal file
16
docs/plugins/smtp-client.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Smtp Client
|
||||
|
||||
```text
|
||||
$ ionic cordova plugin add cordova-plugin-smtp-client
|
||||
$ npm install @awesome-cordova-plugins/smtp-client
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/smtp-client/)
|
||||
|
||||
Plugin Repo: [https://github.com/CWBudde/cordova-plugin-smtp-client](https://github.com/CWBudde/cordova-plugin-smtp-client)
|
||||
|
||||
## Supported platforms
|
||||
|
||||
* Android
|
||||
* iOS
|
||||
|
||||
17
docs/plugins/smtp-client/README.md
Normal file
17
docs/plugins/smtp-client/README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Smtp Client
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-smtp-client
|
||||
$ npm install @awesome-cordova-plugins/smtp-client
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/smtp-client/)
|
||||
|
||||
Plugin Repo: [https://github.com/CWBudde/cordova-plugin-smtp-client](https://github.com/CWBudde/cordova-plugin-smtp-client)
|
||||
|
||||
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
17
docs/plugins/ssl-certificate-checker/README.md
Normal file
17
docs/plugins/ssl-certificate-checker/README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# SSLCertificateChecker
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-sslcertificatechecker
|
||||
$ npm install @awesome-cordova-plugins/ssl-certificate-checker
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/ssl-certificate-checker/)
|
||||
|
||||
Plugin Repo: [https://github.com/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin](https://github.com/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin)
|
||||
|
||||
Cordova plugin to check SSL certificates on Android and iOS.
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
* Android
|
||||
* iOS
|
||||
@@ -0,0 +1,17 @@
|
||||
# SSLCertificateChecker
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-sslcertificatechecker
|
||||
$ npm install @awesome-cordova-plugins/ssl-certificate-checker
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://github.com/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin/)
|
||||
|
||||
Plugin Repo: [https://github.com/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin](https://github.com/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin)
|
||||
|
||||
Cordova plugin to check SSL certificates on Android and iOS.
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
* Android
|
||||
* iOS
|
||||
@@ -1,7 +1,5 @@
|
||||
# Tealium
|
||||
|
||||
```
|
||||
$ ''
|
||||
# ConsentExpiry
|
||||
''
|
||||
$ npm install @awesome-cordova-plugins/tealium
|
||||
```
|
||||
|
||||
|
||||
21
docs/plugins/unique-device-id/README.md
Normal file
21
docs/plugins/unique-device-id/README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Unique Device ID
|
||||
|
||||
```
|
||||
$ ''
|
||||
$ npm install @awesome-cordova-plugins/unique-device-id
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/unique-device-id/)
|
||||
|
||||
Plugin Repo: [https://github.com/Paldom/UniqueDeviceID](https://github.com/Paldom/UniqueDeviceID)
|
||||
|
||||
This plugin produces a unique, cross-install, app-specific device id.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- Windows Phone 8
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
# UnviredResult
|
||||
a SDK
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add @awesome-cordova-plugins/unvired-cordova-sdk
|
||||
# SyncResult
|
||||
ult
|
||||
ivateResult
|
||||
ionic cordova plugin add @awesome-cordova-plugins/unvired-cordova-sdk
|
||||
$ npm install @awesome-cordova-plugins/unvired-cordova-sdk
|
||||
```
|
||||
|
||||
|
||||
21
docs/plugins/webim/README.md
Normal file
21
docs/plugins/webim/README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Webim
|
||||
|
||||
```
|
||||
$ cordova plugin add https://github.com/webim/webim-cordova-plugin.git
|
||||
$ npm install @awesome-cordova-plugins/webim
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/webim/)
|
||||
|
||||
Plugin Repo: [https://github.com/webim/webim-cordova-plugin.git](https://github.com/webim/webim-cordova-plugin.git)
|
||||
|
||||
A cordova plugin, a JS version of Webim SDK
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- Browser
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
# Push Notifications - WonderPush
|
||||
# UserPreferencesMethods
|
||||
nderPush
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add wonderpush-cordova-sdk --variable CLIENT_ID=YOUR_CLIENT_ID --variable CLIENT_SECRET=YOUR_CLIENT_SECRET
|
||||
|
||||
20
docs/plugins/zip/README.md
Normal file
20
docs/plugins/zip/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Zip
|
||||
|
||||
```
|
||||
$ ionic cordova plugin add cordova-plugin-zip
|
||||
$ npm install @awesome-cordova-plugins/zip
|
||||
```
|
||||
|
||||
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/zip/)
|
||||
|
||||
Plugin Repo: [https://github.com/MobileChromeApps/cordova-plugin-zip](https://github.com/MobileChromeApps/cordova-plugin-zip)
|
||||
|
||||
A Cordova plugin to unzip files in Android and iOS.
|
||||
|
||||
## Supported platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
|
||||
|
||||
11437
package-lock.json
generated
11437
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
66
package.json
66
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "awesome-cordova-plugins",
|
||||
"version": "5.43.0",
|
||||
"version": "6.7.0",
|
||||
"description": "Native plugin wrappers for Cordova and Ionic with TypeScript, ES6+, Promise and Observable support",
|
||||
"homepage": "https://awesome-cordova-plugins.com",
|
||||
"author": "Daniel Sogl <me@danielsogl.com> (https://danielsogl.com)",
|
||||
@@ -24,52 +24,52 @@
|
||||
"prettier": "prettier --write --ignore-unknown \"**/*\""
|
||||
},
|
||||
"dependencies": {
|
||||
"tslib": "2.4.0"
|
||||
"tslib": "2.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular/common": "11.2.14",
|
||||
"@angular/compiler": "11.2.14",
|
||||
"@angular/compiler-cli": "11.2.14",
|
||||
"@angular/core": "11.2.14",
|
||||
"@types/cordova": "0.0.34",
|
||||
"@types/fs-extra": "9.0.13",
|
||||
"@angular/common": "12.2.17",
|
||||
"@angular/compiler": "12.2.17",
|
||||
"@angular/compiler-cli": "12.2.17",
|
||||
"@angular/core": "12.2.17",
|
||||
"@types/cordova": "11.0.3",
|
||||
"@types/fs-extra": "11.0.4",
|
||||
"@types/jest": "27.5.2",
|
||||
"@types/lodash": "4.14.182",
|
||||
"@types/node": "16.11.38",
|
||||
"@types/rimraf": "3.0.2",
|
||||
"@types/webpack": "5.28.0",
|
||||
"@typescript-eslint/eslint-plugin": "5.26.0",
|
||||
"@typescript-eslint/parser": "5.26.0",
|
||||
"@types/lodash": "4.17.0",
|
||||
"@types/node": "20.12.7",
|
||||
"@types/rimraf": "4.0.5",
|
||||
"@types/webpack": "5.28.5",
|
||||
"@typescript-eslint/eslint-plugin": "5.62.0",
|
||||
"@typescript-eslint/parser": "5.62.0",
|
||||
"async-promise-queue": "1.0.5",
|
||||
"conventional-changelog-cli": "2.2.2",
|
||||
"conventional-changelog-cli": "4.1.0",
|
||||
"cz-conventional-changelog": "3.3.0",
|
||||
"dgeni": "0.4.14",
|
||||
"dgeni-packages": "0.16.10",
|
||||
"eslint": "8.16.0",
|
||||
"eslint-config-prettier": "8.5.0",
|
||||
"eslint-plugin-jsdoc": "39.3.1",
|
||||
"fs-extra": "10.1.0",
|
||||
"gulp": "4.0.2",
|
||||
"eslint": "8.57.0",
|
||||
"eslint-config-prettier": "8.10.0",
|
||||
"eslint-plugin-jsdoc": "48.2.3",
|
||||
"fs-extra": "11.2.0",
|
||||
"gulp": "5.0.0",
|
||||
"gulp-rename": "2.0.0",
|
||||
"gulp-replace": "1.1.3",
|
||||
"husky": "8.0.1",
|
||||
"gulp-replace": "1.1.4",
|
||||
"husky": "9.0.11",
|
||||
"is-ci": "3.0.1",
|
||||
"jest": "27.5.1",
|
||||
"lint-staged": "13.0.0",
|
||||
"lint-staged": "15.2.0",
|
||||
"lodash": "4.17.21",
|
||||
"minimist": "1.2.6",
|
||||
"prettier": "2.6.2",
|
||||
"rimraf": "3.0.2",
|
||||
"rollup": "2.75.5",
|
||||
"minimist": "1.2.8",
|
||||
"prettier": "2.8.8",
|
||||
"rimraf": "5.0.5",
|
||||
"rollup": "4.14.3",
|
||||
"rxjs": "6.6.7",
|
||||
"terser-webpack-plugin": "5.3.3",
|
||||
"terser-webpack-plugin": "5.3.10",
|
||||
"ts-jest": "27.1.5",
|
||||
"ts-node": "10.8.0",
|
||||
"typescript": "4.1.6",
|
||||
"ts-node": "10.9.2",
|
||||
"typescript": "4.2.4",
|
||||
"unminified-webpack-plugin": "3.0.0",
|
||||
"webpack": "5.73.0",
|
||||
"winston": "3.7.2",
|
||||
"zone.js": "0.11.5"
|
||||
"webpack": "5.74.0",
|
||||
"winston": "3.13.0",
|
||||
"zone.js": "0.11.8"
|
||||
},
|
||||
"jest": {
|
||||
"testEnvironment": "jsdom",
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
{
|
||||
"extends": [
|
||||
"config:base"
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": ["config:base", ":dependencyDashboard"],
|
||||
"packageRules": [
|
||||
{
|
||||
"groupName": "Angular",
|
||||
"packagePatterns": ["^@angular/", "^@angular-devkit/", "@schematics/angular"],
|
||||
"allowedVersions": "<=12"
|
||||
},
|
||||
{
|
||||
"matchPackageNames": ["zone.js"],
|
||||
"allowedVersions": "<=11"
|
||||
},
|
||||
{
|
||||
"matchPackageNames": ["typescript"],
|
||||
"allowedVersions": "<=4"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -21,7 +21,8 @@ export function getProgram(rootNames: string[] = createSourceFiles()) {
|
||||
options.inlineSourceMap = true;
|
||||
options.importHelpers = true;
|
||||
options.inlineSources = true;
|
||||
options.enableIvy = false;
|
||||
options.enableIvy = true;
|
||||
options.compilationMode = 'partial';
|
||||
|
||||
delete options.baseUrl;
|
||||
|
||||
@@ -77,38 +78,6 @@ export function generateLegacyBundles() {
|
||||
);
|
||||
}
|
||||
|
||||
// remove reference to @awesome-cordova-plugins/core decorators
|
||||
export function modifyMetadata() {
|
||||
PLUGIN_PATHS.map((p) =>
|
||||
p.replace(join(ROOT, 'src'), join(ROOT, 'dist')).replace('index.ts', 'ngx/index.metadata.json')
|
||||
).forEach((p) => {
|
||||
const content = readJSONSync(p);
|
||||
let _prop: { members: { [x: string]: any[] } };
|
||||
for (const prop in content[0].metadata) {
|
||||
_prop = content[0].metadata[prop];
|
||||
removeIonicNativeDecorators(_prop);
|
||||
|
||||
if (_prop.members) {
|
||||
for (const memberProp in _prop.members) {
|
||||
removeIonicNativeDecorators(_prop.members[memberProp][0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
writeJSONSync(p, content);
|
||||
});
|
||||
}
|
||||
|
||||
function removeIonicNativeDecorators(node: any) {
|
||||
if (node.decorators && node.decorators.length) {
|
||||
node.decorators = node.decorators.filter(
|
||||
(d: { expression: { module: string } }) => d.expression.module !== '@awesome-cordova-plugins/core'
|
||||
);
|
||||
}
|
||||
|
||||
if (node.decorators && !node.decorators.length) delete node.decorators;
|
||||
}
|
||||
|
||||
function createSourceFiles(): string[] {
|
||||
return PLUGIN_PATHS.map((indexPath: string) => {
|
||||
const ngxPath = resolve(indexPath.replace('index.ts', ''), 'ngx'),
|
||||
|
||||
@@ -2,7 +2,6 @@ import {
|
||||
cleanupNgx,
|
||||
generateLegacyBundles,
|
||||
generateDeclarationFiles,
|
||||
modifyMetadata,
|
||||
transpileNgx,
|
||||
transpileNgxCore,
|
||||
} from '../build/ngx';
|
||||
@@ -11,5 +10,4 @@ transpileNgxCore();
|
||||
transpileNgx();
|
||||
generateLegacyBundles();
|
||||
generateDeclarationFiles();
|
||||
modifyMetadata();
|
||||
cleanupNgx();
|
||||
|
||||
@@ -15,7 +15,7 @@ const FLAGS = '--access public';
|
||||
|
||||
const PACKAGE_JSON_BASE = {
|
||||
description: 'Awesome Cordova Plugins - Native plugins for ionic apps',
|
||||
main: 'bundle.js',
|
||||
main: 'index.js',
|
||||
module: 'index.js',
|
||||
typings: 'index.d.ts',
|
||||
author: 'ionic',
|
||||
@@ -30,7 +30,7 @@ const DIST = resolve(ROOT, 'dist/@awesome-cordova-plugins');
|
||||
|
||||
const PACKAGES = [];
|
||||
|
||||
const MIN_CORE_VERSION = '^5.1.0';
|
||||
const MIN_CORE_VERSION = '^6.0.1';
|
||||
const RXJS_VERSION = '^5.5.0 || ^6.5.0 || ^7.3.0';
|
||||
|
||||
const PLUGIN_PEER_DEPENDENCIES = {
|
||||
|
||||
@@ -5,7 +5,10 @@ export class AdjustEvent {
|
||||
private eventToken: string;
|
||||
private revenue: number;
|
||||
private currency: string;
|
||||
private receipt: string;
|
||||
private productId: string;
|
||||
private transactionId: string;
|
||||
private purchaseToken: string;
|
||||
private callbackId: string;
|
||||
private callbackParameters: string[] = [];
|
||||
private partnerParameters: string[] = [];
|
||||
@@ -36,6 +39,18 @@ export class AdjustEvent {
|
||||
setCallbackId(callbackId: string) {
|
||||
this.callbackId = callbackId;
|
||||
}
|
||||
|
||||
setReceipt(receipt: string) {
|
||||
this.receipt = receipt;
|
||||
}
|
||||
|
||||
setProductId(productId: string) {
|
||||
this.productId = productId;
|
||||
}
|
||||
|
||||
setPurchaseToken(purchaseToken: string) {
|
||||
this.purchaseToken = purchaseToken;
|
||||
}
|
||||
}
|
||||
|
||||
export class AdjustConfig {
|
||||
@@ -61,10 +76,17 @@ export class AdjustConfig {
|
||||
private processName: string = null; // Android only
|
||||
private preinstallTrackingEnabled: boolean = null; // Android only
|
||||
private preinstallFilePath: string = null; // Android only
|
||||
private fbAppId: string = null; // Android only
|
||||
private oaidReadingEnabled: boolean = null; // Android only
|
||||
private allowiAdInfoReading: boolean = null; // iOS only
|
||||
private allowIdfaReading: boolean = null; // iOS only
|
||||
private allowAdServicesInfoReading: boolean = null; // iOS only
|
||||
private coppaCompliantEnabled: boolean = null;
|
||||
private readDeviceInfoOnceEnabled: boolean = null;
|
||||
private playStoreKidsAppEnabled: boolean = null; // Android only
|
||||
private linkMeEnabled: boolean = null; // iOS only
|
||||
private finalAndroidAttributionEnabled: boolean = null; // Android only
|
||||
private attConsentWaitingInterval: number = null; // iOS only
|
||||
|
||||
private attributionCallback: (attribution: AdjustAttribution) => void = null;
|
||||
private eventTrackingSucceededCallback: (event: AdjustEventSuccess) => void = null;
|
||||
@@ -73,6 +95,7 @@ export class AdjustConfig {
|
||||
private sessionTrackingFailedCallback: (session: AdjustSessionFailure) => void = null;
|
||||
private deferredDeeplinkCallback: (uri: string) => void = null;
|
||||
private conversionValueUpdatedCallback: (conversionValue: number) => void = null;
|
||||
private skad4ConversionValueUpdatedCallback: (skad4Data: AdjustSkad4Data) => void = null;
|
||||
|
||||
constructor(appToken: string, environment: AdjustEnvironment) {
|
||||
this.appToken = appToken;
|
||||
@@ -119,6 +142,18 @@ export class AdjustConfig {
|
||||
this.eventBufferingEnabled = eventBufferingEnabled;
|
||||
}
|
||||
|
||||
setCoppaCompliantEnabled(coppaCompliantEnabled: boolean) {
|
||||
this.coppaCompliantEnabled = coppaCompliantEnabled;
|
||||
}
|
||||
|
||||
setReadDeviceInfoOnceEnabled(readDeviceInfoOnceEnabled: boolean) {
|
||||
this.readDeviceInfoOnceEnabled = readDeviceInfoOnceEnabled;
|
||||
}
|
||||
|
||||
setPlayStoreKidsAppEnabled(playStoreKidsAppEnabled: boolean) {
|
||||
this.playStoreKidsAppEnabled = playStoreKidsAppEnabled;
|
||||
}
|
||||
|
||||
setUserAgent(userAgent: string) {
|
||||
this.userAgent = userAgent;
|
||||
}
|
||||
@@ -143,6 +178,10 @@ export class AdjustConfig {
|
||||
this.preinstallFilePath = preinstallFilePath;
|
||||
}
|
||||
|
||||
setFbAppId(fbAppId: string) {
|
||||
this.fbAppId = fbAppId;
|
||||
}
|
||||
|
||||
setOaidReadingEnabled(enableOaidReading: boolean) {
|
||||
this.oaidReadingEnabled = enableOaidReading;
|
||||
}
|
||||
@@ -159,6 +198,18 @@ export class AdjustConfig {
|
||||
this.allowAdServicesInfoReading = allowAdServicesInfoReading;
|
||||
}
|
||||
|
||||
setLinkMeEnabled(linkMeEnabled: boolean) {
|
||||
this.linkMeEnabled = linkMeEnabled;
|
||||
}
|
||||
|
||||
setFinalAndroidAttributionEnabled(finalAndroidAttributionEnabled: boolean) {
|
||||
this.finalAndroidAttributionEnabled = finalAndroidAttributionEnabled;
|
||||
}
|
||||
|
||||
setAttConsentWaitingInterval(attConsentWaitingInterval: number) {
|
||||
this.attConsentWaitingInterval = attConsentWaitingInterval;
|
||||
}
|
||||
|
||||
setAttributionCallbackListener(attributionCallback: (attribution: AdjustAttribution) => void) {
|
||||
this.attributionCallback = attributionCallback;
|
||||
}
|
||||
@@ -189,6 +240,10 @@ export class AdjustConfig {
|
||||
this.conversionValueUpdatedCallback = conversionValueUpdatedCallback;
|
||||
}
|
||||
|
||||
setSkad4ConversionValueUpdatedCallbackListener(skad4ConversionValueUpdatedCallback: (skad4Data: AdjustSkad4Data) => void) {
|
||||
this.skad4ConversionValueUpdatedCallback = skad4ConversionValueUpdatedCallback;
|
||||
}
|
||||
|
||||
private getAttributionCallback() {
|
||||
return this.attributionCallback;
|
||||
}
|
||||
@@ -217,6 +272,10 @@ export class AdjustConfig {
|
||||
return this.conversionValueUpdatedCallback;
|
||||
}
|
||||
|
||||
private getSkad4ConversionValueUpdatedCallback() {
|
||||
return this.skad4ConversionValueUpdatedCallback;
|
||||
}
|
||||
|
||||
private hasAttributionListener() {
|
||||
return this.attributionCallback !== null;
|
||||
}
|
||||
@@ -244,6 +303,10 @@ export class AdjustConfig {
|
||||
private hasConversionValueUpdatedCallbackListener() {
|
||||
return this.conversionValueUpdatedCallback !== null;
|
||||
}
|
||||
|
||||
private hasSkad4ConversionValueUpdatedCallbackListener() {
|
||||
return this.skad4ConversionValueUpdatedCallback !== null;
|
||||
}
|
||||
}
|
||||
|
||||
export class AdjustAppStoreSubscription {
|
||||
@@ -320,6 +383,7 @@ export class AdjustPlayStoreSubscription {
|
||||
export class AdjustThirdPartySharing {
|
||||
private isEnabled: boolean;
|
||||
private granularOptions: string[] = [];
|
||||
private partnerSharingSettings: any[] = [];
|
||||
|
||||
constructor(isEnabled: boolean) {
|
||||
this.isEnabled = isEnabled;
|
||||
@@ -330,6 +394,12 @@ export class AdjustThirdPartySharing {
|
||||
this.granularOptions.push(key);
|
||||
this.granularOptions.push(value);
|
||||
}
|
||||
|
||||
addPartnerSharingSetting(partnerName: string, key: string, value: boolean): void {
|
||||
this.partnerSharingSettings.push(partnerName);
|
||||
this.partnerSharingSettings.push(key);
|
||||
this.partnerSharingSettings.push(value);
|
||||
}
|
||||
}
|
||||
|
||||
export class AdjustAdRevenue {
|
||||
@@ -379,6 +449,28 @@ export class AdjustAdRevenue {
|
||||
}
|
||||
}
|
||||
|
||||
export class AdjustAppStorePurchase {
|
||||
private receipt: string;
|
||||
private productId: string;
|
||||
private transactionId: string;
|
||||
|
||||
constructor(receipt: string, productId: string, transactionId: string) {
|
||||
this.receipt = receipt;
|
||||
this.productId = productId;
|
||||
this.transactionId = transactionId;
|
||||
}
|
||||
}
|
||||
|
||||
export class AdjustPlayStorePurchase {
|
||||
private productId: string;
|
||||
private purchaseToken: string;
|
||||
|
||||
constructor(productId: string, purchaseToken: string) {
|
||||
this.productId = productId;
|
||||
this.purchaseToken = purchaseToken;
|
||||
}
|
||||
}
|
||||
|
||||
export interface AdjustAttribution {
|
||||
trackerToken: string;
|
||||
trackerName: string;
|
||||
@@ -391,6 +483,7 @@ export interface AdjustAttribution {
|
||||
costType: string;
|
||||
costAmount: string;
|
||||
costCurrency: string;
|
||||
fbInstallReferrer: string; // Android only
|
||||
}
|
||||
|
||||
export interface AdjustSessionSuccess {
|
||||
@@ -427,6 +520,18 @@ export interface AdjustEventFailure {
|
||||
jsonResponse: string;
|
||||
}
|
||||
|
||||
export interface AdjustSkad4Data {
|
||||
fineValue: number;
|
||||
coarseValue: string;
|
||||
lockWindow: boolean;
|
||||
}
|
||||
|
||||
export interface AdjustPurchaseVerificationInfo {
|
||||
verificationStatus: string;
|
||||
code: number;
|
||||
message: string;
|
||||
}
|
||||
|
||||
export enum AdjustEnvironment {
|
||||
Sandbox = 'sandbox',
|
||||
Production = 'production',
|
||||
@@ -445,6 +550,8 @@ export enum AdjustLogLevel {
|
||||
export enum AdjustUrlStrategy {
|
||||
India = 'india',
|
||||
China = 'china',
|
||||
Cn = 'cn',
|
||||
CnOnly = 'cn-only',
|
||||
DataResidencyEU = 'data-residency-eu',
|
||||
DataResidencyTR = 'data-residency-tr',
|
||||
DataResidencyUS = 'data-residency-us',
|
||||
@@ -454,7 +561,13 @@ export enum AdjustAdRevenueSource {
|
||||
AdRevenueSourceAppLovinMAX = 'applovin_max_sdk',
|
||||
AdRevenueSourceMopub = 'mopub',
|
||||
AdRevenueSourceAdMob = 'admob_sdk',
|
||||
AdRevenueSourceIronsource = 'ironsource_sdk',
|
||||
AdRevenueSourceIronSource = 'ironsource_sdk',
|
||||
AdRevenueSourceAdMost = "admost_sdk",
|
||||
AdRevenueSourceUnity = "unity_sdk",
|
||||
AdRevenueSourceHeliumChartboost = "helium_chartboost_sdk",
|
||||
AdRevenueSourcePublisher = "publisher_sdk",
|
||||
AdRevenueSourceTopOn = "topon_sdk",
|
||||
AdRevenueSourceAdx = "adx_sdk",
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -463,6 +576,7 @@ export enum AdjustAdRevenueSource {
|
||||
* 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)
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { Adjust, AdjustConfig, AdjustEnvironment } from '@awesome-cordova-plugins/adjust/ngx';
|
||||
@@ -483,13 +597,17 @@ export enum AdjustAdRevenueSource {
|
||||
* AdjustSessionFailure
|
||||
* AdjustEventSuccess
|
||||
* AdjustEventFailure
|
||||
* AdjustSkad4Data
|
||||
* AdjustPurchaseVerificationInfo
|
||||
* @classes
|
||||
* AdjustEvent
|
||||
* AdjustConfig
|
||||
* AdjustAppStoreSubscription
|
||||
* AdjustPlayStoreSubscription
|
||||
* AdjustThirdPartySharing
|
||||
* AdjustAdReenue
|
||||
* AdjustAdRevenue
|
||||
* AdjustAppStorePurchase
|
||||
* AdjustPlayStorePurchase
|
||||
* @enums
|
||||
* AdjustEnvironment
|
||||
* AdjustLogLevel
|
||||
@@ -505,6 +623,7 @@ export enum AdjustAdRevenueSource {
|
||||
})
|
||||
@Injectable()
|
||||
export class Adjust extends AwesomeCordovaNativePlugin {
|
||||
|
||||
/**
|
||||
* This method initializes Adjust SDK
|
||||
*
|
||||
@@ -623,7 +742,7 @@ export class Adjust extends AwesomeCordovaNativePlugin {
|
||||
gdprForgetMe(): void {}
|
||||
|
||||
/**
|
||||
* You can now notify Adjust when a user has exercised their right to stop sharing their data with partners for marketing purposes, but has allowed it to be shared for statistics purposes.
|
||||
* You can now notify Adjust when a user has exercised their right to stop sharing their data with partners for marketing purposes, but has allowed it to be shared for statistics purposes.
|
||||
* Calling the following method will instruct the Adjust SDK to communicate the user's choice to disable data sharing to the Adjust backend
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
@@ -670,6 +789,12 @@ export class Adjust extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Instruct to Adjust SDK to check current state of att_status
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
checkForNewAttStatus(): void {}
|
||||
|
||||
/**
|
||||
* If you want to access information about a user's current attribution whenever you need it, you can make a call to this function
|
||||
*
|
||||
@@ -770,4 +895,47 @@ export class Adjust extends AwesomeCordovaNativePlugin {
|
||||
getAppTrackingAuthorizationStatus(): Promise<number> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* To obtain the last deep link which has opened your iOS app, call this function
|
||||
*
|
||||
* @returns {Promise<string>} Returns a promise with iOS deep link string value
|
||||
*/
|
||||
@Cordova()
|
||||
getLastDeeplink(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is used to verify the App Store purchase
|
||||
*
|
||||
* @param {AdjustAppStorePurchase} purchase Adjust App Store purchase object to be verified
|
||||
* @returns {Promise<AdjustPurchaseVerificationInfo>} Returns a promise with purchase verification outcome
|
||||
*/
|
||||
@Cordova()
|
||||
verifyAppStorePurchase(purchase: AdjustAppStorePurchase): Promise<AdjustPurchaseVerificationInfo> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is used to verify the Play Store purchase
|
||||
*
|
||||
* @param {AdjustPlayStorePurchase} purchase Adjust Play Store purchase object to be verified
|
||||
* @returns {Promise<AdjustPurchaseVerificationInfo>} Returns a promise with purchase verification outcome
|
||||
*/
|
||||
@Cordova()
|
||||
verifyPlayStorePurchase(purchase: AdjustPlayStorePurchase): Promise<AdjustPurchaseVerificationInfo> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is used to send and potentially resolve shortened deep links
|
||||
*
|
||||
* @param {string} deeplink Potentially shortened deep link that has opened your app
|
||||
* @returns {Promise<string>} Returns a promise with either resolved (if it was resolved) or echoed deep link
|
||||
*/
|
||||
@Cordova()
|
||||
processDeeplink(deeplink: string): Promise<string> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
interface PresentOptions {
|
||||
/**
|
||||
* Which Media Types are allowed to be selected
|
||||
* default: "IMAGE"
|
||||
*/
|
||||
mediaType?: 'IMAGE' | 'VIDEO' | 'ALL';
|
||||
/**
|
||||
* Show possibility to take via Camera
|
||||
* default: true
|
||||
*/
|
||||
showCameraTile?: boolean;
|
||||
/**
|
||||
* On which Screen the Picker should be started (iOS only)
|
||||
* default: "LIBRARY"
|
||||
*/
|
||||
startOnScreen?: 'LIBRARY' | 'IMAGE' | 'VIDEO';
|
||||
/**
|
||||
* Date format of the Scroll Indicator (Android only)
|
||||
* default: "YYYY.MM"
|
||||
*/
|
||||
scrollIndicatorDateFormat?: string;
|
||||
/**
|
||||
* Show Title (Android only)
|
||||
* default: true
|
||||
*/
|
||||
showTitle?: boolean;
|
||||
/**
|
||||
* Customize the Title (Android only)
|
||||
* default: "Select Image"
|
||||
*/
|
||||
title?: string;
|
||||
/**
|
||||
* Show the zoomIndicator at the Images (Android only)
|
||||
* default: true
|
||||
*/
|
||||
zoomIndicator?: boolean;
|
||||
/**
|
||||
* Min Count of files to be selected
|
||||
* default: 0 (android), 1 (iOS)
|
||||
*/
|
||||
min?: number;
|
||||
/**
|
||||
* Message to be shown if min Count not reached (Android only)
|
||||
* default: "You need to select a minimum of ... pictures")"
|
||||
*/
|
||||
minCountMessage?: string;
|
||||
/**
|
||||
* Max Count of files can selected
|
||||
* default: 0 (android), 1 (iOS)
|
||||
*/
|
||||
max?: number;
|
||||
/**
|
||||
* Message to be shown if max Count is reached
|
||||
* default: "You can select a maximum of ... pictures"
|
||||
*/
|
||||
maxCountMessage?: string;
|
||||
/**
|
||||
* Change Done Button Text
|
||||
*/
|
||||
buttonText?: string;
|
||||
/**
|
||||
* Show Library as Dropdown (Android only)
|
||||
* default: false
|
||||
*/
|
||||
asDropdown?: boolean;
|
||||
/**
|
||||
* Return the Result as base64
|
||||
* default: false
|
||||
*/
|
||||
asBase64?: boolean;
|
||||
/**
|
||||
* Return the Image as JPEG
|
||||
* default: false
|
||||
*/
|
||||
asJpeg?: boolean;
|
||||
/**
|
||||
* Video Compression Option (iOS only)
|
||||
* available options: https://github.com/Yummypets/YPImagePicker/blob/23158e138bd649b40762bf2e4aa4beb0d463a121/Source/Configuration/YPImagePickerConfiguration.swift#L226-L240
|
||||
* default: AVAssetExportPresetHighestQuality
|
||||
*/
|
||||
videoCompression?: string;
|
||||
}
|
||||
|
||||
interface Result {
|
||||
type: 'image' | 'video';
|
||||
isBase64: boolean;
|
||||
src: string;
|
||||
}
|
||||
|
||||
export enum ErrorCodes {
|
||||
UnsupportedAction = 1,
|
||||
WrongJsonObject = 2,
|
||||
PickerCanceled = 3,
|
||||
UnknownError = 10,
|
||||
}
|
||||
|
||||
/**
|
||||
* Used for every Plugin Error Callback
|
||||
*/
|
||||
interface AdvancedImagePickerError {
|
||||
/**
|
||||
* One of the AdvancedImagePickerErrorCodes
|
||||
*/
|
||||
code: ErrorCodes;
|
||||
|
||||
/**
|
||||
* If available some more info (mostly exception message)
|
||||
*/
|
||||
message: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name AdvancedImagePicker
|
||||
* @description
|
||||
* This Cordova Plugin is for a better (multiple) ImagePicker with more options.
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { AdvancedImagePicker } from '@awesome-cordova-plugins/advanced-image-picker/npx';
|
||||
*
|
||||
*
|
||||
* constructor(private advancedImagePicker: AdvancedImagePicker) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* this.advancedImagePicker.present{
|
||||
* // config here
|
||||
* })
|
||||
* .then((res: Result[]) => console.log(res))
|
||||
* .catch((error: AdvancedImagePickerError) => console.error(error));
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'AdvancedImagePicker',
|
||||
plugin: 'cordova-plugin-advanced-imagepicker',
|
||||
pluginRef: 'AdvancedImagePicker',
|
||||
repo: 'https://github.com/EinfachHans/cordova-plugin-advanced-imagepicker',
|
||||
install: 'ionic cordova plugin add cordova-plugin-advanced-imagepicker',
|
||||
installVariables: ['ANDROID_IMAGE_PICKER_VERSION'],
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class AdvancedImagePicker extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Present the ImagePicker
|
||||
* @param options {PresentOptions} https://github.com/EinfachHans/cordova-plugin-advanced-imagepicker/tree/master#parameters
|
||||
* @return {Promise<Result[]>}
|
||||
*/
|
||||
@Cordova()
|
||||
present(options: PresentOptions): Promise<Result[]> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cleans all temp stored Files that was created by this Plugin (iOS only)
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
cleanup(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
1756
src/@awesome-cordova-plugins/plugins/airship/index.ts
Normal file
1756
src/@awesome-cordova-plugins/plugins/airship/index.ts
Normal file
File diff suppressed because it is too large
Load Diff
@@ -67,7 +67,10 @@ export class AndroidPermissions extends AwesomeCordovaNativePlugin {
|
||||
BIND_WALLPAPER: 'android.permission.BIND_WALLPAPER',
|
||||
BLUETOOTH: 'android.permission.BLUETOOTH',
|
||||
BLUETOOTH_ADMIN: 'android.permission.BLUETOOTH_ADMIN',
|
||||
BLUETOOTH_ADVERTISE: 'android.permission.BLUETOOTH_ADVERTISE',
|
||||
BLUETOOTH_CONNECT: 'android.permission.BLUETOOTH_CONNECT',
|
||||
BLUETOOTH_PRIVILEGED: 'android.permission.BLUETOOTH_PRIVILEGED',
|
||||
BLUETOOTH_SCAN: 'android.permission.BLUETOOTH_SCAN',
|
||||
BODY_SENSORS: 'android.permission.BODY_SENSORS',
|
||||
BRICK: 'android.permission.BRICK',
|
||||
BROADCAST_PACKAGE_REMOVED: 'android.permission.BROADCAST_PACKAGE_REMOVED',
|
||||
@@ -123,6 +126,7 @@ export class AndroidPermissions extends AwesomeCordovaNativePlugin {
|
||||
MOUNT_UNMOUNT_FILESYSTEMS: 'android.permission.MOUNT_UNMOUNT_FILESYSTEMS',
|
||||
NFC: 'android.permission.NFC',
|
||||
PERSISTENT_ACTIVITY: 'android.permission.PERSISTENT_ACTIVITY',
|
||||
POST_NOTIFICATIONS: 'android.permission.POST_NOTIFICATIONS',
|
||||
PROCESS_OUTGOING_CALLS: 'android.permission.PROCESS_OUTGOING_CALLS',
|
||||
READ_CALENDAR: 'android.permission.READ_CALENDAR',
|
||||
READ_CALL_LOG: 'android.permission.READ_CALL_LOG',
|
||||
@@ -132,6 +136,9 @@ export class AndroidPermissions extends AwesomeCordovaNativePlugin {
|
||||
READ_HISTORY_BOOKMARKS: 'com.android.browser.permission.READ_HISTORY_BOOKMARKS',
|
||||
READ_INPUT_STATE: 'android.permission.READ_INPUT_STATE',
|
||||
READ_LOGS: 'android.permission.READ_LOGS',
|
||||
READ_MEDIA_AUDIO: 'android.permission.READ_MEDIA_AUDIO',
|
||||
READ_MEDIA_IMAGES: 'android.permission.READ_MEDIA_IMAGES',
|
||||
READ_MEDIA_VIDEO: 'android.permission.READ_MEDIA_VIDEO',
|
||||
READ_PHONE_STATE: 'android.permission.READ_PHONE_STATE',
|
||||
READ_PROFILE: 'android.permission.READ_PROFILE',
|
||||
READ_SMS: 'android.permission.READ_SMS',
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
export interface AnylineOptions {
|
||||
// Valid License Key
|
||||
licenseKey: string;
|
||||
|
||||
// Scanning options
|
||||
config: any;
|
||||
export interface AnylineConfig {
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -38,14 +34,29 @@ export interface AnylineOptions {
|
||||
})
|
||||
@Injectable()
|
||||
export class Anyline extends AwesomeCordovaNativePlugin {
|
||||
@Cordova()
|
||||
checkLicense(licenseKey: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
initAnylineSDK(licenseKey: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
getSDKVersion(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Scan
|
||||
*
|
||||
* @param options {AnylineOptions} Scanning options
|
||||
* @param config {AnylineConfig} Scanning options
|
||||
* @returns {Promise<any>} Returns a promise that resolves when Code is captured
|
||||
*/
|
||||
@Cordova()
|
||||
scan(options: AnylineOptions): Promise<any> {
|
||||
scan(config: AnylineConfig): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
55
src/@awesome-cordova-plugins/plugins/app-review/index.ts
Normal file
55
src/@awesome-cordova-plugins/plugins/app-review/index.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
/**
|
||||
* @name App Review
|
||||
* @description
|
||||
* Cordova plugin to review app
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { AppReview } from '@awesome-cordova-plugins/app-review/ngx';
|
||||
*
|
||||
*
|
||||
* constructor(private appReview: AppReview) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* this.appReview.requestReview()
|
||||
* .then(() => console.log('Success'))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'AppReview',
|
||||
plugin: 'cordova-plugin-app-review',
|
||||
pluginRef: 'cordova.plugins.AppReview',
|
||||
repo: 'https://github.com/chemerisuk/cordova-plugin-app-review',
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class AppReview extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Launches in-app review dialog.
|
||||
*
|
||||
* @returns {Promise<void>} Callback when operation is completed
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
requestReview(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Launches App/Play store page with a review form. By default current app screen
|
||||
* is displayed but you can pass a package name string to show another app details.
|
||||
*
|
||||
* @param {string} [packageName] Package name to show instead of the current app.
|
||||
* @returns {Promise<void>} Callback when operation is completed
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
openStoreScreen(packageName?: string): Promise<void> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
340
src/@awesome-cordova-plugins/plugins/applovin/index.ts
Normal file
340
src/@awesome-cordova-plugins/plugins/applovin/index.ts
Normal file
@@ -0,0 +1,340 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { AwesomeCordovaNativePlugin, Cordova, Plugin } from '@awesome-cordova-plugins/core';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
export interface InitializeConfig {
|
||||
hasUserConsentValue: boolean;
|
||||
isAgeRestrictedUserValue: boolean;
|
||||
isDoNotSellValue: boolean;
|
||||
isTabletValue: boolean;
|
||||
}
|
||||
|
||||
export interface AdInfo {
|
||||
adUnitId: string;
|
||||
creativeId: string;
|
||||
networkName: string;
|
||||
placement: string;
|
||||
revenue: number;
|
||||
}
|
||||
|
||||
export enum AdViewPosition {
|
||||
TOP_CENTER = 'top_center',
|
||||
TOP_RIGHT = 'top_right',
|
||||
CENTERED = 'centered',
|
||||
CENTER_LEFT = 'center_left',
|
||||
CENTER_RIGHT = 'center_right',
|
||||
BOTTOM_LEFT = 'bottom_left',
|
||||
BOTTOM_CENTER = 'bottom_center',
|
||||
BOTTOM_RIGHT = 'bottom_right',
|
||||
}
|
||||
|
||||
export enum ConsentDialogState {
|
||||
UNKNOWN = 0,
|
||||
APPLIES = 1,
|
||||
DOES_NOT_APPLY = 2,
|
||||
}
|
||||
|
||||
/**
|
||||
* @name Applovin
|
||||
* @description
|
||||
* This plugin allows you to easily configure, integrate and interact with Applovin ads.
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { Applovin } from '@awesome-cordova-plugins/applovin';
|
||||
*
|
||||
*
|
||||
* constructor(private applovin: Applovin) { }
|
||||
*
|
||||
*
|
||||
* this.applovin.initialize(sdkKey)
|
||||
* .then((res: any) => console.log(res))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
*
|
||||
* this.applovin.loadInterstitial(adUnitId)
|
||||
* .then((res: any) => console.log(res))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
*
|
||||
* this.applovin.showInterstitial(adUnitId, placement)
|
||||
* .then((res: any) => console.log(res))
|
||||
* .catch((error: any) => console.error(error));
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'Applovin',
|
||||
plugin: 'cordova-plugin-applovin-max',
|
||||
pluginRef: 'applovin',
|
||||
repo: 'https://github.com/AppLovin/AppLovin-MAX-Cordova',
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class Applovin extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Initialize the AppLovin SDK.
|
||||
*
|
||||
* @param {string} sdkKey The SDK key generated for your AppLovin account.
|
||||
*/
|
||||
@Cordova()
|
||||
initialize(sdkKey: string): Promise<InitializeConfig> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
showMediationDebugger(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
getConsentDialogState(): Promise<ConsentDialogState> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setHasUserConsent(hasUserConsent: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
hasUserConsent(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setIsAgeRestrictedUser(isAgeRestrictedUser: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
isAgeRestrictedUser(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setDoNotSell(isDoNotSell: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
isDoNotSell(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
isTablet(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setUserId(userId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setMuted(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setVerboseLogging(verboseLoggingEnabled: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setTestDeviceAdvertisingIds(advertisingIds: string[]): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
trackEvent(event: string, parameters?: object): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/** BANNERS */
|
||||
|
||||
@Cordova()
|
||||
createBanner(adUnitId: string, position: AdViewPosition): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setBannerBackgroundColor(adUnitId: string, hexColorCode: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setBannerPlacement(adUnitId: string, placement: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setBannerExtraParameter(adUnitId: string, key: string, value: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
showBanner(adUnitId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
hideBanner(adUnitId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
destroyBanner(adUnitId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/** MRECS */
|
||||
|
||||
@Cordova()
|
||||
createMRec(adUnitId: string, position: AdViewPosition): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setMRecBackgroundColor(adUnitId: string, hexColorCode: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setMRecPlacement(adUnitId: string, placement: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setMRecExtraParameter(adUnitId: string, key: string, value: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
showMRec(adUnitId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
hideMRec(adUnitId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
destroyMRec(adUnitId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/** INTERSTITIALS */
|
||||
|
||||
@Cordova()
|
||||
loadInterstitial(adUnitId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
showInterstitial(adUnitId: string, placement?: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setInterstitialExtraParameter(adUnitId: string, key: string, value: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova({
|
||||
eventObservable: true,
|
||||
event: 'OnInterstitialLoadedEvent',
|
||||
})
|
||||
onInterstitialLoaded(): Observable<AdInfo> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova({
|
||||
eventObservable: true,
|
||||
event: 'OnInterstitialLoadFailedEvent',
|
||||
})
|
||||
onInterstitialLoadFailed(): Observable<AdInfo> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova({
|
||||
eventObservable: true,
|
||||
event: 'OnInterstitialDisplayedEvent',
|
||||
})
|
||||
onInterstitialDisplayed(): Observable<AdInfo> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova({
|
||||
eventObservable: true,
|
||||
event: 'OnInterstitialHiddenEvent',
|
||||
})
|
||||
onInterstitialHidden(): Observable<AdInfo> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova({
|
||||
eventObservable: true,
|
||||
event: 'OnInterstitialAdFailedToDisplayEvent',
|
||||
})
|
||||
onInterstitialAdFailedToDisplay(): Observable<AdInfo> {
|
||||
return;
|
||||
}
|
||||
|
||||
/** REWARDED ADS */
|
||||
|
||||
@Cordova()
|
||||
loadRewardedAd(adUnitId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
showRewardedAd(adUnitId: string, placement?: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
setRewardedAdExtraParameter(adUnitId: string, key: string, value: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova({
|
||||
eventObservable: true,
|
||||
event: 'OnRewardedAdLoadedEvent',
|
||||
})
|
||||
onRewardedAdLoaded(): Observable<AdInfo> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova({
|
||||
eventObservable: true,
|
||||
event: 'OnRewardedAdLoadFailedEvent',
|
||||
})
|
||||
onRewardedAdLoadFailed(): Observable<AdInfo> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova({
|
||||
eventObservable: true,
|
||||
event: 'OnRewardedAdDisplayedEvent',
|
||||
})
|
||||
onRewardedAdDisplayed(): Observable<AdInfo> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova({
|
||||
eventObservable: true,
|
||||
event: 'OnRewardedAdHiddenEvent',
|
||||
})
|
||||
onRewardedAdHidden(): Observable<AdInfo> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova({
|
||||
eventObservable: true,
|
||||
event: 'OnRewardedAdAdFailedToDisplayEvent',
|
||||
})
|
||||
onRewardedAdAdFailedToDisplay(): Observable<AdInfo> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -564,6 +564,37 @@ export class BLE extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers to be notified when Location service state changes on the device.
|
||||
*
|
||||
* @usage
|
||||
* ```
|
||||
* ble.startLocationStateNotifications(success, failure);
|
||||
* // Or using await with promises
|
||||
* // Note, initial promise resolves or rejects depending on whether the subscribe was successful
|
||||
* await ble.withPromises.startLocationStateNotifications(success, failure)
|
||||
* ```
|
||||
* @returns {Observable<any>} Returns an Observable that notifies when Location is enabled or disabled on the device.
|
||||
*/
|
||||
@Cordova({
|
||||
observable: true,
|
||||
clearFunction: 'stopLocationStateNotifications',
|
||||
clearWithArgs: false,
|
||||
})
|
||||
startLocationStateNotifications(): Observable<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop location state notifications.
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
stopLocationStateNotifications(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Open System Bluetooth settings (Android only).
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, CordovaProperty, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
|
||||
import { AwesomeCordovaNativePlugin, Cordova, CordovaProperty, Plugin } from '@awesome-cordova-plugins/core';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
/* Available status of device */
|
||||
@@ -535,10 +535,10 @@ export class BluetoothLE extends AwesomeCordovaNativePlugin {
|
||||
* Retrieved paired Bluetooth LE devices. In iOS, devices that are "paired" to will not return during a normal scan.
|
||||
* Callback is "instant" compared to a scan.
|
||||
* @param {{ services: string[] }} An array of service IDs to filter the retrieval by. If no service IDs are specified, no devices will be returned.
|
||||
* @returns {Promise<{ devices: DeviceInfo[] }>}
|
||||
* @returns {Promise<DeviceInfo[]>}
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse' })
|
||||
retrieveConnected(params?: { services?: string[] }): Promise<{ devices: DeviceInfo[] }> {
|
||||
retrieveConnected(params?: { services?: string[] }): Promise<DeviceInfo[]> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -548,7 +548,7 @@ export class BluetoothLE extends AwesomeCordovaNativePlugin {
|
||||
* Bond with a device.
|
||||
* The device doesn't need to be connected to initiate bonding. Android support only.
|
||||
* @param {{ address: string }} params The address/identifier provided by the scan's return object
|
||||
* @returns {(Observable<{ status: DeviceInfo }>)}
|
||||
* @returns {(Observable<DeviceInfo>)}
|
||||
* success:
|
||||
* The first success callback should always return with status == bonding.
|
||||
* If the bond is created, the callback will return again with status == bonded.
|
||||
@@ -557,7 +557,7 @@ export class BluetoothLE extends AwesomeCordovaNativePlugin {
|
||||
* The callback that will be triggered when the bond operation fails
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse', observable: true })
|
||||
bond(params: { address: string }): Observable<{ status: DeviceInfo }> {
|
||||
bond(params: { address: string }): Observable<DeviceInfo> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -566,12 +566,12 @@ export class BluetoothLE extends AwesomeCordovaNativePlugin {
|
||||
* @param params.address
|
||||
* Unbond with a device. The device doesn't need to be connected to initiate bonding. Android support only.
|
||||
* @param {{address: string}} params The address/identifier
|
||||
* @returns {Promise<{ status: DeviceInfo }>}
|
||||
* @returns {Promise<DeviceInfo>}
|
||||
* success: The success callback should always return with status == unbonded, that is passed with device object
|
||||
* error: The callback that will be triggered when the unbond operation fails
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse' })
|
||||
unbond(params: { address: string }): Promise<{ status: DeviceInfo }> {
|
||||
unbond(params: { address: string }): Promise<DeviceInfo> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -582,7 +582,7 @@ export class BluetoothLE extends AwesomeCordovaNativePlugin {
|
||||
* @param connectError The callback that will be triggered when the connect operation fails
|
||||
* @param params The connection params
|
||||
* @param {ConnectionParams} params
|
||||
* @returns {(Observable<{ status: DeviceInfo }>)}
|
||||
* @returns {(Observable<DeviceInfo>)}
|
||||
* success: device object with status
|
||||
* error: The callback that will be triggered when the unbond operation fails
|
||||
*/
|
||||
@@ -670,10 +670,10 @@ export class BluetoothLE extends AwesomeCordovaNativePlugin {
|
||||
* Discover the service's characteristics.
|
||||
* Not providing an array of characteristics will return all characteristics and take longer to discover. iOS support only.
|
||||
* @param {CharacteristicParams} params Characteristic params
|
||||
* @returns {Promise<{ characteristics: Characteristics }>} The service id and an Array of characteristics
|
||||
* @returns {Promise<Characteristics>} The service id and an Array of characteristics
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse' })
|
||||
characteristics(params: CharacteristicParams): Promise<{ characteristics: Characteristics }> {
|
||||
characteristics(params: CharacteristicParams): Promise<Characteristics> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -681,10 +681,10 @@ export class BluetoothLE extends AwesomeCordovaNativePlugin {
|
||||
* @name descriptors (iOS)
|
||||
* Discover the characteristic's descriptors. iOS support only.
|
||||
* @param {DescriptorParams} params
|
||||
* @returns {Promise<{ descriptors: Descriptors }>}
|
||||
* @returns {Promise<Descriptors>}
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse' })
|
||||
descriptors(params: DescriptorParams): Promise<{ descriptors: Descriptors }> {
|
||||
descriptors(params: DescriptorParams): Promise<Descriptors> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -929,6 +929,72 @@ export class BluetoothLE extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name hasPermissionBtScan (useful only for Android 12+ / API 31+)
|
||||
* Determine whether scan privileges in Android API 31+
|
||||
* Will return an error if called on iOS or Android versions prior to 12.0.
|
||||
* @returns {Promise<{ hasPermission: boolean }>}
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse' })
|
||||
hasPermissionBtScan(): Promise<{ hasPermission: boolean }> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name requestPermissionBtScan (useful only for Android 12+ / API 31)
|
||||
* Request scan privileges in Android API 31.
|
||||
* Will return an error if called on iOS or Android versions prior to 12.0.
|
||||
* @returns {Promise<{ requestPermission: boolean }>}
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse' })
|
||||
requestPermissionBtScan(): Promise<{ requestPermission: boolean }> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name hasPermissionBtConnect (useful only for Android 12+ / API 31)
|
||||
* Determine if device has the permission to connect or not.
|
||||
* Will return an error if called on iOS or Android versions prior to 12.0.
|
||||
* @returns {Promise<{ hasPermission: boolean }>}
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse' })
|
||||
hasPermissionBtConnect(): Promise<{ hasPermission: boolean }> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name requestPermissionBtConnect (useful only for Android 12+ / API 31)
|
||||
* Prompt permission settings page. requestPermissionBtConnect property returns whether connect permission has been granted or not.
|
||||
* Will return an error if called on iOS or Android versions prior to 12.0.
|
||||
* @returns {Promise<{ requestPermission: boolean }>}
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse' })
|
||||
requestPermissionBtConnect(): Promise<{ requestPermission: boolean }> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name hasPermissionBtAdvertise (useful only for Android 12+ / API 31)
|
||||
* Determine if device has the permission to advertise or not.
|
||||
* Will return an error if called on iOS or Android versions prior to 12.0.
|
||||
* @returns {Promise<{ hasPermission: boolean }>}
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse' })
|
||||
hasPermissionBtAdvertise(): Promise<{ hasPermission: boolean }> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name requestPermissionBtAdvertise (useful only for Android 12+ / API 31)
|
||||
* Prompt permission settings page. requestPermissionBtAdvertise property returns whether connect permission has been granted or not.
|
||||
* Will return an error if called on iOS or Android versions prior to 12.0.
|
||||
* @returns {Promise<{ requestPermission: boolean }>}
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse' })
|
||||
requestPermissionBtAdvertise(): Promise<{ requestPermission: boolean }> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name initializePeripheral
|
||||
* Initialize Bluetooth on the device. Must be called before anything else.
|
||||
|
||||
62
src/@awesome-cordova-plugins/plugins/brightness/index.ts
Normal file
62
src/@awesome-cordova-plugins/plugins/brightness/index.ts
Normal file
@@ -0,0 +1,62 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
/**
|
||||
* @name Brightness
|
||||
* @description
|
||||
* 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).
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { Brightness } from '@awesome-cordova-plugins/brightness/ngx';
|
||||
*
|
||||
*
|
||||
* constructor(private brightness: Brightness) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* let brightnessValue = 0.8;
|
||||
* this.brightness.setBrightness(brightnessValue);
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'Brightness',
|
||||
plugin: 'cordova-plugin-brightness',
|
||||
pluginRef: 'cordova.plugins.brightness',
|
||||
repo: 'https://github.com/mgcrea/cordova-plugin-brightness',
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class Brightness extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Sets the brightness of the display.
|
||||
* @param value {number} Floating number between 0 and 1 in which case 1 means 100% brightness and 0 means 0% brightness.
|
||||
* @returns {Promise<any>} Returns a Promise that resolves if setting brightness was successful.
|
||||
*/
|
||||
@Cordova()
|
||||
setBrightness(value: number): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads the current brightness of the device display.
|
||||
* @returns {Promise<any>} Returns a Promise that resolves with the
|
||||
* brightness value of the device display (floating number between 0 and 1).
|
||||
*/
|
||||
@Cordova()
|
||||
getBrightness(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Keeps the screen on. Prevents the device from setting the screen to sleep.
|
||||
* @param {boolean} value
|
||||
*/
|
||||
@Cordova()
|
||||
setKeepScreenOn(value: boolean): void {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -132,10 +132,10 @@ export enum Direction {
|
||||
* [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>
|
||||
* <string>You can take photos</string>
|
||||
* </config-file>
|
||||
* ```
|
||||
* inside of the <platform name='ios> section
|
||||
* inside of the `<platform name='ios>` section
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { Camera, CameraOptions } from '@awesome-cordova-plugins/camera/ngx';
|
||||
|
||||
309
src/@awesome-cordova-plugins/plugins/cashfree-pg/index.ts
Normal file
309
src/@awesome-cordova-plugins/plugins/cashfree-pg/index.ts
Normal file
@@ -0,0 +1,309 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
|
||||
export enum CFEnvironment {
|
||||
PRODUCTION = 'PRODUCTION',
|
||||
SANDBOX = 'SANDBOX',
|
||||
}
|
||||
|
||||
export class CFSession {
|
||||
payment_session_id: string;
|
||||
orderID: string;
|
||||
environment: string;
|
||||
|
||||
constructor(sessionID: string, orderID: string, environment: CFEnvironment) {
|
||||
if (sessionID === null || sessionID.trim() === '') {
|
||||
throw new Error('sessionID cannot be empty');
|
||||
}
|
||||
if (orderID === null || orderID.trim() === '') {
|
||||
throw new Error('orderID cannot be empty');
|
||||
}
|
||||
if (environment === null || environment.trim() === '') {
|
||||
throw new Error('environment cannot be empty');
|
||||
}
|
||||
this.payment_session_id = sessionID;
|
||||
this.orderID = orderID;
|
||||
this.environment = CFEnvironment[environment];
|
||||
}
|
||||
}
|
||||
|
||||
export enum CFPaymentModes {
|
||||
CARD = 'CARD',
|
||||
UPI = 'UPI',
|
||||
NB = 'NB',
|
||||
WALLET = 'WALLET',
|
||||
EMI = 'EMI',
|
||||
PAY_LATER = 'PAY_LATER',
|
||||
PAYPAL = 'PAYPAL',
|
||||
}
|
||||
|
||||
export interface CFPaymentComponent {
|
||||
hashset: Set<CFPaymentModes>;
|
||||
}
|
||||
|
||||
export class CFPaymentComponentBuilder {
|
||||
private hashset: Set<CFPaymentModes> = new Set<CFPaymentModes>();
|
||||
|
||||
private enableAllModes() {
|
||||
this.hashset.add(CFPaymentModes.CARD);
|
||||
this.hashset.add(CFPaymentModes.UPI);
|
||||
this.hashset.add(CFPaymentModes.NB);
|
||||
this.hashset.add(CFPaymentModes.WALLET);
|
||||
this.hashset.add(CFPaymentModes.EMI);
|
||||
this.hashset.add(CFPaymentModes.PAY_LATER);
|
||||
this.hashset.add(CFPaymentModes.PAYPAL);
|
||||
}
|
||||
|
||||
build(): CFPaymentComponent {
|
||||
if (this.hashset.size === 0) {
|
||||
this.enableAllModes();
|
||||
}
|
||||
return {
|
||||
hashset: this.hashset,
|
||||
};
|
||||
}
|
||||
|
||||
add(cfPaymentModes: CFPaymentModes) {
|
||||
this.hashset.add(cfPaymentModes);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
export interface CFTheme {
|
||||
navigationBarBackgroundColor: string;
|
||||
navigationBarTextColor: string;
|
||||
buttonBackgroundColor: string;
|
||||
buttonTextColor: string;
|
||||
backgroundColor: string;
|
||||
primaryTextColor: string;
|
||||
secondaryTextColor: string;
|
||||
}
|
||||
|
||||
export class CFThemeBuilder {
|
||||
private navigationBarBackgroundColor = '#6A3FD3';
|
||||
private navigationBarTextColor = '#FFFFFF';
|
||||
private buttonBackgroundColor = '#6A3FD3';
|
||||
private buttonTextColor = '#FFFFFF';
|
||||
private backgroundColor = '#FFFFFF';
|
||||
private primaryTextColor = '#11385b';
|
||||
private secondaryTextColor = '#808080';
|
||||
|
||||
setNavigationBarBackgroundColor(value: string) {
|
||||
this.navigationBarBackgroundColor = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
setNavigationBarTextColor(value: string) {
|
||||
this.navigationBarTextColor = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
setButtonBackgroundColor(value: string) {
|
||||
this.buttonBackgroundColor = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
setButtonTextColor(value: string) {
|
||||
this.buttonTextColor = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
setPrimaryTextColor(value: string) {
|
||||
this.primaryTextColor = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
setSecondaryTextColor(value: string) {
|
||||
this.secondaryTextColor = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
setBackgroundColor(value: string) {
|
||||
this.backgroundColor = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
build(): CFTheme {
|
||||
return {
|
||||
navigationBarBackgroundColor: this.navigationBarBackgroundColor,
|
||||
navigationBarTextColor: this.navigationBarTextColor,
|
||||
buttonBackgroundColor: this.buttonBackgroundColor,
|
||||
backgroundColor: this.backgroundColor,
|
||||
buttonTextColor: this.buttonTextColor,
|
||||
primaryTextColor: this.primaryTextColor,
|
||||
secondaryTextColor: this.secondaryTextColor,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export type CFWebTheme = CFTheme;
|
||||
|
||||
export class CFWebThemeBuilder {
|
||||
private navigationBarBackgroundColor = '#6A3FD3';
|
||||
private navigationBarTextColor = '#FFFFFF';
|
||||
|
||||
setNavigationBarBackgroundColor(value: string) {
|
||||
this.navigationBarBackgroundColor = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
setNavigationBarTextColor(value: string) {
|
||||
this.navigationBarTextColor = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
build(): CFWebTheme {
|
||||
const cfTheme = new CFThemeBuilder().build();
|
||||
return {
|
||||
buttonBackgroundColor: cfTheme.buttonBackgroundColor,
|
||||
buttonTextColor: cfTheme.buttonTextColor,
|
||||
navigationBarBackgroundColor: this.navigationBarBackgroundColor,
|
||||
navigationBarTextColor: this.navigationBarBackgroundColor,
|
||||
secondaryTextColor: cfTheme.secondaryTextColor,
|
||||
backgroundColor: cfTheme.backgroundColor,
|
||||
primaryTextColor: cfTheme.buttonTextColor,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export interface CheckoutPayment {
|
||||
version: string;
|
||||
}
|
||||
|
||||
export class CFDropCheckoutPayment implements CheckoutPayment {
|
||||
private readonly session: CFSession;
|
||||
private readonly components: string[] = Array.from(new CFPaymentComponentBuilder().build().hashset);
|
||||
private readonly theme: CFTheme = new CFThemeBuilder().build();
|
||||
version: string;
|
||||
|
||||
constructor(session: CFSession, components: CFPaymentComponent | null, theme: CFTheme | null) {
|
||||
this.session = session;
|
||||
if (components !== null) {
|
||||
this.components = Array.from(components.hashset);
|
||||
}
|
||||
if (theme !== null) {
|
||||
this.theme = theme;
|
||||
}
|
||||
}
|
||||
|
||||
getSession() {
|
||||
return this.session;
|
||||
}
|
||||
|
||||
getComponents() {
|
||||
return this.components;
|
||||
}
|
||||
|
||||
getTheme() {
|
||||
return this.theme;
|
||||
}
|
||||
}
|
||||
|
||||
export class CFWebCheckoutPayment implements CheckoutPayment {
|
||||
private readonly session: CFSession;
|
||||
private readonly theme: CFWebTheme = new CFWebThemeBuilder().build();
|
||||
version: string;
|
||||
|
||||
constructor(session: CFSession, theme: CFWebTheme | null) {
|
||||
this.session = session;
|
||||
if (theme !== null) {
|
||||
this.theme = theme;
|
||||
}
|
||||
}
|
||||
|
||||
getSession() {
|
||||
return this.session;
|
||||
}
|
||||
|
||||
getTheme() {
|
||||
return this.theme;
|
||||
}
|
||||
}
|
||||
|
||||
export class CFUPIIntentCheckoutPayment implements CheckoutPayment {
|
||||
private readonly session: CFSession;
|
||||
private readonly theme: CFTheme = new CFThemeBuilder().build();
|
||||
version: string;
|
||||
|
||||
constructor(
|
||||
session: CFSession,
|
||||
theme: CFTheme | null
|
||||
) {
|
||||
this.session = session;
|
||||
if (theme !== null) {
|
||||
this.theme = theme;
|
||||
}
|
||||
}
|
||||
|
||||
getSession() {
|
||||
return this.session;
|
||||
}
|
||||
|
||||
getTheme() {
|
||||
return this.theme;
|
||||
}
|
||||
}
|
||||
|
||||
interface CFResult {
|
||||
orderID: string;
|
||||
}
|
||||
|
||||
interface CFError {
|
||||
orderID: string;
|
||||
status: string;
|
||||
message: string;
|
||||
code: string;
|
||||
type: string;
|
||||
}
|
||||
interface CFResult {
|
||||
orderID: string;
|
||||
}
|
||||
export interface CFCallback {
|
||||
onVerify: (result: CFResult) => void;
|
||||
onError: (error: CFError) => void;
|
||||
}
|
||||
|
||||
@Plugin({
|
||||
pluginName: 'CFPaymentGateway',
|
||||
plugin: 'cordova-plugin-cashfree-pg',
|
||||
pluginRef: 'CFPaymentGateway',
|
||||
repo: 'https://github.com/cashfree/cordova-plugin-cashfree',
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class CFPaymentGateway extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Initiate Drop Payment.
|
||||
* @param {CFDropCheckoutPayment} [dropObject] dropPaymentObject information
|
||||
*/
|
||||
@Cordova()
|
||||
doDropPayment(dropObject: CFDropCheckoutPayment) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initiate Web Checkout Payment.
|
||||
* @param {CFWebCheckoutPayment} [webCheckoutPayment] webCheckoutPaymentObject information
|
||||
*/
|
||||
@Cordova()
|
||||
doWebCheckoutPayment(webCheckoutPayment: CFWebCheckoutPayment) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initiate UPI Checkout Payment.
|
||||
* @param {CFUPIIntentCheckoutPayment} [upiCheckoutPayment] webCheckoutPaymentObject information
|
||||
*/
|
||||
@Cordova()
|
||||
doUPIPayment(upiCheckoutPayment: CFUPIIntentCheckoutPayment) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Callback.
|
||||
* @param {CFCallback} [cfCallback] callbacks for payment.
|
||||
*/
|
||||
@Cordova()
|
||||
setCallback(cfCallback: CFCallback) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,24 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
export interface ChooserOptions {
|
||||
mimeTypes?: string;
|
||||
maxFileSize?: number;
|
||||
}
|
||||
|
||||
export interface ChooserResult {
|
||||
data?: Uint8Array;
|
||||
dataURI?: string;
|
||||
mediaType: string;
|
||||
path: string;
|
||||
/**
|
||||
* without extension
|
||||
*/
|
||||
name: string;
|
||||
uri: string;
|
||||
/**
|
||||
* with extension
|
||||
*/
|
||||
displayName: string;
|
||||
mimeType: string;
|
||||
extension: string;
|
||||
size: number;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -47,32 +59,23 @@ export interface ChooserResult {
|
||||
pluginName: 'Chooser',
|
||||
plugin: 'cordova-plugin-chooser',
|
||||
pluginRef: 'chooser',
|
||||
repo: 'https://github.com/cyph/cordova-plugin-chooser',
|
||||
repo: 'https://github.com/MaximBelov/cordova-plugin-chooser',
|
||||
platforms: ['Android', 'iOS'],
|
||||
install: 'ionic cordova plugin add http://github.com/MaximBelov/cordova-plugin-chooser.git',
|
||||
})
|
||||
@Injectable()
|
||||
export class Chooser extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Displays native prompt for user to select a file.
|
||||
*
|
||||
* @param {string} [accept] Optional MIME type filter (e.g. 'image/gif,video/*').
|
||||
* @returns {Promise<any>} Promise containing selected file's raw binary data,
|
||||
* base64-encoded data: URI, MIME type, display name, and original URI.
|
||||
* @param {Object} options
|
||||
* @param {string} options.mimeTypes Optional MIME type filter (e.g. 'image/gif,video/*').
|
||||
* @param {string} options.maxFileSize Optional Max file size.
|
||||
* @returns {Promise<any>} Promise containing selected file's
|
||||
* data: MIME type, display name, and original URI.
|
||||
*/
|
||||
@Cordova()
|
||||
getFile(accept?: string): Promise<ChooserResult | undefined> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* Displays native prompt for user to select a file.
|
||||
*
|
||||
* @param {string} [accept] Optional MIME type filter (e.g. 'image/gif,video/*').
|
||||
* @returns {Promise<any>} Promise containing selected file's MIME type, display name, and original URI.
|
||||
* If user cancels, promise will be resolved as undefined.
|
||||
* If error occurs, promise will be rejected.
|
||||
*/
|
||||
@Cordova()
|
||||
getFileMetadata(accept?: string): Promise<ChooserResult | undefined> {
|
||||
getFile(options?: ChooserOptions): Promise<ChooserResult | undefined> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,6 +95,16 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this method to set a custom locale for the clevertap instance.
|
||||
* @param locale {string}
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
setLocale(locale: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/*******************
|
||||
* Push
|
||||
******************/
|
||||
@@ -121,13 +131,14 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the device's Xiaomi push token
|
||||
*
|
||||
* Sets the device's Xiaomi push token.
|
||||
* clevertap-cordova 2.6.0 onwards method requires region as a mandatory parameter.
|
||||
* @param token {string}
|
||||
* @param region {string}
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
setPushXiaomiToken(token: string): Promise<any> {
|
||||
setPushXiaomiToken(token: string, region: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -652,6 +663,28 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes all images and gifs which are preloaded for inapps in cs mode.
|
||||
*
|
||||
* @param expiredOnly {boolean} - to clear only assets which will not be needed further for inapps
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
clearInAppResources(expiredOnly: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches In Apps from server.
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
fetchInApps(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/*******************
|
||||
* Session
|
||||
******************/
|
||||
@@ -804,6 +837,17 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this method to delete bulk Inbox Messages for Given Message Ids
|
||||
*
|
||||
* @param messageIds {any} array of strings
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
deleteInboxMessagesForIds(messageIds: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this to Mark Read Inbox Message For Id
|
||||
*
|
||||
@@ -815,6 +859,27 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this to Mark Read Inbox Messages For Ids in bulk
|
||||
*
|
||||
* @param messageIds {any} array of strings
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
markReadInboxMessagesForIds(messageIds: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this to dismiss Inbox
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
dismissInbox(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this to Mark Push Inbox Notification Viewed Event for Id
|
||||
*
|
||||
@@ -881,6 +946,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
|
||||
* Call this to Get Feature Flag for key
|
||||
*
|
||||
* @param key {string}
|
||||
@@ -893,6 +959,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
|
||||
* Call this to Set Defaults for Product Config
|
||||
*
|
||||
* @param defaults {any}
|
||||
@@ -904,6 +971,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
|
||||
* Call this for Product Config Fetch
|
||||
*
|
||||
* @param defaults {any}
|
||||
@@ -915,6 +983,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
|
||||
* Call this for Product Config Fetch with Min Interval
|
||||
*
|
||||
* @param timeInterval {number}
|
||||
@@ -926,6 +995,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
|
||||
* Call this for Product Config Activate
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
@@ -936,6 +1006,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
|
||||
* Call this for Product Config Fetch and Activate
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
@@ -946,6 +1017,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
|
||||
* Call this to set Product Config Fetch with Min Interval
|
||||
*
|
||||
* @param timeInterval {number}
|
||||
@@ -957,6 +1029,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
|
||||
* Call this to Get Last Fetch Time Interval
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
@@ -967,6 +1040,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
|
||||
* Call this to Get String
|
||||
*
|
||||
* @param key {string}
|
||||
@@ -978,6 +1052,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
|
||||
* Call this to Get Boolean
|
||||
*
|
||||
* @param key {string}
|
||||
@@ -989,6 +1064,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
|
||||
* Call this to Get Long
|
||||
*
|
||||
* @param key {string}
|
||||
@@ -1000,6 +1076,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
|
||||
* Call this to Get Double
|
||||
*
|
||||
* @param key {string}
|
||||
@@ -1011,6 +1088,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
|
||||
* Call this to Reset Product Config
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
@@ -1020,6 +1098,125 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/****************************
|
||||
* Product Experiences methods
|
||||
****************************/
|
||||
|
||||
/**
|
||||
*
|
||||
* Uploads variables to the server. Requires Development/Debug build/configuration.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
syncVariables(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Uploads variables to the server.
|
||||
* @param {boolean} isProduction Provide `true` if variables must be sync in Productuon build/configuration.
|
||||
* @returns {Promise<any>}
|
||||
*
|
||||
*
|
||||
* Note: This is NO-OP in Android
|
||||
*/
|
||||
@Cordova()
|
||||
syncVariablesinProd(isProduction: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Forces variables to update from the server.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
fetchVariables(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create variables.
|
||||
* @returns {Promise<any>}
|
||||
* @param {object} variables The JSON Object specifying the varibles to be created.
|
||||
*/
|
||||
@Cordova()
|
||||
defineVariables(variables: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a variable or a group for the specified name.
|
||||
* @param {string} name - name.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
getVariable(name: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all variables via a JSON object.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
getVariables(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a callback to be invoked when variables are initialised with server values. Will be called each time new values are fetched.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
onVariablesChanged(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the value of the variable changes.
|
||||
* @param {name} string the name of the variable
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
onValueChanged(name: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/****************************
|
||||
* Android 13 Push Primer
|
||||
****************************/
|
||||
|
||||
/**
|
||||
* Method to prompt the push primer for android 13 onwards.
|
||||
* @param {object} value - key-value belongs to the localInApp properties. Refer documentation for details.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
promptPushPrimer(localInAppObject: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to prompt the hard permission dialog directly, if the push primer is not required.
|
||||
* @param {string} showFallbackSettings - If the value is true then SDK shows an alert dialog which routes to app's notification settings page.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
promptForPushPermission(showFallbackSettings: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true/false based on whether push permission is granted or denied.
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
isPushPermissionGranted(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/*******************
|
||||
* Developer Options
|
||||
******************/
|
||||
|
||||
@@ -29,10 +29,11 @@ import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-pl
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'CloudSettings',
|
||||
plugin: 'cordova-plugin-cloud-settings',
|
||||
plugin: '@marysuon/cordova-plugin-cloud-settings',
|
||||
pluginRef: 'cordova.plugin.cloudsettings',
|
||||
repo: 'https://github.com/dpa99c/cordova-plugin-cloud-settings',
|
||||
install: 'ionic cordova plugin add cordova-plugin-cloud-settings --variable ANDROID_BACKUP_SERVICE_KEY=myapikey',
|
||||
install:
|
||||
'ionic cordova plugin add @marysuon/cordova-plugin-cloud-settings --variable ANDROID_BACKUP_SERVICE_KEY=myapikey',
|
||||
installVariables: ['ANDROID_BACKUP_SERVICE_KEY'],
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
|
||||
403
src/@awesome-cordova-plugins/plugins/contacts/index.ts
Normal file
403
src/@awesome-cordova-plugins/plugins/contacts/index.ts
Normal file
@@ -0,0 +1,403 @@
|
||||
import {
|
||||
CordovaCheck,
|
||||
CordovaInstance,
|
||||
InstanceCheck,
|
||||
InstanceProperty,
|
||||
AwesomeCordovaNativePlugin,
|
||||
Plugin,
|
||||
checkAvailability,
|
||||
getPromise,
|
||||
} from '@awesome-cordova-plugins/core';
|
||||
|
||||
declare const window: any, navigator: any;
|
||||
|
||||
export type ContactFieldType =
|
||||
| '*'
|
||||
| 'addresses'
|
||||
| 'birthday'
|
||||
| 'categories'
|
||||
| 'country'
|
||||
| 'department'
|
||||
| 'displayName'
|
||||
| 'emails'
|
||||
| 'name.familyName'
|
||||
| 'name.formatted'
|
||||
| 'name.givenName'
|
||||
| 'name.honorificPrefix'
|
||||
| 'name.honorificSuffix'
|
||||
| 'id'
|
||||
| 'ims'
|
||||
| 'locality'
|
||||
| 'name.middleName'
|
||||
| 'name'
|
||||
| 'nickname'
|
||||
| 'note'
|
||||
| 'organizations'
|
||||
| 'phoneNumbers'
|
||||
| 'photos'
|
||||
| 'postalCode'
|
||||
| 'region'
|
||||
| 'streetAddress'
|
||||
| 'title'
|
||||
| 'urls';
|
||||
|
||||
export interface IContactProperties {
|
||||
/** A globally unique identifier. */
|
||||
id?: string;
|
||||
|
||||
/** A globally unique identifier on Android. */
|
||||
rawId?: string;
|
||||
|
||||
/** The name of this Contact, suitable for display to end users. */
|
||||
displayName?: string;
|
||||
|
||||
/** An object containing all components of a persons name. */
|
||||
name?: IContactName;
|
||||
|
||||
/** A casual name by which to address the contact. */
|
||||
nickname?: string;
|
||||
|
||||
/** An array of all the contact's phone numbers. */
|
||||
phoneNumbers?: IContactField[];
|
||||
|
||||
/** An array of all the contact's email addresses. */
|
||||
emails?: IContactField[];
|
||||
|
||||
/** An array of all the contact's addresses. */
|
||||
addresses?: IContactAddress[];
|
||||
|
||||
/** An array of all the contact's IM addresses. */
|
||||
ims?: IContactField[];
|
||||
|
||||
/** An array of all the contact's organizations. */
|
||||
organizations?: IContactOrganization[];
|
||||
|
||||
/** The birthday of the contact. */
|
||||
birthday?: Date;
|
||||
|
||||
/** A note about the contact. */
|
||||
note?: string;
|
||||
|
||||
/** An array of the contact's photos. */
|
||||
photos?: IContactField[];
|
||||
|
||||
/** An array of all the user-defined categories associated with the contact. */
|
||||
categories?: IContactField[];
|
||||
|
||||
/** An array of web pages associated with the contact. */
|
||||
urls?: IContactField[];
|
||||
}
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
*/
|
||||
export class Contact implements IContactProperties {
|
||||
@InstanceProperty() id: string;
|
||||
@InstanceProperty() displayName: string;
|
||||
@InstanceProperty() name: IContactName;
|
||||
@InstanceProperty() nickname: string;
|
||||
@InstanceProperty() phoneNumbers: IContactField[];
|
||||
@InstanceProperty() emails: IContactField[];
|
||||
@InstanceProperty() addresses: IContactAddress[];
|
||||
@InstanceProperty() ims: IContactField[];
|
||||
@InstanceProperty() organizations: IContactOrganization[];
|
||||
@InstanceProperty() birthday: Date;
|
||||
@InstanceProperty() note: string;
|
||||
@InstanceProperty() photos: IContactField[];
|
||||
@InstanceProperty() categories: IContactField[];
|
||||
@InstanceProperty() urls: IContactField[];
|
||||
private _objectInstance: any;
|
||||
|
||||
[key: string]: any;
|
||||
|
||||
constructor() {
|
||||
if (checkAvailability('navigator.contacts', 'create', 'Contacts') === true) {
|
||||
this._objectInstance = navigator.contacts.create();
|
||||
}
|
||||
}
|
||||
|
||||
@InstanceCheck()
|
||||
clone(): Contact {
|
||||
const newContact: any = new Contact();
|
||||
for (const prop in this) {
|
||||
if (prop === 'id') return;
|
||||
newContact[prop] = this[prop];
|
||||
}
|
||||
return newContact;
|
||||
}
|
||||
|
||||
@CordovaInstance()
|
||||
remove(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@InstanceCheck()
|
||||
save(): Promise<any> {
|
||||
return getPromise((resolve: Function, reject: Function) => {
|
||||
this._objectInstance.save((contact: any) => {
|
||||
this._objectInstance = contact;
|
||||
resolve(this);
|
||||
}, reject);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
*/
|
||||
export interface IContactError {
|
||||
/** Error code */
|
||||
code: number;
|
||||
/** Error message */
|
||||
message: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
*/
|
||||
export declare const ContactError: {
|
||||
new (code: number): IContactError;
|
||||
UNKNOWN_ERROR: number;
|
||||
INVALID_ARGUMENT_ERROR: number;
|
||||
TIMEOUT_ERROR: number;
|
||||
PENDING_OPERATION_ERROR: number;
|
||||
IO_ERROR: number;
|
||||
NOT_SUPPORTED_ERROR: number;
|
||||
PERMISSION_DENIED_ERROR: number;
|
||||
};
|
||||
|
||||
export interface IContactName {
|
||||
/** The complete name of the contact. */
|
||||
formatted?: string;
|
||||
/** The contact's family name. */
|
||||
familyName?: string;
|
||||
/** The contact's given name. */
|
||||
givenName?: string;
|
||||
/** The contact's middle name. */
|
||||
middleName?: string;
|
||||
/** The contact's prefix (example Mr. or Dr.) */
|
||||
honorificPrefix?: string;
|
||||
/** The contact's suffix (example Esq.). */
|
||||
honorificSuffix?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
*/
|
||||
export class ContactName implements IContactName {
|
||||
constructor(
|
||||
public formatted?: string,
|
||||
public familyName?: string,
|
||||
public givenName?: string,
|
||||
public middleName?: string,
|
||||
public honorificPrefix?: string,
|
||||
public honorificSuffix?: string
|
||||
) {}
|
||||
}
|
||||
|
||||
export interface IContactField {
|
||||
/** A string that indicates what type of field this is, home for example. */
|
||||
type?: string;
|
||||
/** The value of the field, such as a phone number or email address. */
|
||||
value?: string;
|
||||
/** Set to true if this ContactField contains the user's preferred value. */
|
||||
pref?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
*/
|
||||
export class ContactField implements IContactField {
|
||||
constructor(public type?: string, public value?: string, public pref?: boolean) {}
|
||||
}
|
||||
|
||||
export interface IContactAddress {
|
||||
/** Set to true if this ContactAddress contains the user's preferred value. */
|
||||
pref?: boolean;
|
||||
/** A string indicating what type of field this is, home for example. */
|
||||
type?: string;
|
||||
/** The full address formatted for display. */
|
||||
formatted?: string;
|
||||
/** The full street address. */
|
||||
streetAddress?: string;
|
||||
/** The city or locality. */
|
||||
locality?: string;
|
||||
/** The state or region. */
|
||||
region?: string;
|
||||
/** The zip code or postal code. */
|
||||
postalCode?: string;
|
||||
/** The country name. */
|
||||
country?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
*/
|
||||
export class ContactAddress implements IContactAddress {
|
||||
constructor(
|
||||
public pref?: boolean,
|
||||
public type?: string,
|
||||
public formatted?: string,
|
||||
public streetAddress?: string,
|
||||
public locality?: string,
|
||||
public region?: string,
|
||||
public postalCode?: string,
|
||||
public country?: string
|
||||
) {}
|
||||
}
|
||||
|
||||
export interface IContactOrganization {
|
||||
/** Set to true if this ContactOrganization contains the user's preferred value. */
|
||||
pref?: boolean;
|
||||
/** A string that indicates what type of field this is, home for example. */
|
||||
type?: string;
|
||||
/** The name of the organization. */
|
||||
name?: string;
|
||||
/** The department the contract works for. */
|
||||
department?: string;
|
||||
/** The contact's title at the organization. */
|
||||
title?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
*/
|
||||
export class ContactOrganization implements IContactOrganization {
|
||||
constructor(
|
||||
public type?: string,
|
||||
public name?: string,
|
||||
public department?: string,
|
||||
public title?: string,
|
||||
public pref?: boolean
|
||||
) {}
|
||||
}
|
||||
|
||||
/** Search options to filter navigator.contacts. */
|
||||
export interface IContactFindOptions {
|
||||
/** The search string used to find navigator.contacts. */
|
||||
filter?: string;
|
||||
/** Determines if the find operation returns multiple navigator.contacts. Defaults to false. */
|
||||
multiple?: boolean;
|
||||
/** Contact fields to be returned back. If specified, the resulting Contact object only features values for these fields. */
|
||||
desiredFields?: string[];
|
||||
/**
|
||||
* (Android only): Filters the search to only return contacts with a phone number informed.
|
||||
*/
|
||||
hasPhoneNumber?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
*/
|
||||
export class ContactFindOptions implements IContactFindOptions {
|
||||
constructor(
|
||||
public filter?: string,
|
||||
public multiple?: boolean,
|
||||
public desiredFields?: string[],
|
||||
public hasPhoneNumber?: boolean
|
||||
) {}
|
||||
}
|
||||
|
||||
/**
|
||||
* @name Contacts
|
||||
* @premier contacts
|
||||
* @description
|
||||
* Access and manage Contacts on the device.
|
||||
*
|
||||
* @usage
|
||||
*
|
||||
* ```typescript
|
||||
* import { Contacts, Contact, ContactField, ContactName } from '@ionic-native/contacts/ngx';
|
||||
*
|
||||
* constructor(private contacts: Contacts) { }
|
||||
*
|
||||
* let contact: Contact = this.contacts.create();
|
||||
*
|
||||
* contact.name = new ContactName(null, 'Smith', 'John');
|
||||
* contact.phoneNumbers = [new ContactField('mobile', '6471234567')];
|
||||
* contact.save().then(
|
||||
* () => console.log('Contact saved!', contact),
|
||||
* (error: any) => console.error('Error saving contact.', error)
|
||||
* );
|
||||
*
|
||||
* ```
|
||||
* @classes
|
||||
* Contact
|
||||
* @interfaces
|
||||
* IContactProperties
|
||||
* IContactError
|
||||
* IContactName
|
||||
* IContactField
|
||||
* IContactAddress
|
||||
* IContactOrganization
|
||||
* IContactFindOptions
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'Contacts',
|
||||
plugin: 'cordova-plugin-contacts',
|
||||
pluginRef: 'navigator.contacts',
|
||||
repo: 'https://github.com/herdwatch-apps/cordova-plugin-contacts',
|
||||
platforms: [
|
||||
'Android',
|
||||
'BlackBerry 10',
|
||||
'Browser',
|
||||
'Firefox OS',
|
||||
'iOS',
|
||||
'Ubuntu',
|
||||
'Windows',
|
||||
'Windows 8',
|
||||
'Windows Phone',
|
||||
],
|
||||
})
|
||||
export class Contacts extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Create a single contact.
|
||||
* @returns {Contact} Returns a Contact object
|
||||
*/
|
||||
create(): Contact {
|
||||
return new Contact();
|
||||
}
|
||||
|
||||
/**
|
||||
* Search for contacts in the Contacts list.
|
||||
* @param {ContactFieldType[]} fields Contact fields to be used as a search qualifier
|
||||
* @param {IContactFindOptions} [options] Optional options for the query
|
||||
* @returns {Promise<Contact[]>} Returns a Promise that resolves with the search results (an array of Contact objects)
|
||||
*/
|
||||
@CordovaCheck()
|
||||
find(fields: ContactFieldType[], options?: IContactFindOptions): Promise<Contact[]> {
|
||||
return getPromise((resolve: Function, reject: Function) => {
|
||||
navigator.contacts.find(
|
||||
fields,
|
||||
(contacts: any[]) => {
|
||||
resolve(contacts.map(processContact));
|
||||
},
|
||||
reject,
|
||||
options
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Select a single Contact.
|
||||
* @returns {Promise<Contact>} Returns a Promise that resolves with the selected Contact
|
||||
*/
|
||||
@CordovaCheck()
|
||||
pickContact(): Promise<Contact> {
|
||||
return getPromise((resolve: Function, reject: Function) => {
|
||||
navigator.contacts.pickContact((contact: any) => resolve(processContact(contact)), reject);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
*/
|
||||
function processContact(contact: any) {
|
||||
const newContact = new Contact();
|
||||
for (const prop in contact) {
|
||||
if (typeof contact[prop] === 'function') continue;
|
||||
newContact[prop] = contact[prop];
|
||||
}
|
||||
return newContact;
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
export interface CropOption {
|
||||
/** The resulting JPEG quality (ignored on Android). default: 100 */
|
||||
quality?: number;
|
||||
|
||||
/** The resulting JPEG picture width. default: -1 */
|
||||
targetWidth?: number;
|
||||
|
||||
/** The resulting JPEG picture height. default: -1 */
|
||||
targetHeight?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name Crop Plugin Privacy
|
||||
* @description
|
||||
* This plugin does something
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { CropPluginPrivacy } from '@awesome-cordova-plugins/crop-plugin-privacy/ngx';
|
||||
*
|
||||
*
|
||||
* constructor(private cropPluginPrivacy: CropPluginPrivacy) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* this.cropPluginPrivacy.functionName('/path/to/image', { quality: 100, targetWidth: 1, targetHeight: 1 })
|
||||
* .then((res: any) => console.log(res))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'CropPluginPrivacy',
|
||||
plugin: 'cordova-plugin-crop-privacy',
|
||||
pluginRef: 'crop',
|
||||
repo: 'https://github.com/BaraAksayeth25/cordova-plugin-crop-privacy',
|
||||
platforms: ['Android']
|
||||
})
|
||||
@Injectable()
|
||||
export class CropPluginPrivacy extends AwesomeCordovaNativePlugin {
|
||||
|
||||
/**
|
||||
* This function does something
|
||||
* @param arg1 {string} path destination
|
||||
* @param arg2 {object} Cropping configuration
|
||||
* @return {Promise<any>} return the file path
|
||||
*/
|
||||
@Cordova()
|
||||
cropImage(arg1: string, arg2: CropOption): Promise<any> {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
}
|
||||
@@ -62,4 +62,12 @@ export class Device extends AwesomeCordovaNativePlugin {
|
||||
/** Get the device hardware serial number. */
|
||||
@CordovaProperty()
|
||||
serial: string;
|
||||
|
||||
/** Get the Android device's SDK version. (Android-only) */
|
||||
@CordovaProperty()
|
||||
sdkVersion?: string;
|
||||
|
||||
/** Detect if app is running on a macOS desktop with Apple Silicon. */
|
||||
@CordovaProperty()
|
||||
isiOSAppOnMac: string;
|
||||
}
|
||||
|
||||
@@ -42,30 +42,46 @@ import { Cordova, CordovaProperty, AwesomeCordovaNativePlugin, Plugin } from '@a
|
||||
@Injectable()
|
||||
export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
permission = {
|
||||
READ_CALENDAR: 'READ_CALENDAR',
|
||||
WRITE_CALENDAR: 'WRITE_CALENDAR',
|
||||
CAMERA: 'CAMERA',
|
||||
READ_CONTACTS: 'READ_CONTACTS',
|
||||
WRITE_CONTACTS: 'WRITE_CONTACTS',
|
||||
GET_ACCOUNTS: 'GET_ACCOUNTS',
|
||||
ACCESS_FINE_LOCATION: 'ACCESS_FINE_LOCATION',
|
||||
ACCEPT_HANDOVER: 'ACCEPT_HANDOVER',
|
||||
ACCESS_BACKGROUND_LOCATION: 'ACCESS_BACKGROUND_LOCATION',
|
||||
ACCESS_COARSE_LOCATION: 'ACCESS_COARSE_LOCATION',
|
||||
RECORD_AUDIO: 'RECORD_AUDIO',
|
||||
READ_PHONE_STATE: 'READ_PHONE_STATE',
|
||||
CALL_PHONE: 'CALL_PHONE',
|
||||
ACCESS_FINE_LOCATION: 'ACCESS_FINE_LOCATION',
|
||||
ACCESS_MEDIA_LOCATION: 'ACCESS_MEDIA_LOCATION',
|
||||
ACTIVITY_RECOGNITION: 'ACTIVITY_RECOGNITION',
|
||||
ADD_VOICEMAIL: 'ADD_VOICEMAIL',
|
||||
USE_SIP: 'USE_SIP',
|
||||
PROCESS_OUTGOING_CALLS: 'PROCESS_OUTGOING_CALLS',
|
||||
READ_CALL_LOG: 'READ_CALL_LOG',
|
||||
WRITE_CALL_LOG: 'WRITE_CALL_LOG',
|
||||
SEND_SMS: 'SEND_SMS',
|
||||
RECEIVE_SMS: 'RECEIVE_SMS',
|
||||
READ_SMS: 'READ_SMS',
|
||||
RECEIVE_WAP_PUSH: 'RECEIVE_WAP_PUSH',
|
||||
RECEIVE_MMS: 'RECEIVE_MMS',
|
||||
WRITE_EXTERNAL_STORAGE: 'WRITE_EXTERNAL_STORAGE',
|
||||
READ_EXTERNAL_STORAGE: 'READ_EXTERNAL_STORAGE',
|
||||
ANSWER_PHONE_CALLS: 'ANSWER_PHONE_CALLS',
|
||||
BLUETOOTH_ADVERTISE: 'BLUETOOTH_ADVERTISE',
|
||||
BLUETOOTH_CONNECT: 'BLUETOOTH_CONNECT',
|
||||
BLUETOOTH_SCAN: 'BLUETOOTH_SCAN',
|
||||
BODY_SENSORS: 'BODY_SENSORS',
|
||||
BODY_SENSORS_BACKGROUND: 'BODY_SENSORS_BACKGROUND',
|
||||
CALL_PHONE: 'CALL_PHONE',
|
||||
CAMERA: 'CAMERA',
|
||||
GET_ACCOUNTS: 'GET_ACCOUNTS',
|
||||
NEARBY_WIFI_DEVICES: 'NEARBY_WIFI_DEVICES',
|
||||
POST_NOTIFICATIONS: 'POST_NOTIFICATIONS',
|
||||
PROCESS_OUTGOING_CALLS: 'PROCESS_OUTGOING_CALLS',
|
||||
READ_CALENDAR: 'READ_CALENDAR',
|
||||
READ_CALL_LOG: 'READ_CALL_LOG',
|
||||
READ_CONTACTS: 'READ_CONTACTS',
|
||||
READ_EXTERNAL_STORAGE: 'READ_EXTERNAL_STORAGE',
|
||||
READ_MEDIA_AUDIO: 'READ_MEDIA_AUDIO',
|
||||
READ_MEDIA_IMAGES: 'READ_MEDIA_IMAGES',
|
||||
READ_MEDIA_VIDEO: 'READ_MEDIA_VIDEO',
|
||||
READ_PHONE_NUMBERS: 'READ_PHONE_NUMBERS',
|
||||
READ_PHONE_STATE: 'READ_PHONE_STATE',
|
||||
READ_SMS: 'READ_SMS',
|
||||
RECEIVE_MMS: 'RECEIVE_MMS',
|
||||
RECEIVE_SMS: 'RECEIVE_SMS',
|
||||
RECEIVE_WAP_PUSH: 'RECEIVE_WAP_PUSH',
|
||||
RECORD_AUDIO: 'RECORD_AUDIO',
|
||||
SEND_SMS: 'SEND_SMS',
|
||||
USE_SIP: 'USE_SIP',
|
||||
UWB_RANGING: 'UWB_RANGING',
|
||||
WRITE_CALENDAR: 'WRITE_CALENDAR',
|
||||
WRITE_CALL_LOG: 'WRITE_CALL_LOG',
|
||||
WRITE_CONTACTS: 'WRITE_CONTACTS',
|
||||
WRITE_EXTERNAL_STORAGE: 'WRITE_EXTERNAL_STORAGE',
|
||||
};
|
||||
|
||||
@CordovaProperty()
|
||||
@@ -80,6 +96,9 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
DENIED_ALWAYS: string;
|
||||
RESTRICTED: string;
|
||||
GRANTED_WHEN_IN_USE: string;
|
||||
EPHEMERAL: string;
|
||||
PROVISIONAL: string;
|
||||
LIMITED: string;
|
||||
};
|
||||
|
||||
locationAuthorizationMode = {
|
||||
@@ -88,12 +107,11 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
};
|
||||
|
||||
/**
|
||||
* iOS ONLY
|
||||
* Location accuracy authorization
|
||||
*/
|
||||
locationAccuracyAuthorization: {
|
||||
FULL: 'full';
|
||||
REDUCED: 'reduced';
|
||||
locationAccuracyAuthorization = {
|
||||
FULL: 'full',
|
||||
REDUCED: 'reduced',
|
||||
};
|
||||
|
||||
permissionGroups = {
|
||||
@@ -114,6 +132,7 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
SENSORS: ['BODY_SENSORS'],
|
||||
SMS: ['SEND_SMS', 'RECEIVE_SMS', 'READ_SMS', 'RECEIVE_WAP_PUSH', 'RECEIVE_MMS'],
|
||||
STORAGE: ['READ_EXTERNAL_STORAGE', 'WRITE_EXTERNAL_STORAGE'],
|
||||
NEARBY_DEVICES: ["BLUETOOTH_ADVERTISE", "BLUETOOTH_SCAN", "BLUETOOTH_CONNECT"],
|
||||
};
|
||||
|
||||
locationMode = {
|
||||
@@ -143,6 +162,25 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
POWERING_OFF: string;
|
||||
};
|
||||
|
||||
@CordovaProperty()
|
||||
cpuArchitecture: {
|
||||
MIPS: string;
|
||||
MIPS_64: string;
|
||||
UNKNOWN: string;
|
||||
ARMv6: string;
|
||||
ARMv7: string;
|
||||
ARMv8: string;
|
||||
X86: string;
|
||||
X86_64: string;
|
||||
};
|
||||
|
||||
@CordovaProperty()
|
||||
remoteNotificationType: {
|
||||
ALERT: string;
|
||||
SOUND: string;
|
||||
BADGE: string;
|
||||
};
|
||||
|
||||
@CordovaProperty()
|
||||
motionStatus: {
|
||||
NOT_REQUESTED: string;
|
||||
@@ -154,6 +192,18 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
UNKNOWN: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Access to the photo library (iOS 14+)
|
||||
*
|
||||
* ADD_ONLY - can add to but not read from Photo Library
|
||||
* READ_WRITE - can both add to and read from Photo Library
|
||||
*
|
||||
*/
|
||||
photoLibraryAccessLevel = {
|
||||
ADD_ONLY: 'add_only',
|
||||
READ_WRITE: 'read_write',
|
||||
};
|
||||
|
||||
/**
|
||||
* Checks if app is able to access device location.
|
||||
*
|
||||
@@ -257,8 +307,18 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// ANDROID AND IOS ONLY
|
||||
|
||||
/**
|
||||
* Enables debug mode, which logs native plugin debug messages to the native and JS consoles.
|
||||
* Debug mode is initially disabled on plugin initialisation.
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
enableDebug(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the device setting for location is on. On Android this returns true if Location Mode is switched on. On iOS this returns true if Location Services is switched on.
|
||||
*
|
||||
@@ -290,15 +350,27 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the individual location authorization status for each type of location access (FINE, COARSE and BACKGROUND).
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
getLocationAuthorizationStatuses(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the location authorization status for the application.
|
||||
* Note for Android: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
|
||||
*
|
||||
* @param {string} [mode] iOS only: location authorization mode: "always" or "when_in_use". If not specified, defaults to "when_in_use".
|
||||
* @param {string} [mode] location authorization mode: "always" or "when_in_use". If not specified, defaults to "when_in_use". (this.locationAuthorizationMode)
|
||||
* @param {string} [accuracy] requested location accuracy: "full" or "reduced". If not specified, defaults to "full". (this.locationAccuracyAuthorization)
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'], callbackOrder: 'reverse' })
|
||||
requestLocationAuthorization(mode?: string): Promise<any> {
|
||||
requestLocationAuthorization(mode?: string, accuracy?: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -498,8 +570,42 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
@Cordova({ platforms: ['Android', 'iOS'], sync: true })
|
||||
registerLocationStateChangeHandler(handler: Function): void {}
|
||||
|
||||
/**
|
||||
* Returns CPU architecture of the current device.
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
getArchitecture(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current battery level of the device as a percentage.
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
getCurrentBatteryLevel(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
// ANDROID ONLY
|
||||
|
||||
/**
|
||||
* Restarts the application.
|
||||
* By default, a "warm" restart will be performed in which the main Cordova activity is immediately restarted, causing the Webview instance to be recreated.
|
||||
* However, if the `cold` parameter is set to true, then the application will be "cold" restarted, meaning a system exit will be performed, causing the entire application to be restarted.
|
||||
* This is useful if you want to fully reset the native application state but will cause the application to briefly disappear and re-appear..
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'], callbackOrder: 'reverse' })
|
||||
restart(cold: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks if high-accuracy locations are available to the app from GPS hardware.
|
||||
* Returns true if Location mode is enabled and is set to "Device only" or "High accuracy" AND if the app is authorized to use location.
|
||||
@@ -548,6 +654,26 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if airplane mode is enabled on device.
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isAirplaneModeEnabled(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if mobile data is enabled on device.
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isMobileDataEnabled(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current location mode setting for the device.
|
||||
*
|
||||
@@ -558,6 +684,26 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns details of the OS of the device on which the app is currently running
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
getDeviceOSVersion(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns details of the SDK levels used to build the app.
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
getBuildOSVersion(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current authorization status for a given permission.
|
||||
* Note: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
|
||||
@@ -671,6 +817,27 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Bluetooth authorization status of the application on the device.
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
getBluetoothAuthorizationStatus(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the individual authorization status for each Bluetooth run-time permission on Android 12+ / API 31+
|
||||
* On Android 11 / API 30 and below, all will be returned as GRANTED if the manifest has BLUETOOTH since they are implicitly granted at build-time.
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
getBluetoothAuthorizationStatuses(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the application is authorized to use external storage.
|
||||
*
|
||||
@@ -814,20 +981,34 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Checks if the application is authorized to use the Camera Roll in Photos app.
|
||||
*
|
||||
* @param accessLevel - (optional) On iOS 14+, specifies the level of access to the photo library to query as a constant in cordova.plugins.diagnostic.photoLibraryAccessLevel`
|
||||
* Possible values are:
|
||||
* ADD_ONLY - can add to but not read from Photo Library
|
||||
* READ_WRITE - can both add to and read from Photo Library
|
||||
* Defaults to ADD_ONLY if not specified
|
||||
* Has no effect on iOS 13 or below
|
||||
*
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
isCameraRollAuthorized(): Promise<boolean> {
|
||||
@Cordova({ platforms: ['iOS'], callbackOrder: 'reverse' })
|
||||
isCameraRollAuthorized(accessLevel?: string): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the authorization status for the application to use the Camera Roll in Photos app.
|
||||
*
|
||||
* @param accessLevel - (optional) On iOS 14+, specifies the level of access to the photo library to query as a constant in cordova.plugins.diagnostic.photoLibraryAccessLevel`
|
||||
* Possible values are:
|
||||
* ADD_ONLY - can add to but not read from Photo Library
|
||||
* READ_WRITE - can both add to and read from Photo Library
|
||||
* Defaults to ADD_ONLY if not specified
|
||||
* Has no effect on iOS 13 or below
|
||||
*
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
getCameraRollAuthorizationStatus(): Promise<string> {
|
||||
@Cordova({ platforms: ['iOS'], callbackOrder: 'reverse' })
|
||||
getCameraRollAuthorizationStatus(accessLevel?: string): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -836,10 +1017,27 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
* Should only be called if authorization status is NOT_REQUESTED.
|
||||
* Calling it when in any other state will have no effect.
|
||||
*
|
||||
* @param accessLevel - (optional) On iOS 14+, specifies the level of access to the photo library to query as a constant in cordova.plugins.diagnostic.photoLibraryAccessLevel`
|
||||
* Possible values are:
|
||||
* ADD_ONLY - can add to but not read from Photo Library
|
||||
* READ_WRITE - can both add to and read from Photo Library
|
||||
* Defaults to ADD_ONLY if not specified
|
||||
* Has no effect on iOS 13 or below
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'], callbackOrder: 'reverse' })
|
||||
requestCameraRollAuthorization(accessLevel?: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Presents limited library picker UI on iOS 14+
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
requestCameraRollAuthorization(): Promise<any> {
|
||||
presentLimitedLibraryPicker(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1006,13 +1204,13 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the location accuracy authorization for the application on iOS 14+. Note: calling on iOS <14 will result in the Promise being rejected.
|
||||
* Returns the location accuracy authorization for the application on iOS 14+ and Android 12+. Note: calling on iOS <14 or Android <12 will always return cordova.plugins.diagnostic.locationAccuracyAuthorization.FULL
|
||||
*
|
||||
* Learn more about this method [here](https://github.com/dpa99c/cordova-diagnostic-plugin#getlocationaccuracyauthorization)
|
||||
*
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
@Cordova({ platform: ['iOS'] })
|
||||
@Cordova({ platforms: ['iOS', 'Android'] })
|
||||
getLocationAccuracyAuthorization(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ export interface DocumentScannerOptions {
|
||||
* This plugin processes images of documents, compensating for perspective.
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { DocumentScanner, DocumentScannerOptions } from '@awesome-cordova-plugins/document-scanner';
|
||||
* import { DocumentScanner, DocumentScannerOptions } from '@awesome-cordova-plugins/document-scanner/ngx';
|
||||
*
|
||||
*
|
||||
* constructor(private documentScanner: DocumentScanner) { }
|
||||
|
||||
@@ -9,15 +9,28 @@ import {
|
||||
} from '@awesome-cordova-plugins/core';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
/**
|
||||
* dceLicense: License of Dynamsoft Camera Enhancer
|
||||
* resolution: use EnumResolution
|
||||
* rotate: convert frame to bitmap and rotate it
|
||||
*/
|
||||
export interface ScanOptions {
|
||||
dceLicense?: string;
|
||||
resolution?: number;
|
||||
rotate?: boolean;
|
||||
}
|
||||
|
||||
export interface FrameResult {
|
||||
frameWidth: number;
|
||||
frameHeight: number;
|
||||
frameRotation: number;
|
||||
results: BarcodeResult[];
|
||||
}
|
||||
|
||||
export interface BarcodeResult {
|
||||
barcodeText: string;
|
||||
barcodeFormat: string;
|
||||
barcodeBytesBase64?: string;
|
||||
x1: number;
|
||||
x2: number;
|
||||
x3: number;
|
||||
@@ -28,6 +41,15 @@ export interface BarcodeResult {
|
||||
y4: number;
|
||||
}
|
||||
|
||||
export enum EnumResolution {
|
||||
RESOLUTION_AUTO = 0,
|
||||
RESOLUTION_480P = 1,
|
||||
RESOLUTION_720P = 2,
|
||||
RESOLUTION_1080P = 3,
|
||||
RESOLUTION_2K = 4,
|
||||
RESOLUTION_4K = 5,
|
||||
}
|
||||
|
||||
/**
|
||||
* @name dynamsoft-barcode-scanner
|
||||
* @description
|
||||
@@ -107,7 +129,7 @@ export class BarcodeScanner extends AwesomeCordovaNativePlugin {
|
||||
|
||||
/**
|
||||
* start the camera to scan barcodes
|
||||
* @param dceLicense {string} License of Dynamsoft Camera Enhancer
|
||||
* @param options {ScanOptions}
|
||||
* @return {Observable<FrameResult>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -115,7 +137,7 @@ export class BarcodeScanner extends AwesomeCordovaNativePlugin {
|
||||
errorIndex: 2,
|
||||
observable: true,
|
||||
})
|
||||
startScanning(dceLicense?: string): Observable<FrameResult> {
|
||||
startScanning(options?: ScanOptions): Observable<FrameResult> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -164,4 +186,24 @@ export class BarcodeScanner extends AwesomeCordovaNativePlugin {
|
||||
switchTorch(desiredStatus: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* set zoom
|
||||
* @param factor {number} zoom factor
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova({ successIndex: 1, errorIndex: 2 })
|
||||
setZoom(factor: number): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* set focus
|
||||
* @param point focus point
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova({ successIndex: 1, errorIndex: 2 })
|
||||
setFocus(point: { x: number; y: number }): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ export interface FacebookLoginResponse {
|
||||
* At this point you'll need to open your project's [`config.xml`](https://cordova.apache.org/docs/en/latest/config_ref/index.html) file, found in the root directory of your project.
|
||||
*
|
||||
* Take note of the `id` for the next step:
|
||||
* ```
|
||||
* ```xml
|
||||
* <widget id="com.mycompany.testapp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||
* ```
|
||||
*
|
||||
|
||||
484
src/@awesome-cordova-plugins/plugins/fbsdk/index.ts
Normal file
484
src/@awesome-cordova-plugins/plugins/fbsdk/index.ts
Normal file
@@ -0,0 +1,484 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
export interface FbSdkLoginResponse {
|
||||
status: string;
|
||||
|
||||
authResponse: {
|
||||
accessToken: string;
|
||||
|
||||
data_access_expiration_time: string;
|
||||
|
||||
expiresIn: number;
|
||||
|
||||
userID: string;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @name FbSdk
|
||||
* @description
|
||||
* Use the Facebook SDK plugin to obtain access to the native FB application on iOS and Android.
|
||||
*
|
||||
* Requires Cordova plugin: `cordova-plugin-fbsdk`. For more info, please see the [Facebook SDK](https://github.com/MaximBelov/cordova-plugin-fbsdk).
|
||||
*
|
||||
* #### Installation
|
||||
*
|
||||
* To use the FB plugin, you first have to create a new Facebook App inside of the Facebook developer portal at [https://developers.facebook.com/apps](https://developers.facebook.com/apps).
|
||||
*
|
||||
* [](https://developers.facebook.com/apps/)
|
||||
*
|
||||
* Retrieve the `App ID` and `App Name`.
|
||||
*
|
||||
* [](https://developers.facebook.com/apps/)
|
||||
*
|
||||
* Then type in the following command in your Terminal, where APP_ID and APP_NAME are the values from the Facebook Developer portal.
|
||||
*
|
||||
* ```bash
|
||||
* ionic cordova plugin add cordova-plugin-fbsdk --variable APP_ID="123456789" --variable APP_NAME="myApplication" --variable CLIENT_TOKEN="abcd1234"
|
||||
* ```
|
||||
*
|
||||
* After, you'll need to add the native platforms you'll be using to your app in the Facebook Developer portal under your app's Settings:
|
||||
*
|
||||
* [](https://developers.facebook.com/apps/)
|
||||
*
|
||||
* Click `'Add Platform'`.
|
||||
*
|
||||
* [](https://developers.facebook.com/apps/)
|
||||
*
|
||||
* At this point you'll need to open your project's [`config.xml`](https://cordova.apache.org/docs/en/latest/config_ref/index.html) file, found in the root directory of your project.
|
||||
*
|
||||
* Take note of the `id` for the next step:
|
||||
* ```
|
||||
* <widget id="com.mycompany.testapp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||
* ```
|
||||
*
|
||||
* You can also edit the `id` to whatever you'd like it to be.
|
||||
*
|
||||
* #### Client Access Tokens
|
||||
*
|
||||
* [](https://developers.facebook.com/docs/facebook-login/guides/access-tokens#clienttokens)
|
||||
*
|
||||
*
|
||||
* #### iOS Install
|
||||
* Under 'Bundle ID', add the `id` from your `config.xml` file:
|
||||
*
|
||||
* [](https://developers.facebook.com/apps/)
|
||||
*
|
||||
*
|
||||
* #### Android Install
|
||||
* Under 'Google Play Package Name', add the `id` from your `config.xml` file:
|
||||
*
|
||||
* [](https://developers.facebook.com/apps/)
|
||||
*
|
||||
*
|
||||
* And that's it! You can now make calls to Facebook using the plugin.
|
||||
*
|
||||
* ## Events
|
||||
*
|
||||
* App events allow you to understand the makeup of users engaging with your app, measure the performance of your Facebook mobile app ads, and reach specific sets of your users with Facebook mobile app ads.
|
||||
*
|
||||
* - [iOS] [https://developers.facebook.com/docs/ios/app-events](https://developers.facebook.com/docs/ios/app-events)
|
||||
* - [Android] [https://developers.facebook.com/docs/android/app-events](https://developers.facebook.com/docs/android/app-events)
|
||||
* - [JS] Does not have an Events API, so the plugin functions are empty and will return an automatic success
|
||||
*
|
||||
* Activation events are automatically tracked for you in the plugin.
|
||||
*
|
||||
* Events are listed on the [insights page](https://www.facebook.com/insights/).
|
||||
*
|
||||
* For tracking events, see `logEvent` and `logPurchase`.
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { FbSdk, FbSdkLoginResponse } from '@awesome-cordova-plugins/fbsdk/ngx';
|
||||
*
|
||||
* constructor(private fbSdk: FbSdk) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
* this.fbSdk.login(['public_profile', 'user_friends', 'email'])
|
||||
* .then((res: FbSdkLoginResponse) => console.log('Logged into Facebook!', res))
|
||||
* .catch(e => console.log('Error logging into Facebook', e));
|
||||
*
|
||||
*
|
||||
* this.fb.logEvent(this.fb.EVENTS.EVENT_NAME_ADDED_TO_CART);
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'Facebook',
|
||||
plugin: 'cordova-plugin-fbsdk',
|
||||
pluginRef: 'facebookConnectPlugin',
|
||||
repo: 'https://github.com/MaximBelov/cordova-plugin-fbsdk',
|
||||
install:
|
||||
'ionic cordova plugin add cordova-plugin-fbsdk --variable APP_ID="123456789" --variable APP_NAME="myApplication" --variable CLIENT_TOKEN="abcd1234"',
|
||||
installVariables: ['APP_ID', 'APP_NAME', 'CLIENT_TOKEN'],
|
||||
platforms: ['Android', 'iOS', 'Browser'],
|
||||
})
|
||||
@Injectable()
|
||||
export class FbSdk extends AwesomeCordovaNativePlugin {
|
||||
EVENTS = {
|
||||
EVENT_NAME_ACTIVATED_APP: 'fb_mobile_activate_app',
|
||||
EVENT_NAME_DEACTIVATED_APP: 'fb_mobile_deactivate_app',
|
||||
EVENT_NAME_SESSION_INTERRUPTIONS: 'fb_mobile_app_interruptions',
|
||||
EVENT_NAME_TIME_BETWEEN_SESSIONS: 'fb_mobile_time_between_sessions',
|
||||
EVENT_NAME_COMPLETED_REGISTRATION: 'fb_mobile_complete_registration',
|
||||
EVENT_NAME_VIEWED_CONTENT: 'fb_mobile_content_view',
|
||||
EVENT_NAME_SEARCHED: 'fb_mobile_search',
|
||||
EVENT_NAME_RATED: 'fb_mobile_rate',
|
||||
EVENT_NAME_COMPLETED_TUTORIAL: 'fb_mobile_tutorial_completion',
|
||||
EVENT_NAME_PUSH_TOKEN_OBTAINED: 'fb_mobile_obtain_push_token',
|
||||
EVENT_NAME_ADDED_TO_CART: 'fb_mobile_add_to_cart',
|
||||
EVENT_NAME_ADDED_TO_WISHLIST: 'fb_mobile_add_to_wishlist',
|
||||
EVENT_NAME_INITIATED_CHECKOUT: 'fb_mobile_initiated_checkout',
|
||||
EVENT_NAME_ADDED_PAYMENT_INFO: 'fb_mobile_add_payment_info',
|
||||
EVENT_NAME_PURCHASED: 'fb_mobile_purchase',
|
||||
EVENT_NAME_ACHIEVED_LEVEL: 'fb_mobile_level_achieved',
|
||||
EVENT_NAME_UNLOCKED_ACHIEVEMENT: 'fb_mobile_achievement_unlocked',
|
||||
EVENT_NAME_SPENT_CREDITS: 'fb_mobile_spent_credits',
|
||||
EVENT_PARAM_CURRENCY: 'fb_currency',
|
||||
EVENT_PARAM_REGISTRATION_METHOD: 'fb_registration_method',
|
||||
EVENT_PARAM_CONTENT_TYPE: 'fb_content_type',
|
||||
EVENT_PARAM_CONTENT_ID: 'fb_content_id',
|
||||
EVENT_PARAM_SEARCH_STRING: 'fb_search_string',
|
||||
EVENT_PARAM_SUCCESS: 'fb_success',
|
||||
EVENT_PARAM_MAX_RATING_VALUE: 'fb_max_rating_value',
|
||||
EVENT_PARAM_PAYMENT_INFO_AVAILABLE: 'fb_payment_info_available',
|
||||
EVENT_PARAM_NUM_ITEMS: 'fb_num_items',
|
||||
EVENT_PARAM_LEVEL: 'fb_level',
|
||||
EVENT_PARAM_DESCRIPTION: 'fb_description',
|
||||
EVENT_PARAM_SOURCE_APPLICATION: 'fb_mobile_launch_source',
|
||||
EVENT_PARAM_VALUE_YES: '1',
|
||||
EVENT_PARAM_VALUE_NO: '0',
|
||||
};
|
||||
|
||||
/**
|
||||
* Get the current application ID
|
||||
*
|
||||
* @returns {Promise<string>} Returns a Promise that resolves with the current application ID
|
||||
*/
|
||||
@Cordova()
|
||||
getApplicationId(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the application ID
|
||||
*
|
||||
* @param {string} id application ID
|
||||
*/
|
||||
@Cordova()
|
||||
setApplicationId(id: string): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current application name
|
||||
*
|
||||
* @returns {Promise<string>} Returns a Promise that resolves with the current application name
|
||||
*/
|
||||
@Cordova()
|
||||
getApplicationName(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the application name
|
||||
*
|
||||
* @param {string} name application name
|
||||
*/
|
||||
@Cordova()
|
||||
setApplicationName(name: string): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Login to Facebook to authenticate this app.
|
||||
*
|
||||
* ```typescript
|
||||
* {
|
||||
* status: 'connected',
|
||||
* authResponse: {
|
||||
* accessToken: 'kgkh3g42kh4g23kh4g2kh34g2kg4k2h4gkh3g4k2h4gk23h4gk2h34gk234gk2h34AndSoOn',
|
||||
* data_access_expiration_time: '1623680244',
|
||||
* expiresIn: 5183979,
|
||||
* userID: '634565435'
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* ```
|
||||
*
|
||||
* @param {string[]} permissions List of [permissions](https://developers.facebook.com/docs/facebook-login/permissions) this app has upon logging in.
|
||||
* @returns {Promise<FbSdkLoginResponse>} Returns a Promise that resolves with a status object if login succeeds, and rejects if login fails.
|
||||
*/
|
||||
@Cordova()
|
||||
login(permissions: string[]): Promise<FbSdkLoginResponse> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Login to Facebook using Limited Login (iOS Only)
|
||||
*
|
||||
* ```typescript
|
||||
* {
|
||||
* status: 'connected',
|
||||
* authResponse: {
|
||||
* authenticationToken: 'kgkh3g42kh4g23kh4g2kh34g2kg4k2h4gkh3g4k2h4gk23h4gk2h34gk234gk2h34AndSoOn',
|
||||
* nonce: 'foo',
|
||||
* userID: '634565435'
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* ```
|
||||
*
|
||||
* @param {string[]} permissions List of [permissions](https://developers.facebook.com/docs/facebook-login/limited-login/permissions) this app has upon logging in.
|
||||
* @returns {Promise<FbSdkLoginResponse>} Returns a Promise that resolves with a status object if login succeeds, and rejects if login fails.
|
||||
*/
|
||||
@Cordova()
|
||||
loginWithLimitedTracking(permissions: string[]): Promise<FbSdkLoginResponse> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the user has approved all necessary permissions
|
||||
*
|
||||
* @param {string[]} permissions List of [permissions](https://developers.facebook.com/docs/facebook-login/permissions) to check for
|
||||
* @returns {Promise<string>} Returns a Promise that resolves with a success string if all passed permissions are granted, or an error string if any permissions are not granted
|
||||
*/
|
||||
@Cordova()
|
||||
checkHasCorrectPermissions(permissions: string[]): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if data access has expired for the user
|
||||
*
|
||||
* @returns {Promise<string>} Returns a Promise that resolves with a success string if data access is expired, or rejects with an error
|
||||
*/
|
||||
@Cordova()
|
||||
isDataAccessExpired(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reauthorize data access after it has expired
|
||||
*
|
||||
* @returns {Promise<FbSdkLoginResponse>} Returns a Promise that resolves with a status object if login succeeds, and rejects if login fails.
|
||||
*/
|
||||
@Cordova()
|
||||
reauthorizeDataAccess(): Promise<FbSdkLoginResponse> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logout of Facebook.
|
||||
*
|
||||
* For more info see the [Facebook docs](https://developers.facebook.com/docs/reference/javascript/FB.logout)
|
||||
*
|
||||
* @returns {Promise<any>} Returns a Promise that resolves on a successful logout, and rejects if logout fails.
|
||||
*/
|
||||
@Cordova()
|
||||
logout(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if a user is logged in to Facebook and has authenticated your app. There are three possible states for a user:
|
||||
*
|
||||
* 1) the user is logged into Facebook and has authenticated your application (connected)
|
||||
* 2) the user is logged into Facebook but has not authenticated your application (not_authorized)
|
||||
* 3) the user is either not logged into Facebook or explicitly logged out of your application so it doesn't attempt to connect to Facebook and thus, we don't know if they've authenticated your application or not (unknown)
|
||||
*
|
||||
* Resolves with a response like:
|
||||
*
|
||||
* ```
|
||||
* {
|
||||
* authResponse: {
|
||||
* userID: '12345678912345',
|
||||
* accessToken: 'kgkh3g42kh4g23kh4g2kh34g2kg4k2h4gkh3g4k2h4gk23h4gk2h34gk234gk2h34AndSoOn',
|
||||
* data_access_expiration_time: '1623680244',
|
||||
* expiresIn: '5183738'
|
||||
* },
|
||||
* status: 'connected'
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* For more information see the [Facebook docs](https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus)
|
||||
*
|
||||
* @returns {Promise<any>} Returns a Promise that resolves with a status, or rejects with an error
|
||||
*/
|
||||
@Cordova()
|
||||
getLoginStatus(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a Facebook access token for using Facebook services.
|
||||
*
|
||||
* @returns {Promise<string>} Returns a Promise that resolves with an access token, or rejects with an error
|
||||
*/
|
||||
@Cordova()
|
||||
getAccessToken(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get profile information for the currently logged in user
|
||||
*
|
||||
* @returns {Promise<any>} Returns a Promise that resolves with success data, or rejects with an error
|
||||
*/
|
||||
@Cordova()
|
||||
getCurrentProfile(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show one of various Facebook dialogs. Example of options for a Share dialog:
|
||||
*
|
||||
* ```
|
||||
* {
|
||||
* method: 'share',
|
||||
* href: 'http://example.com'
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* For more options see the [Cordova plugin docs](https://github.com/MaximBelov/cordova-plugin-fbsdk#show-a-dialog) and the [Facebook docs](https://developers.facebook.com/docs/javascript/reference/FB.ui)
|
||||
*
|
||||
* @param {Object} options The dialog options
|
||||
* @returns {Promise<any>} Returns a Promise that resolves with success data, or rejects with an error
|
||||
*/
|
||||
@Cordova()
|
||||
showDialog(options: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a call to Facebook Graph API. Can take additional permissions beyond those granted on login.
|
||||
*
|
||||
* For more information see:
|
||||
*
|
||||
* Calling the Graph API - https://developers.facebook.com/docs/javascript/reference/FB.api
|
||||
* Graph Explorer - https://developers.facebook.com/tools/explorer
|
||||
* Graph API - https://developers.facebook.com/docs/graph-api
|
||||
*
|
||||
* @param {string} requestPath Graph API endpoint you want to call
|
||||
* @param {string[]} permissions List of [permissions](https://developers.facebook.com/docs/facebook-login/permissions) for this request.
|
||||
* @param {string} httpMethod HTTP method for the request, one of "GET", "POST", or "DELETE" (default is "GET")
|
||||
* @returns {Promise<any>} Returns a Promise that resolves with the result of the request, or rejects with an error
|
||||
*/
|
||||
@Cordova()
|
||||
api(requestPath: string, permissions: string[], httpMethod?: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Data Processing Options for App events. For more information see [Facebook docs](https://developers.facebook.com/docs/app-events/guides/ccpa)
|
||||
*
|
||||
* @param {string[]} options List of options, i.e. ["LDU"]
|
||||
* @param {number} country The numeric identifier for the country
|
||||
* @param {number} state The numeric identifier for the state
|
||||
*/
|
||||
@Cordova()
|
||||
setDataProcessingOptions(options: string[], country?: number, state?: number): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set user data for Advanced Matching. For more information see [Facebook docs](https://developers.facebook.com/docs/app-events/advanced-matching/)
|
||||
*
|
||||
* @param {Object} userData An object containing data about the user
|
||||
*/
|
||||
@Cordova()
|
||||
setUserData(userData: Object): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear user data. For more information see [Facebook docs](https://developers.facebook.com/docs/app-events/advanced-matching/)
|
||||
*/
|
||||
@Cordova()
|
||||
clearUserData(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Log an event. For more information see the Events section above.
|
||||
*
|
||||
* @param {string} name Name of the event
|
||||
* @param {Object} [params] An object containing extra data to log with the event
|
||||
* @param {number} [valueToSum] any value to be added to added to a sum on each event
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
successIndex: 3,
|
||||
errorIndex: 4,
|
||||
})
|
||||
logEvent(name: string, params?: Object, valueToSum?: number): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable the auto log app event feature - https://developers.facebook.com/docs/app-events/gdpr-compliance/
|
||||
*
|
||||
* @param {boolean} enabled value to be set
|
||||
*/
|
||||
@Cordova({
|
||||
successIndex: 1,
|
||||
errorIndex: 2,
|
||||
})
|
||||
setAutoLogAppEventsEnabled(enabled: boolean): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable collection of advertiser-id
|
||||
*
|
||||
* @param {boolean} enabled value to be set
|
||||
*/
|
||||
@Cordova()
|
||||
setAdvertiserIDCollectionEnabled(enabled: boolean): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable advertiser tracking (iOS Only)
|
||||
*
|
||||
* @param {boolean} enabled value to be set
|
||||
*/
|
||||
@Cordova()
|
||||
setAdvertiserTrackingEnabled(enabled: boolean): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Log a purchase. For more information see the Events section above.
|
||||
*
|
||||
* @param {number} value Value of the purchase.
|
||||
* @param {string} currency The currency, as an [ISO 4217 currency code](http://en.wikipedia.org/wiki/ISO_4217)
|
||||
* @param {Object} params An object containing extra data to log with the event
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
logPurchase(value: number, currency: string, params?: Object): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the deferred app link
|
||||
*
|
||||
* @returns {Promise<string>} Returns a Promise that resolves with the deep link
|
||||
*/
|
||||
@Cordova()
|
||||
getDeferredApplink(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Manually log activation events
|
||||
*
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
activateApp(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
74
src/@awesome-cordova-plugins/plugins/ffmpeg/index.ts
Normal file
74
src/@awesome-cordova-plugins/plugins/ffmpeg/index.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
export interface VideoInformation {
|
||||
format: {
|
||||
bit_rate: string;
|
||||
duration: string;
|
||||
filename: string;
|
||||
format_name: string;
|
||||
nb_programs: string;
|
||||
nb_streams: string;
|
||||
probe_score: string;
|
||||
size: string;
|
||||
start_time: string;
|
||||
};
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name FFMpeg
|
||||
* @description
|
||||
* Simple plugin that binds mobile ffmpeg to execute ffmpeg commands
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { FFMpeg } from '@awesome-cordova-plugins/ffmpeg/ngx';
|
||||
*
|
||||
*
|
||||
* constructor(private ffMpeg: FFMpeg) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* this.fFMpeg.exec('-i someinput.mp4 -vn -c:a copy out.mp3')
|
||||
* .then((res: any) => console.log(res))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
*
|
||||
* this.fFMpeg.probe('somefile.mp4"')
|
||||
* .then((res: VideoInformation) => console.log(res))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'FFMpeg',
|
||||
plugin: 'cordova-plugin-ffmpeg',
|
||||
pluginRef: 'ffmpeg',
|
||||
repo: 'https://github.com/MaximBelov/cordova-plugin-ffmpeg',
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class FFMpeg extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Execute ffmpeg command
|
||||
* @param cmd {string} command
|
||||
* @return {Promise<any>} Returns a promise that resolves when execute finished
|
||||
*/
|
||||
@Cordova()
|
||||
exec(cmd: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Extracts media information for the file specified with path
|
||||
* @param filePath {string} file path
|
||||
* @return {Promise<VideoInformation>} Returns a promise that resolves when media information received
|
||||
*/
|
||||
@Cordova()
|
||||
probe(filePath: string): Promise<VideoInformation> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
47
src/@awesome-cordova-plugins/plugins/file-chooser/index.ts
Normal file
47
src/@awesome-cordova-plugins/plugins/file-chooser/index.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
/* eslint-disable jsdoc/require-returns-check */
|
||||
/* eslint-disable jsdoc/check-tag-names */
|
||||
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
/**
|
||||
* @name FileChooser Plugin
|
||||
* @description
|
||||
* Cordova FileChooser Plugin
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { FileChooser } from '@awesome-cordova-plugins/file-chooser/ngx';
|
||||
*
|
||||
*
|
||||
* constructor(private fileChooser: FileChooser) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* this.fileChooser.open()
|
||||
* .then(() => console.log('Success'))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'FileChooser',
|
||||
plugin: 'cordova-plugin-filechooser',
|
||||
pluginRef: 'fileChooser',
|
||||
repo: 'https://github.com/ihadeed/cordova-filechooser',
|
||||
platforms: ['Android'],
|
||||
})
|
||||
@Injectable()
|
||||
export class FileChooser extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Launches a chooser dialog. The filter param allows filtering a the mime type
|
||||
* { "mime": "application/pdf" }
|
||||
*
|
||||
* @param {string} [filter] Filter allowing filter by a mime type (text/plain, image/png, image/jpeg, audio/wav etc.)
|
||||
* @returns {Promise<string>} URI of the selected file
|
||||
*/
|
||||
@Cordova()
|
||||
open(filter?: string): Promise<string> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
43
src/@awesome-cordova-plugins/plugins/file-md5/index.ts
Normal file
43
src/@awesome-cordova-plugins/plugins/file-md5/index.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
/**
|
||||
* @name File MD5
|
||||
* @description
|
||||
* This plugin reads large files in chunks and build the md5sum incrementally.
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { FileMD5 } from '@awesome-cordova-plugins/file-md5/nx';
|
||||
*
|
||||
*
|
||||
* constructor(private fileMD5: FileMD5) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* this.fileMD5.file(fileEntry)
|
||||
* .then((md5sum: string) => console.log(md5sum))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'FileMD5',
|
||||
plugin: 'cordova-plugin-file-md5',
|
||||
pluginRef: 'md5chksum',
|
||||
repo: 'https://github.com/mramonlopez/cordova-plugin-file-md5',
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class FileMD5 extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Get MD5 checksum from a file
|
||||
*
|
||||
* @param fileEntry {FileEntry} File entry is a org.apache.cordova.file.FileEntry
|
||||
* @returns {Promise<any>} Promise with md5sum
|
||||
*/
|
||||
@Cordova()
|
||||
file(fileEntry: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,96 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
// Biometric type
|
||||
export type BIOMETRIC_TYPE = 'finger' | 'face' | 'biometric';
|
||||
|
||||
export enum BIOMETRIC_ERRORS {
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_UNKNOWN_ERROR = -100,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_UNAVAILABLE = -101,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_AUTHENTICATION_FAILED = -102,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_SDK_NOT_SUPPORTED = -103,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_HARDWARE_NOT_SUPPORTED = -104,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_PERMISSION_NOT_GRANTED = -105,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_NOT_ENROLLED = -106,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_INTERNAL_PLUGIN_ERROR = -107,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_DISMISSED = -108,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_PIN_OR_PATTERN_DISMISSED = -109,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_SCREEN_GUARD_UNSECURED = -110,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_LOCKED_OUT = -111,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_LOCKED_OUT_PERMANENT = -112,
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_SECRET_NOT_FOUND = -113
|
||||
}
|
||||
|
||||
export interface FingerprintOptions {
|
||||
/**
|
||||
* Title in biometric prompt (android only)
|
||||
@@ -43,6 +133,14 @@ export interface FingerprintOptions {
|
||||
* @default false
|
||||
*/
|
||||
disableBackup?: boolean;
|
||||
|
||||
/**
|
||||
* (Android): If false user confirmation is NOT required after a biometric has been authenticated.
|
||||
*
|
||||
* @default true.
|
||||
* See https://developer.android.com/training/sign-in/biometric-auth#no-explicit-user-action
|
||||
*/
|
||||
confirmationRequired?: boolean;
|
||||
}
|
||||
|
||||
export interface FingerprintSecretOptions extends FingerprintOptions {
|
||||
@@ -121,98 +219,15 @@ export interface FingerprintSecretOptions extends FingerprintOptions {
|
||||
})
|
||||
@Injectable()
|
||||
export class FingerprintAIO extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_UNKNOWN_ERROR = -100;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_UNAVAILABLE = -101;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_AUTHENTICATION_FAILED = -102;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_SDK_NOT_SUPPORTED = -103;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_HARDWARE_NOT_SUPPORTED = -104;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_PERMISSION_NOT_GRANTED = -105;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_NOT_ENROLLED = -106;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_INTERNAL_PLUGIN_ERROR = -107;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_DISMISSED = -108;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_PIN_OR_PATTERN_DISMISSED = -109;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_SCREEN_GUARD_UNSECURED = -110;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_LOCKED_OUT = -111;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_LOCKED_OUT_PERMANENT = -112;
|
||||
/**
|
||||
* Convenience constant
|
||||
*
|
||||
* @type {number}
|
||||
*/
|
||||
BIOMETRIC_SECRET_NOT_FOUND = -113;
|
||||
|
||||
/**
|
||||
* Check if fingerprint authentication is available
|
||||
*
|
||||
* @returns {Promise<any>} Returns a promise with result
|
||||
* @returns {Promise<BIOMETRIC_TYPE>} Returns a promise with result which depends on device and os.
|
||||
* iPhone X will return 'face' other Android or iOS devices will return 'finger' Android P+ will return 'biometric'
|
||||
*/
|
||||
@Cordova()
|
||||
isAvailable(): Promise<any> {
|
||||
isAvailable(): Promise<BIOMETRIC_TYPE> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -220,10 +235,10 @@ export class FingerprintAIO extends AwesomeCordovaNativePlugin {
|
||||
* Show authentication dialogue and register secret
|
||||
*
|
||||
* @param {FingerprintSecretOptions} options Options for platform specific fingerprint API
|
||||
* @returns {Promise<any>} Returns a promise that resolves when authentication was successful
|
||||
* @returns {Promise<void>} Returns a promise that resolves when authentication was successful
|
||||
*/
|
||||
@Cordova()
|
||||
registerBiometricSecret(options: FingerprintSecretOptions): Promise<any> {
|
||||
registerBiometricSecret(options: FingerprintSecretOptions): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -231,7 +246,7 @@ export class FingerprintAIO extends AwesomeCordovaNativePlugin {
|
||||
* Show authentication dialogue and load secret
|
||||
*
|
||||
* @param {FingerprintOptions} options Options for platform specific fingerprint API
|
||||
* @returns {Promise<any>} Returns a promise that resolves when authentication was successful
|
||||
* @returns {Promise<string>} Returns a promise that resolves when authentication was successful
|
||||
*/
|
||||
@Cordova()
|
||||
loadBiometricSecret(options: FingerprintOptions): Promise<string> {
|
||||
@@ -242,10 +257,10 @@ export class FingerprintAIO extends AwesomeCordovaNativePlugin {
|
||||
* Show authentication dialogue
|
||||
*
|
||||
* @param {FingerprintOptions} options Options for platform specific fingerprint API
|
||||
* @returns {Promise<any>} Returns a promise that resolves when authentication was successful
|
||||
* @returns {Promise<void>} Returns a promise that resolves when authentication was successful
|
||||
*/
|
||||
@Cordova()
|
||||
show(options: FingerprintOptions): Promise<any> {
|
||||
show(options: FingerprintOptions): Promise<void> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
122
src/@awesome-cordova-plugins/plugins/firebase-model/index.ts
Normal file
122
src/@awesome-cordova-plugins/plugins/firebase-model/index.ts
Normal file
@@ -0,0 +1,122 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import {
|
||||
Plugin,
|
||||
Cordova,
|
||||
CordovaProperty,
|
||||
CordovaInstance,
|
||||
InstanceProperty,
|
||||
IonicNativePlugin,
|
||||
} from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
export enum FirebaseModelStatus {
|
||||
downloading = 'downloading',
|
||||
completed = 'completed',
|
||||
}
|
||||
|
||||
export enum FirebaseModelInputType {
|
||||
path = 'path',
|
||||
base64string = 'base64string',
|
||||
blob = 'blob',
|
||||
}
|
||||
|
||||
export class FirebaseModelConfigResult {
|
||||
/**
|
||||
* Returns the current status of the model.
|
||||
*/
|
||||
status: FirebaseModelStatus;
|
||||
/**
|
||||
* Returns the current progress of the downloading model.
|
||||
*/
|
||||
progress: number;
|
||||
}
|
||||
|
||||
export class FirebaseModelClassifyResult {
|
||||
/**
|
||||
* Return the identified image label name.
|
||||
*/
|
||||
label: string;
|
||||
/**
|
||||
* Returns the confidence score of the identified image.
|
||||
*/
|
||||
score: number;
|
||||
}
|
||||
|
||||
export class FirebaseModelInput {
|
||||
/**
|
||||
* Set the one of the input types defined in FirebaseModelInputType enum.
|
||||
*/
|
||||
inputType: FirebaseModelInputType;
|
||||
/**
|
||||
* Set the input as string | Blob based on the `inputType`
|
||||
*/
|
||||
input: string | Blob;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name Firebase Model
|
||||
* @description This plugin downloads the TensorFlow model from firebase and classify the images.
|
||||
*
|
||||
* ```typescript
|
||||
* import { FirebaseModel } from '@ionic-native/ionic-native-firebase-model';
|
||||
*
|
||||
*
|
||||
* constructor(private firebaseModel: FirebaseModel) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* this.firebaseModel.configure('Sample_Model')
|
||||
* .subscribe((res: FirebaseModelConfigResult) => console.log(res.status + " - " + res.progress))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
*
|
||||
* try {
|
||||
* var result:FirebaseModelClassifyResult = await this.firebaseModel.classify("/Documents/input_image.png")
|
||||
* console.log(result.label + " - " + result.score)
|
||||
*
|
||||
* }
|
||||
* catch (e) {
|
||||
* console.log(e)
|
||||
* }
|
||||
*
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'FirebaseModel',
|
||||
plugin: 'cordova-plugin-firebase-model', // npm package name, example: cordova-plugin-camera
|
||||
pluginRef: 'FirebaseModel', // the variable reference to call the plugin, example: navigator.geolocation
|
||||
repo: '', // the github repository URL for the plugin
|
||||
install: 'ionic cordova plugin add cordova-plugin-firebase-model', // OPTIONAL install command, in case the plugin requires variables
|
||||
installVariables: [], // OPTIONAL the plugin requires variables
|
||||
platforms: ['iOS'], // Array of platforms supported, example: ['Android', 'iOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class FirebaseModel extends IonicNativePlugin {
|
||||
/**
|
||||
* This function configure the Firebase TFLite model and downloads.
|
||||
* @param {string} arg1 Name of the TFLite model which is uploaded in the Firebase console
|
||||
* @returns {Observable<FirebaseModelConfigResult>} Returns a observable that gives the callback for downloading progress and status.
|
||||
*
|
||||
*/
|
||||
@Cordova({
|
||||
successIndex: 1,
|
||||
errorIndex: 2,
|
||||
observable: true,
|
||||
})
|
||||
configure(arg1: string): Observable<FirebaseModelConfigResult> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function identify the image using the Firebase TFLite model which is configured.
|
||||
* @param {FirebaseModelInput} arg1 Base64 string of the input image or .
|
||||
* @returns {Promise<FirebaseModelClassifyResult>} Returns a promise that resolves the classification result.
|
||||
*
|
||||
*/
|
||||
@Cordova()
|
||||
classify(arg1: FirebaseModelInput): Promise<FirebaseModelClassifyResult> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -112,7 +112,26 @@ export interface FirebaseUser {
|
||||
*/
|
||||
name?: string;
|
||||
}
|
||||
|
||||
export interface MessagePayloadAps {
|
||||
alert?: {
|
||||
title: string;
|
||||
body: string;
|
||||
};
|
||||
}
|
||||
export interface MessagePayload {
|
||||
title?: string;
|
||||
body?: string;
|
||||
collapse_key?: string;
|
||||
from?: string;
|
||||
id?: string;
|
||||
messageType?: string;
|
||||
notification_foreground?: string;
|
||||
sent_time?: string;
|
||||
show_notification?: string;
|
||||
ttl?: string;
|
||||
tap?: 'background' | 'foreground';
|
||||
aps?: MessagePayloadAps;
|
||||
}
|
||||
/**
|
||||
* @name Firebase X
|
||||
* @description
|
||||
@@ -237,7 +256,7 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
@Cordova({
|
||||
observable: true,
|
||||
})
|
||||
onMessageReceived(): Observable<any> {
|
||||
onMessageReceived<T = { [key: string]: string }>(): Observable<MessagePayload & T> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -778,6 +797,28 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Asynchronously fetches and then activates the fetched configs.
|
||||
*
|
||||
* @param {Function} success - callback function which will be passed a {boolean} argument indicating whether result the current call activated the fetched config.
|
||||
* @param {Function} error - callback function which will be passed a {string} error message as an argument
|
||||
*/
|
||||
@Cordova()
|
||||
fetchAndActivate(success: (activated: boolean) => void, error: (err: string) => void): void {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a Map of Firebase Remote Config key value pairs.
|
||||
*
|
||||
* @param {Function} success - callback function which will be passed an {object} argument where key is the remote config key and value is the value as a string. If the expected key value is a different primitive type then cast it to the appropriate type.
|
||||
* @param {Function} error - callback function which will be passed a {string} error message as an argument
|
||||
*/
|
||||
@Cordova()
|
||||
getAll(success: (values: any) => void, error: (err: string) => void): void {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve a Remote Config value.
|
||||
*
|
||||
@@ -811,13 +852,20 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* Android only. Change the settings for the FirebaseRemoteConfig object's operations.
|
||||
* Change the settings for the FirebaseRemoteConfig object's operations.
|
||||
*
|
||||
* @param {Object} settings
|
||||
* @returns {Promise<any>}
|
||||
* @param {number} fetchTimeout - fetch timeout in seconds. Default is 60 seconds.
|
||||
* @param {number} minimumFetchInterval - minimum fetch inteval in seconds. Default is 12 hours.
|
||||
* @param {Function} success - callback function to be call on successfully setting the remote config settings
|
||||
* @param {Function} error - callback function which will be passed a {string} error message as an argument
|
||||
*/
|
||||
@Cordova()
|
||||
setConfigSettings(settings: any): Promise<any> {
|
||||
setConfigSettings(
|
||||
fetchTimeout: number,
|
||||
minimumFetchInterval: number,
|
||||
success: () => void,
|
||||
error: (err: string) => void
|
||||
): void {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -970,6 +1018,7 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
* Fetches all the documents in the specific collection.
|
||||
*
|
||||
* @param {string} collection - name of top-level collection to fetch.
|
||||
* @param {Array} filters - filters to apply to collection.
|
||||
* @param {Function} success - callback function to call on successfully deleting the document. Will be passed an {object} containing all the documents in the collection,
|
||||
* indexed by document ID. If a Firebase collection with that name does not exist or it contains no documents, the object will be empty.
|
||||
* @param {Function} error - callback function which will be passed a {string} error message as an argument.
|
||||
@@ -977,6 +1026,7 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
|
||||
@Cordova()
|
||||
fetchFirestoreCollection(
|
||||
collection: string,
|
||||
filters: any[],
|
||||
success: (docs: any) => void,
|
||||
error: (err: string) => void
|
||||
): Promise<any> {
|
||||
|
||||
69
src/@awesome-cordova-plugins/plugins/gcdwebserver/index.ts
Executable file
69
src/@awesome-cordova-plugins/plugins/gcdwebserver/index.ts
Executable file
@@ -0,0 +1,69 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import {
|
||||
Plugin,
|
||||
Cordova,
|
||||
CordovaProperty,
|
||||
CordovaInstance,
|
||||
InstanceProperty,
|
||||
AwesomeCordovaNativePlugin,
|
||||
} from '@awesome-cordova-plugins/core';
|
||||
|
||||
export interface ServerOptions {
|
||||
port?: number;
|
||||
folder?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name gcdwebserver
|
||||
* @description
|
||||
* This plugin can start an HTTP server using GCDWebServer
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { GCDWebServer } from '@awesome-cordova-plugins/gcdwebserver';
|
||||
*
|
||||
*
|
||||
* constructor(private gcdwebserver: GCDWebServer) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* await this.gcdwebserver.startServer({});
|
||||
*
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'gcdwebserver',
|
||||
plugin: 'cordova-plugin-gcdwebserver',
|
||||
pluginRef: 'cordova.plugins.GCDServer',
|
||||
repo: 'https://github.com/xulihang/cordova-plugin-gcdwebserver',
|
||||
install: '',
|
||||
installVariables: [],
|
||||
platforms: ['iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class GCDWebServer extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* start the server
|
||||
* @param options {ServerOptions}
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova({
|
||||
successIndex: 1,
|
||||
errorIndex: 2
|
||||
})
|
||||
startServer(options: ServerOptions): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* stop the server
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova({ successIndex: 1, errorIndex: 2 })
|
||||
stopServer(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,6 +1,11 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, CordovaProperty, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
export interface OnProgress {
|
||||
isProgress: boolean;
|
||||
transferred: number;
|
||||
total: number;
|
||||
}
|
||||
export interface HTTPResponse {
|
||||
/**
|
||||
* The HTTP status number of the response or a negative internal error code.
|
||||
@@ -608,6 +613,7 @@ export class HTTP extends AwesomeCordovaNativePlugin {
|
||||
* @param options.filePath {string} file path(s) to be used during upload and download see uploadFile and downloadFile for detailed information
|
||||
* @param options.name {string} name(s) to be used during upload see uploadFile for detailed information
|
||||
* @param options.responseType {string} response type, defaults to text
|
||||
* @param options.onProgress {function} A callback that is called when is progress
|
||||
* @returns {Promise<HTTPResponse>} returns a promise that will resolve on success, and reject on failure
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -623,6 +629,7 @@ export class HTTP extends AwesomeCordovaNativePlugin {
|
||||
filePath?: string | string[];
|
||||
name?: string | string[];
|
||||
responseType?: 'text' | 'arraybuffer' | 'blob' | 'json';
|
||||
onProgress?: (response: OnProgress) => void;
|
||||
}
|
||||
): Promise<HTTPResponse> {
|
||||
return;
|
||||
|
||||
89
src/@awesome-cordova-plugins/plugins/image-resizer/index.ts
Normal file
89
src/@awesome-cordova-plugins/plugins/image-resizer/index.ts
Normal file
@@ -0,0 +1,89 @@
|
||||
/* eslint-disable jsdoc/require-param-type */
|
||||
/* eslint-disable jsdoc/check-tag-names */
|
||||
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
export interface ImageResizerOptions {
|
||||
/**
|
||||
* The URI for the image on the device to get scaled
|
||||
*/
|
||||
uri: string;
|
||||
/**
|
||||
* The name of the folder the image should be put
|
||||
* (Android only)
|
||||
*/
|
||||
folderName?: string;
|
||||
/**
|
||||
* A custom name for the file. Default name is a timestamp. You have to set this value on iOS
|
||||
*/
|
||||
fileName?: string;
|
||||
/**
|
||||
*
|
||||
* Quality given as Number for the quality of the new image
|
||||
* (Android and iOS only)
|
||||
*/
|
||||
quality?: number;
|
||||
/**
|
||||
* The width of the new image
|
||||
*/
|
||||
width: number;
|
||||
/**
|
||||
* The height of the new image
|
||||
*/
|
||||
height: number;
|
||||
/**
|
||||
* Whether or not to return a base64 encoded image string instead of the path to the resized image.
|
||||
* iOS only
|
||||
*/
|
||||
base64?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name ImageResizer
|
||||
* @description
|
||||
* Cordova Plugin For Image Resize
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { ImageResizer, ImageResizerOptions } from '@awesome-cordova-plugins/image-resizer/ngx';
|
||||
*
|
||||
* constructor(private imageResizer: ImageResizer) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
* let options = {
|
||||
* uri: uri,
|
||||
* folderName: 'Protonet',
|
||||
* quality: 90,
|
||||
* width: 1280,
|
||||
* height: 1280
|
||||
* } as ImageResizerOptions;
|
||||
*
|
||||
* this.imageResizer
|
||||
* .resize(options)
|
||||
* .then((filePath: string) => console.log('FilePath', filePath))
|
||||
* .catch(e => console.log(e));
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'ImageResizer',
|
||||
plugin: 'cordova-plugin-image-resizer', // npm package name, example: cordova-plugin-camera
|
||||
pluginRef: 'ImageResizer', // the variable reference to call the plugin, example: navigator.geolocation
|
||||
repo: 'https://github.com/JoschkaSchulz/cordova-plugin-image-resizer', // the github repository URL for the plugin
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class ImageResizer extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* This function resizes the image based on the options provided
|
||||
*
|
||||
* @param options {ImageResizerOptions} image resize options
|
||||
* @return {Promise<string>} Returns a Promise that resolves the resized image file URI
|
||||
* otherwise rejects with an error.
|
||||
*/
|
||||
@Cordova()
|
||||
resize(options: ImageResizerOptions): Promise<string> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -745,7 +745,13 @@ export class InAppPurchase2 extends AwesomeCordovaNativePlugin {
|
||||
products: IAPProducts;
|
||||
|
||||
@CordovaProperty()
|
||||
validator: string | ((url: string | IAPProduct, callback: Function) => void);
|
||||
validator:
|
||||
| string
|
||||
| ((url: string | IAPProduct, callback: Function) => void)
|
||||
| {
|
||||
url: string;
|
||||
headers?: { [token: string]: string };
|
||||
};
|
||||
|
||||
@CordovaProperty()
|
||||
applicationUsername: string | (() => string);
|
||||
@@ -915,8 +921,11 @@ export class InAppPurchase2 extends AwesomeCordovaNativePlugin {
|
||||
/** Opens the Manage Billing page (AppStore, Play, Microsoft, ...), where the user can update his/her payment methods. */
|
||||
@Cordova({ sync: true })
|
||||
manageBilling(): void {}
|
||||
|
||||
|
||||
/** Open the subscription price change notification workflow. (Play) See: https://developer.android.com/google/play/billing/subscriptions#price-change-communicate */
|
||||
@Cordova({ sync: true })
|
||||
launchPriceChangeConfirmationFlow(productId: string, callback: (status: 'OK' | 'UnknownProduct' | 'UserCanceled') => void): void {};
|
||||
launchPriceChangeConfirmationFlow(
|
||||
productId: string,
|
||||
callback: (status: 'OK' | 'UnknownProduct' | 'UserCanceled') => void
|
||||
): void {}
|
||||
}
|
||||
|
||||
@@ -246,4 +246,14 @@ export class Intercom extends AwesomeCordovaNativePlugin {
|
||||
setBottomPadding(bottomPadding: string | number): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Programmatically display a Survey
|
||||
* @param surveyId {string}
|
||||
* @returns {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova()
|
||||
displaySurvey(surveyId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-pl
|
||||
*
|
||||
* Requires Cordova plugin: `cordova-plugin-ios-keychain`. For more info, please see the [Keychain plugin docs](https://github.com/ionic-team/cordova-plugin-ios-keychain).
|
||||
*
|
||||
* See also [Secure Storage](https://ionicframework.com/docs/native/secure-storage/) for more supported platforms.
|
||||
* See also [Secure Storage](https://ionic.io/docs/secure-storage) for more supported platforms.
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { Keychain } from '@awesome-cordova-plugins/keychain/ngx';
|
||||
|
||||
@@ -322,8 +322,8 @@ export class LaunchNavigator extends AwesomeCordovaNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
successIndex: 2,
|
||||
errorIndex: 3,
|
||||
successIndex: 1,
|
||||
errorIndex: 2
|
||||
})
|
||||
navigate(destination: string | number[], options?: LaunchNavigatorOptions): Promise<any> {
|
||||
return;
|
||||
|
||||
89
src/@awesome-cordova-plugins/plugins/lets-cooee/index.ts
Normal file
89
src/@awesome-cordova-plugins/plugins/lets-cooee/index.ts
Normal file
@@ -0,0 +1,89 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
/**
|
||||
* @name Lets Cooee
|
||||
* @description
|
||||
* AI driven Personalised Notifications for Better Customer Engagement
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { Cooee } from '@awesome-cordova-plugins/lets-cooee/nx';
|
||||
*
|
||||
*
|
||||
* constructor(private cooee: Cooee) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* this.cooee.functionName('Hello', 123)
|
||||
* .then((res: any) => console.log(res))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'Cooee',
|
||||
plugin: '@letscooee/cordova-plugin',
|
||||
pluginRef: 'cordova.plugins.Cooee',
|
||||
repo: 'https://github.com/letscooee/cordova-plugin-cooee',
|
||||
install: 'ionic cordova plugin add @letscooee/cordova-plugin --variable COOEE_APP_ID=appId',
|
||||
installVariables: ['COOEE_APP_ID'],
|
||||
platforms: ['Android', 'iOS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class Cooee extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Send the given user data and user properties to the server.
|
||||
* @return {Promise<any>} Returns a promise so user can be notified.
|
||||
* @param eventName {string} Name of the event
|
||||
* @param eventProperties {Record<string, any>} Properties of the event
|
||||
*/
|
||||
@Cordova()
|
||||
sendEvent(eventName: string, eventProperties: Record<string, any>): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Send the given user data and user properties to the server.
|
||||
* @return {Promise<any>} Returns a promise so user can be notified.
|
||||
* @param userProfile {Record<string, any>} User data to send to the server
|
||||
*/
|
||||
@Cordova()
|
||||
updateUserProfile(userProfile: Record<string, any>): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Send the given screen name with every event.
|
||||
* @return {Promise<any>} Returns a promise so user can be notified.
|
||||
* @param screenName {string} Screen name to send to the server
|
||||
*/
|
||||
@Cordova()
|
||||
setCurrentScreen(screenName: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide Cooee's userID assigned to the current user.
|
||||
* @return {Promise<any>} Returns a promise with userId.
|
||||
*/
|
||||
@Cordova()
|
||||
getUserID(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides callback for the onCooeeCTAListener event.
|
||||
* @return {Observable<Any>} Returns an observable record.
|
||||
*/
|
||||
@Cordova({
|
||||
eventObservable: true,
|
||||
event: 'onCooeeCTAListener',
|
||||
element: document,
|
||||
})
|
||||
addCooeeCTAListener(): Observable<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,258 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
|
||||
/**
|
||||
* @name Mobile Accessibility
|
||||
* @description
|
||||
* This plugin exposes information on the status of various accessibility features of mobile operating systems, including, for example, whether a screen reader is running, invert colors is enabled, and the preferred scaling for text.
|
||||
* It also allows an application to send a string to be spoken by the screen reader, or a command to stop the screen reader from speaking.
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { MobileAccessibility } from '@awesome-cordova-plugins/mobile-accessibility/ngx';
|
||||
*
|
||||
*
|
||||
* constructor(private mobileAccessibility: MobileAccessibility) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* this.mobileAccessibility.isScreenReaderRunningCallback();
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'MobileAccessibility',
|
||||
plugin: 'phonegap-plugin-mobile-accessibility',
|
||||
pluginRef: 'window.MobileAccessibility',
|
||||
repo: 'https://github.com/phonegap/phonegap-mobile-accessibility',
|
||||
install: '',
|
||||
installVariables: [],
|
||||
platforms: ['Android', 'iOS', 'Amazon Fire OS'],
|
||||
})
|
||||
@Injectable()
|
||||
export class MobileAccessibility extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* This function does something
|
||||
* @param arg1 {string} Some param to configure something
|
||||
* @param arg2 {number} Another param to configure something
|
||||
* @return {Promise<any>} Returns a promise that resolves when something happens
|
||||
*/
|
||||
@Cordova()
|
||||
functionName(arg1: string, arg2: number): Promise<any> {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
MobileAccessibilityNotifications: {
|
||||
ANNOUNCEMENT: 'ANNOUNCEMENT';
|
||||
BOLD_TEXT_STATUS_CHANGED: 'BOLD_TEXT_STATUS_CHANGED';
|
||||
CLOSED_CAPTIONING_STATUS_CHANGED: 'CLOSED_CAPTIONING_STATUS_CHANGED';
|
||||
DARKER_SYSTEM_COLORS_STATUS_CHANGED: 'DARKER_SYSTEM_COLORS_STATUS_CHANGED';
|
||||
GRAYSCALE_STATUS_CHANGED: 'GRAYSCALE_STATUS_CHANGED';
|
||||
GUIDED_ACCESS_STATUS_CHANGED: 'GUIDED_ACCESS_STATUS_CHANGED';
|
||||
INVERT_COLORS_STATUS_CHANGED: 'INVERT_COLORS_STATUS_CHANGED';
|
||||
LAYOUT_CHANGED: 'LAYOUT_CHANGED';
|
||||
MONO_AUDIO_STATUS_CHANGED: 'MONO_AUDIO_STATUS_CHANGED';
|
||||
PAGE_SCROLLED: 'PAGE_SCROLLED';
|
||||
REDUCE_MOTION_STATUS_CHANGED: 'REDUCE_MOTION_STATUS_CHANGED';
|
||||
REDUCE_TRANSPARENCY_STATUS_CHANGED: 'REDUCE_TRANSPARENCY_STATUS_CHANGED';
|
||||
SCREEN_CHANGED: 'SCREEN_CHANGED';
|
||||
SCREEN_READER_STATUS_CHANGED: 'SCREEN_READER_STATUS_CHANGED';
|
||||
SPEAK_SCREEN_STATUS_CHANGED: 'SPEAK_SCREEN_STATUS_CHANGED';
|
||||
SPEAK_SELECTION_STATUS_CHANGED: 'SPEAK_SELECTION_STATUS_CHANGED';
|
||||
SWITCH_CONTROL_STATUS_CHANGED: 'SWITCH_CONTROL_STATUS_CHANGED';
|
||||
TOUCH_EXPLORATION_STATUS_CHANGED: 'TOUCH_EXPLORATION_STATUS_CHANGED';
|
||||
};
|
||||
|
||||
/**
|
||||
* Makes an asynchronous call to native MobileAccessibility to determine if a screen reader is running.
|
||||
* @returns {Promise<boolean>} A result method to receive the boolean result asynchronously from the native MobileAccessibility plugin.
|
||||
*/
|
||||
@Cordova()
|
||||
isScreenReaderRunning(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* An iOS-specific proxy for the MobileAccessibility.isScreenReaderRunning method
|
||||
* @returns {Promise<boolean>} A result method to receive the boolean result asynchronously from the native MobileAccessibility plugin.
|
||||
*/
|
||||
@Cordova()
|
||||
isVoiceOverRunning(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* An Android/Amazon Fire OS-specific proxy for the MobileAccessibility.isScreenReaderRunning method.
|
||||
* @returns {Promise<boolean>} A result method to receive the boolean result asynchronously from the native MobileAccessibility plugin.
|
||||
*/
|
||||
@Cordova()
|
||||
isTalkBackRunning(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* On Android, this method returns true if ChromeVox is active and properly initialized with access to the text to speech API in the WebView.
|
||||
* If TalkBack is running but ChromeVox is not active, this method is useful to alert the user of a potential problem.
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isChromeVoxActive(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isBoldTextEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isClosedCaptioningEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isDarkerSystemColorsEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isGrayscaleEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isGuidedAccessEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isInvertColorsEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isMonoAudioEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isReduceMotionEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isReduceTransparencyEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isSpeakScreenEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isSpeakSelectionEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isSwitchControlRunning(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
isTouchExplorationEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* * @returns {Promise<number>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
getTextZoom(): Promise<number> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* @param textZoom {number} A percentage value by which text in the WebView should be scaled.
|
||||
*/
|
||||
@Cordova()
|
||||
setTextZoom(textZoom: number): void {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Cordova()
|
||||
updateTextZoom(): void {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* A Boolean value which specifies whether to use the preferred text zoom of a default percent value of 100.
|
||||
* @param value {boolean} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
usePreferredTextZoom(value: boolean): void {}
|
||||
/**
|
||||
* Posts a notification with a string for the screen reader to announce if it is running.
|
||||
* @param mobileAccessibilityNotification {any}
|
||||
* @param value {string} A string to be announced by a screen reader.
|
||||
* @returns {Promise<boolean>} Returns the result
|
||||
*/
|
||||
@Cordova()
|
||||
postNotification(mobileAccessibilityNotification: any, value: string): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* Speaks a given string through the screenreader. On Android, if ChromeVox is active, it will use the specified queueMode and properties.
|
||||
* @param value {string}
|
||||
* @param queueMode {mumber}
|
||||
* @param properties {any}
|
||||
*/
|
||||
@Cordova()
|
||||
speak(value: string, queueMode?: number, properties?: any): void {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* Stops speech.
|
||||
*/
|
||||
@Cordova()
|
||||
stop(): void {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,8 @@ export type Event =
|
||||
| 'userUpdated'
|
||||
| 'personalized'
|
||||
| 'depersonalized'
|
||||
| 'inAppChat.availabilityUpdated'
|
||||
| 'inAppChat.unreadMessageCounterUpdated'
|
||||
| 'deeplink';
|
||||
|
||||
export interface CustomEvent {
|
||||
@@ -32,7 +34,7 @@ export interface Configuration {
|
||||
/**
|
||||
* Message storage save callback
|
||||
*/
|
||||
messageStorage?: string;
|
||||
messageStorage?: CustomMessageStorage;
|
||||
defaultMessageStorage?: boolean;
|
||||
ios?: {
|
||||
notificationTypes?: string[]; // ['alert', 'badge', 'sound']
|
||||
@@ -43,6 +45,15 @@ export interface Configuration {
|
||||
notificationIcon?: string; // a resource name for a status bar icon (without extension), located in '/platforms/android/app/src/main/res/mipmap'
|
||||
multipleNotifications?: boolean; // set to 'true' to enable multiple notifications
|
||||
notificationAccentColor?: string; // set to hex color value in format '#RRGGBB' or '#AARRGGBB'
|
||||
firebaseOptions?: {
|
||||
apiKey: string;
|
||||
applicationId: string;
|
||||
databaseUrl?: string;
|
||||
gaTrackingId?: string;
|
||||
gcmSenderId?: string;
|
||||
storageBucket?: string;
|
||||
projectId: string;
|
||||
};
|
||||
};
|
||||
privacySettings?: {
|
||||
applicationCodePersistingDisabled?: boolean;
|
||||
@@ -52,10 +63,10 @@ export interface Configuration {
|
||||
};
|
||||
notificationCategories?: [
|
||||
{
|
||||
identifier?: string;
|
||||
identifier: string;
|
||||
actions?: [
|
||||
{
|
||||
identifier?: string;
|
||||
identifier: string;
|
||||
title?: string;
|
||||
foreground?: boolean;
|
||||
authenticationRequired?: boolean;
|
||||
@@ -71,7 +82,7 @@ export interface Configuration {
|
||||
}
|
||||
|
||||
export interface UserData {
|
||||
externalUserId: string;
|
||||
externalUserId?: string;
|
||||
firstName?: string;
|
||||
lastName?: string;
|
||||
middleName?: string;
|
||||
@@ -117,6 +128,22 @@ export interface PersonalizeContext {
|
||||
forceDepersonalize?: boolean;
|
||||
}
|
||||
|
||||
export interface GeoData {
|
||||
area: GeoArea;
|
||||
}
|
||||
|
||||
export interface GeoArea {
|
||||
id: string;
|
||||
center: GeoCenter;
|
||||
radius: number;
|
||||
title: string;
|
||||
}
|
||||
|
||||
export interface GeoCenter {
|
||||
lat: number;
|
||||
lon: number;
|
||||
}
|
||||
|
||||
export interface Message {
|
||||
messageId: string;
|
||||
title?: string;
|
||||
@@ -138,12 +165,14 @@ export interface Message {
|
||||
browserUrl?: string;
|
||||
deeplink?: string;
|
||||
webViewUrl?: string;
|
||||
inAppOpenTitle?: string | undefined;
|
||||
inAppDismissTitle?: string;
|
||||
}
|
||||
|
||||
export interface MobileMessagingError {
|
||||
code: string;
|
||||
message: string;
|
||||
description: string;
|
||||
domain?: string;
|
||||
}
|
||||
|
||||
export interface ChatConfig {
|
||||
@@ -174,6 +203,62 @@ export class DefaultMessageStorage {
|
||||
}
|
||||
}
|
||||
|
||||
export class CustomMessageStorage {
|
||||
/**
|
||||
* Will be called by the plugin when messages are received and it's time to save them to the storage
|
||||
*
|
||||
* @param array of message objects to save to storage
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
save(messages: Message[]) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Will be called by the plugin to find a message by message id
|
||||
*
|
||||
* @param callback has to be called on completion with one parameter - found message object
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
find(messageId: string, callback: (message: Message) => void) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Will be called by the plugin to find all messages in the storage
|
||||
*
|
||||
* @param callback has to be called on completion with one parameter - an array of available messages
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
findAll(callback: (messages: Message[]) => void) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Will be called by the plugin when its time to initialize the storage
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
start() {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Will be called by the plugin when its time to deinitialize the storage
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
stop() {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
export interface ChatSettingsIOS {
|
||||
title: string;
|
||||
sendButtonColor: string;
|
||||
navigationBarItemsColor: string;
|
||||
navigationBarColor: string;
|
||||
navigationBarTitleColor: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name Mobile Messaging
|
||||
* @description
|
||||
@@ -243,16 +328,19 @@ export class MobileMessaging extends AwesomeCordovaNativePlugin {
|
||||
* @param event
|
||||
*/
|
||||
@Cordova({
|
||||
observable: true,
|
||||
sync: true,
|
||||
})
|
||||
register(event: Event): Observable<Message> {
|
||||
register(event: Event, handler: Function): void {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Alias for `register`.
|
||||
*/
|
||||
@Cordova({
|
||||
observable: true,
|
||||
sync: true,
|
||||
})
|
||||
on(event: Event): Observable<Message> {
|
||||
on(event: Event, handler: Function): void {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -265,16 +353,19 @@ export class MobileMessaging extends AwesomeCordovaNativePlugin {
|
||||
* @param {Function} handler will be unregistered from event
|
||||
*/
|
||||
@Cordova({
|
||||
observable: true,
|
||||
sync: true,
|
||||
})
|
||||
unregister(event: Event): Observable<Message> {
|
||||
unregister(event: Event, handler: Function): void {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Alias for `unregister`.
|
||||
*/
|
||||
@Cordova({
|
||||
observable: true,
|
||||
sync: true,
|
||||
})
|
||||
off(event: Event): Observable<Message> {
|
||||
off(event: Event, handler: Function): void {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -322,7 +413,7 @@ export class MobileMessaging extends AwesomeCordovaNativePlugin {
|
||||
@Cordova({
|
||||
observable: true,
|
||||
})
|
||||
submitEventImmediately(event: CustomEvent): Promise<void> {
|
||||
submitEventImmediately(event: CustomEvent): Observable<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -334,7 +425,7 @@ export class MobileMessaging extends AwesomeCordovaNativePlugin {
|
||||
* @param {Object} userData. An object containing user data
|
||||
*/
|
||||
@Cordova()
|
||||
saveUser(userData: UserData): Promise<any> {
|
||||
saveUser(userData: UserData): Promise<UserData> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -472,4 +563,33 @@ export class MobileMessaging extends AwesomeCordovaNativePlugin {
|
||||
showChat(config?: ChatConfig): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setup chat settings for iOS only
|
||||
*
|
||||
* @param settings
|
||||
*/
|
||||
@Cordova()
|
||||
setupiOSChatSettings(settings: ChatSettingsIOS): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns unread in-app chat push messages counter.
|
||||
* The counter increments each time the application receives in-app chat push message
|
||||
* (this usually happens when chat screen is inactive or the application is in background/terminated state).
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
getMessageCounter(onResult: (counter: number) => void) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* MobileMessaging plugin automatically resets the counter to 0 whenever user opens the in-app chat screen.
|
||||
* However, use the following API in case you need to manually reset the counter.
|
||||
*/
|
||||
@Cordova()
|
||||
resetMessageCounter() {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
327
src/@awesome-cordova-plugins/plugins/newrelic/index.ts
Normal file
327
src/@awesome-cordova-plugins/plugins/newrelic/index.ts
Normal file
@@ -0,0 +1,327 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
/**
|
||||
* @name newrelic mobile
|
||||
* @description
|
||||
* This NewRelic plugin collect crashes, network traffic, and other information for hybrid apps using native components.
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { NewRelic } from "@awesome-cordova-plugins/newrelic/ngx";
|
||||
*
|
||||
*
|
||||
* constructor(private newrelic: newrelic) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
*
|
||||
* NewRelic.startInteraction('Getting Data From Server')
|
||||
* .then((res: any) => console.log(res))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'NewRelic',
|
||||
plugin: 'newrelic-cordova-plugin', // npm package name, example: cordova-plugin-camera
|
||||
pluginRef: 'NewRelic', // the variable reference to call the plugin, example: navigator.geolocation
|
||||
repo: 'https://github.com/newrelic/newrelic-cordova-plugin', // the github repository URL for the plugin
|
||||
install:
|
||||
'ionic cordova plugin add https://github.com/newrelic/newrelic-cordova-plugin.git --variable IOS_APP_TOKEN="{ios-app-token}" --variable ANDROID_APP_TOKEN="{android-app-token}"', // OPTIONAL install command, in case the plugin requires variables
|
||||
installVariables: ['IOS_APP_TOKEN', 'ANDROID_APP_TOKEN'], // OPTIONAL the plugin requires variables
|
||||
platforms: ['Android', 'iOS'], // Array of platforms supported, example: ['Android', 'iOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class NewRelic extends AwesomeCordovaNativePlugin {
|
||||
/**
|
||||
* Sets a custom user identifier value to associate mobile user
|
||||
* @param {string} userId The user identifier string.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
setUserId(userId: string): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a custom attribute with a specified name and value.
|
||||
* When called, it overwrites its previous value and type.
|
||||
* The created attribute is shared by multiple Mobile event types.
|
||||
* @param {string} attributeName Name of the attribute.
|
||||
* @param {number} value Value of the attribute.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
setAttribute(name: string, value: any): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove a custom attribute with a specified name and value.
|
||||
* When called, it removes the attribute specified by the name string.
|
||||
* The removed attribute is shared by multiple Mobile event types.
|
||||
* @param {string} name Name of the attribute.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
removeAttribute(name: string): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and records a MobileBreadcrumb event.
|
||||
* @param {string} eventName The name you want to give to a breadcrumb event.
|
||||
* @param {Map<string, any>} attributes A map that includes a list of attributes.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
recordBreadcrumb(name: string, eventAttributes: Map<string, any>): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and records a custom event, for use in New Relic Insights.
|
||||
* The event includes a list of attributes, specified as a map.
|
||||
* @param {string} eventType The type of event.
|
||||
* @param {string} eventName The name of the event.
|
||||
* @param {Map<string, any>} attributes A map that includes a list of attributes.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
recordCustomEvent(eventType: string, eventName: string, eventAttributes: Map<string, any>): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Track a method as an interaction.
|
||||
* @param {string} actionName The name of the action.
|
||||
* @param {function} cb A success callback function.
|
||||
* @returns {Promise} A promise containing the interactionId.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
startInteraction(name: string): Promise<any> {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* End an interaction
|
||||
* @param {string} interactionId The string ID for the interaction you want to end. This string is returned when you use startInteraction().
|
||||
*/
|
||||
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
endInteraction(name: string): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Throws a demo run-time exception to test New Relic crash reporting.
|
||||
* @param {string} message An optional argument attached to the exception.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
crashNow(message: string): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current session ID as a parameter to the successful callback function.
|
||||
* This method is useful for consolidating monitoring of app data (not just New Relic data) based on a single session definition and identifier.
|
||||
* @param {function} cb A success callback function.
|
||||
* @returns {Promise} A promise containing the current session ID.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
currentSessionId(name: string): Promise<any> {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Increments the count of an attribute with a specified name.
|
||||
* When called, it overwrites its previous value and type each time.
|
||||
* If attribute does not exist, it creates an attribute with a value of 1.
|
||||
* The incremented attribute is shared by multiple Mobile event types.
|
||||
* @param {string} name The name of the attribute.
|
||||
* @param {number} value Optional argument that increments the attribute by this value.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
incrementAttribute(name: string, value: any): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {string} name The name for the custom metric.
|
||||
* @param {string} category The metric category name.
|
||||
* @param {number} value Optional. The value of the metric. Value should be a non-zero positive number.
|
||||
* @param {string} countUnit Optional (but requires value and valueUnit to be set). Unit of measurement for the metric count. Supported values are 'PERCENT', 'BYTES', 'SECONDS', 'BYTES_PER_SECOND', or 'OPERATIONS'.
|
||||
* @param {string} valueUnit Optional (but requires value and countUnit to be set). Unit of measurement for the metric value. Supported values are 'PERCENT', 'BYTES', 'SECONDS', 'BYTES_PER_SECOND', or 'OPERATIONS'.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
recordMetric(name: string, category: any, value: Number, countUnit: string, valueUnit: string): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes all attributes from the session..
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
removeAllAttributes(): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the maximum size of the event pool stored in memory until the next harvest cycle.
|
||||
* When the pool size limit is reached, the agent will start sampling events, discarding some new and old, until the pool of events is sent in the next harvest cycle.
|
||||
* Default is a maximum of 1000 events per event harvest cycle.
|
||||
* @param {number} maxPoolSize The maximum number of events per harvest cycle.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
setMaxEventPoolSize(maxPoolSize: Number): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the event harvest cycle length.
|
||||
* Default is 600 seconds (10 minutes).
|
||||
* Minimum value cannot be less than 60 seconds.
|
||||
* Maximum value should not be greater than 600 seconds.
|
||||
* @param {number} maxBufferTimeInSeconds The maximum time (in seconds) that the agent should store events in memory.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
setMaxEventBufferTime(maxBufferTimeInSeconds: Number): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* FOR ANDROID ONLY.
|
||||
* Enable or disable collection of event data.
|
||||
* @param {boolean} enabled Boolean value for enabling analytics events.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
analyticsEventEnabled(enabled: Boolean): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable reporting sucessful HTTP request to the MobileRequest event type.
|
||||
* @param {boolean} enabled Boolean value for enable successful HTTP requests.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
networkRequestEnabled(enabled: Boolean): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable reporting network and HTTP request errors to the MobileRequestError event type.
|
||||
* @param {boolean} enabled Boolean value for enabling network request errors.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
networkErrorRequestEnabled(enabled: Boolean): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable capture of HTTP response bodies for HTTP error traces, and MobileRequestError events.
|
||||
* @param {boolean} enabled Boolean value for enabling HTTP response bodies.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
httpRequestBodyCaptureEnabled(enabled: Boolean): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {string} url The URL of the request.
|
||||
* @param {string} method The HTTP method used, such as GET or POST.
|
||||
* @param {number} status The statusCode of the HTTP response, such as 200 for OK.
|
||||
* @param {number} startTime The start time of the request in milliseconds since the epoch.
|
||||
* @param {number} endTime The end time of the request in milliseconds since the epoch.
|
||||
* @param {number} bytesSent The number of bytes sent in the request.
|
||||
* @param {number} bytesReceived The number of bytes received in the response.
|
||||
* @param {string} body Optional. The response body of the HTTP response. The response body will be truncated and included in an HTTP Error metric if the HTTP transaction is an error.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
noticeHttpTransaction(
|
||||
url: string,
|
||||
method: string,
|
||||
status: Number,
|
||||
startTime: Number,
|
||||
endTime: Number,
|
||||
bytesSent: Number,
|
||||
bytesReceived: Number,
|
||||
body: string
|
||||
): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Records network failures.
|
||||
* If a network request fails, use this method to record details about the failure.
|
||||
* In most cases, place this call inside exception handlers.
|
||||
* @param {string} url The URL of the request.
|
||||
* @param {string} httpMethod The HTTP method used, such as GET or POST.
|
||||
* @param {number} startTime The start time of the request in milliseconds since the epoch.
|
||||
* @param {number} endTime The end time of the request in milliseconds since the epoch.
|
||||
* @param {string} failure The name of the network failure. Possible values are 'Unknown', 'BadURL', 'TimedOut', 'CannotConnectToHost', 'DNSLookupFailed', 'BadServerResponse', 'SecureConnectionFailed'.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
noticeNetworkFailure(url: string, method: string, startTime: Number, endTime: Number, failure: string): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Records JavaScript errors for ionic.
|
||||
* @param {Error} err The error to report.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
recordError(err: Error): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
|
||||
/**
|
||||
* Shut down the agent within the current application lifecycle during runtime.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true,
|
||||
})
|
||||
shutdown(): void {
|
||||
return; // We add return; here to avoid any IDE / Compiler errors
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user