Compare commits

...

110 Commits

Author SHA1 Message Date
Daniel Sogl
60aa74baed 6.2.0 2022-11-04 20:48:47 +00:00
MaximBelov
af55cb25fa feat(device): detect if app is running on a macOS desktop with Apple Silicon (#4299) 2022-11-04 21:46:34 +01:00
Cesar de la Vega
2b8992faf3 feat(purchases)!: migrate RevenueCat to 3.2.1 (#4392)
* feat(purchases)!: migrate RevenueCat to 3.2.0

* update version to 3.2.1
2022-11-04 21:46:09 +01:00
renovate[bot]
e90a6a306c fix(deps): update dependency tslib to v2.4.1 (#4413)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 21:45:39 +01:00
Alex Ryltsov
97f566170e feat(file-chooser): add plugin (#4396) 2022-11-04 21:45:27 +01:00
Alex Ryltsov
d2e92f5589 feat(image-resizer): add plugin (#4397)
* feature: added support for the image-resizer cordova plugin

* Update index.ts

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-11-04 21:44:53 +01:00
Mathias Verdon
c544b43a51 fix(diagnostic): add getBluetoothAuthorizationStatus function (#4398) 2022-11-04 21:43:46 +01:00
Sawyer Schumacher
755b28e325 feat(ble): add wrapper for starting location notifications (#4399) 2022-11-04 21:43:28 +01:00
Mathias Verdon
6a97dc5e07 fix(diagnostic): add new Android runtime permissions for Bluetooth (#4402) 2022-11-04 21:43:09 +01:00
Nuno Rodrigues
2d347e46ed fix(bluetooth-le): use correct return types (#4411) 2022-11-04 21:42:47 +01:00
ndesai-newrelic
ef499ed290 feat(newrelic): add plugin (#4409)
* Adding Newrelic support for Awesome plugins

* Adding more static methods for newrelic cordova plugin

* adding documentation for newrelic plugin

* Updating newrelic cordova plugin repo

* Update index.ts

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-11-04 21:42:26 +01:00
Bara Aksayeth
1e258adeb5 feat(crop-privacy): add plugin (#4408)
* feat(crop-privacy): add new plugin

* Update index.ts

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-11-04 21:40:26 +01:00
renovate[bot]
5c0b31faa7 chore(deps): update dependency rollup to v3.2.5 (#4406)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 21:39:40 +01:00
renovate[bot]
d00d54f507 chore(deps): update typescript-eslint monorepo to v5.42.0 (#4405)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 21:39:34 +01:00
renovate[bot]
2e5e43fa7b chore(deps): update dependency @types/node to v16.18.3 (#4404)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 21:39:25 +01:00
renovate[bot]
8eddcb0d45 chore(deps): update dependency eslint-plugin-jsdoc to v39.4.0 (#4403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-30 12:05:29 +01:00
renovate[bot]
4716a9db68 chore(deps): update dependency @types/node to v16.18.2 (#4401)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-29 17:07:06 +02:00
renovate[bot]
7eb57cdde8 chore(deps): update typescript-eslint monorepo to v5.41.0 (#4394)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-26 18:41:56 +02:00
renovate[bot]
6f38115ce2 chore(deps): update dependency eslint-plugin-jsdoc to v39.3.25 (#4390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-26 18:41:46 +02:00
renovate[bot]
d76dfae916 chore(deps): update dependency @types/node to v16.18.1 (#4391)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-26 18:41:35 +02:00
Daniel Sogl
b8e3ac4403 6.1.0 2022-10-22 17:29:32 +00:00
Alex Ryltsov
cd81cfabf4 feat(diagnostic): addisCameraRollAuthorized and getCameraRollAuthorizationStatus functions (WIP) (#4362) 2022-10-22 19:27:42 +02:00
Serj Malko
81a8b42a29 feat(webim): update plugin wrapper (#4370)
* feat(plugins): Add Webim SDK plugin

* feat(webim): Add request/response models

* feat(webim): Fix Observable methods

* Update index.ts

Co-authored-by: Малько Сергей Сергеевич <malko@softclub.by>
Co-authored-by: SerjMalko <serhey_rti@mail.ru>
2022-10-22 19:04:29 +02:00
Nico Lueg
6f14ba6031 feat(purchases)!: migrate RevenueCat to 3.1.0 (#4382)
- Breaking Changes can be found here: https://github.com/RevenueCat/cordova-plugin-purchases/releases/tag/3.0.0
2022-10-22 19:03:49 +02:00
Alex Ryltsov
62f664e61a fix(launch-navigator): use currect handlers (#4385) 2022-10-22 19:03:32 +02:00
renovate[bot]
664e3385ce chore(deps): update dependency eslint-plugin-jsdoc to v39.3.15 (#4389)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-22 19:02:35 +02:00
renovate[bot]
8201dc1d14 chore(deps): update dependency rollup to v3.2.3 (#4381)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-22 18:37:33 +02:00
renovate[bot]
375246970c chore(deps): update dependency eslint to v8.26.0 (#4388)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-22 18:36:50 +02:00
renovate[bot]
d7c771b250 chore(deps): update dependency @types/node to v16.11.68 (#4386)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-19 19:20:39 +02:00
renovate[bot]
89b21b7694 chore(deps): update dependency eslint-plugin-jsdoc to v39.3.14 (#4380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-19 19:20:27 +02:00
renovate[bot]
5e23ebebdc chore(deps): update typescript-eslint monorepo to v5.40.1 (#4379)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-17 23:26:05 +02:00
renovate[bot]
5bc6693571 chore(deps): update dependency eslint-plugin-jsdoc to v39.3.12 (#4378)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-17 23:25:53 +02:00
renovate[bot]
facadcabaa chore(deps): update dependency rollup to v3.2.2 (#4376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-17 13:26:13 +02:00
Daniel Sogl
d1210b76a7 6.0.1 2022-10-17 11:23:43 +00:00
Daniel Sogl
e7d1641fe9 fix: use correct core version 2022-10-17 11:23:21 +00:00
renovate[bot]
e22cf2bb69 chore(deps): update dependency @types/node to v16.11.66 (#4372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-16 14:27:28 +02:00
renovate[bot]
deb8a61a81 chore(deps): update dependency rollup to v3.2.1 (#4373)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-16 14:27:18 +02:00
renovate[bot]
3cca6104df chore(deps): update actions/setup-node action to v3.5.1 (#4371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-15 18:20:00 +02:00
Daniel Sogl
de884a55d0 chore: use node v16 in actions 2022-10-15 16:19:39 +00:00
Daniel Sogl
5a22241db5 6.0.0 2022-10-15 16:17:59 +00:00
renovate[bot]
d476af44cd chore(deps): update dependency rollup to v3 (#4367)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-15 18:16:39 +02:00
renovate[bot]
8b6d6c726b chore(deps): update dependency minimist to v1.2.7 (#4365)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-15 18:16:24 +02:00
renovate[bot]
7f1bf9520b chore(deps): update dependency @types/node to v16.11.65 (#4364)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-15 18:16:17 +02:00
renovate[bot]
f9257f4d65 chore(deps): update typescript-eslint monorepo to v5.40.0 (#4363)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-15 18:16:10 +02:00
Johannes Korrek
85441e59ca feat(core): use angular ivy (#4369)
* chore(deps): bump angular and typescript

- required to enable ivy output & partial compilation mode

* chore(build): enable ivy output & partial compilation mode

- change ngx builds to use ivy
- remove some code that is no longer required with ivy
2022-10-15 18:12:20 +02:00
Daniel Sogl
a86c55ba5f 5.46.0 2022-10-09 14:55:04 +00:00
Lihang Xu
f8c6430a26 feat(GCDWebServer): add plugin (#4302)
* add GCDWebServer

* fix plugin ref and add the server options interface

* fix the pluginRef's case

* update name

* add docs
2022-10-09 16:48:59 +02:00
nomadev
98dc7c4be0 feat(bluetooth-le): upgrade to v6.7.0 (#4320)
* Update index.ts

updated plugin with new methods from cordova-plugin-bluetoothle 6.7.0
https://github.com/randdusing/cordova-plugin-bluetoothle/compare/v6.6.2...v6.7.0

* Fixed comments

* Fixed responses in new methods

Co-authored-by: claudio <claudio.corti@hondaracing.co.jp>
Co-authored-by: “Claudio <“claudio.corti@bitcycle.uk”>
2022-10-09 16:47:17 +02:00
Bruno Sales Cardoso
178489ffaa fix(sms-retriever): update startWatching result type (#4309)
* Updating the types to match what we get

* Update index.ts
2022-10-09 16:45:08 +02:00
Khang
bf860c30c2 feat(applovin): add plugin (#4307)
* feat(applovin): add plugin

* fix(applovin): fix pluginRef, add ad hidden events
2022-10-09 16:44:33 +02:00
Uglješa Erceg
a7a10913fc feat(adjust): update wrapper for Adjust Cordova SDK v4.32.0 (#4327) 2022-10-09 16:39:33 +02:00
Clément Prod'homme
406ad4ec45 docs(camera): adjust content type (#4330) 2022-10-09 16:37:32 +02:00
Clément Prod'homme
c3a01431ce docs(facebook): adjust content type (#4331) 2022-10-09 16:36:58 +02:00
Yevhen
dc1ee8c530 feat(firebase-x): add MessagePayloadAps prop (#4344)
* feat(types): add aps for MessagePayload

* fix(types): fix firebase-x on ios
2022-10-09 16:35:48 +02:00
renovate[bot]
b6a44e3a8a chore(deps): update dependency eslint to v8.25.0 (#4360)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-09 16:33:26 +02:00
dependabot[bot]
7761ed4a39 build(deps): bump async from 2.6.3 to 2.6.4 (#4357)
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-09 16:33:19 +02:00
dependabot[bot]
e799600b6e build(deps): bump ansi-regex and ansi-regex (#4356)
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) and [ansi-regex](https://github.com/chalk/ansi-regex). These dependencies needed to be updated together.

Updates `ansi-regex` from 3.0.0 to 5.0.1
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v3.0.0...v5.0.1)

Updates `ansi-regex` from 4.1.0 to 5.0.1
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v3.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-09 16:32:56 +02:00
uzosocom
b0780a8bec feat(app-review): add plugin (#4348) 2022-10-09 16:32:47 +02:00
renovate[bot]
b6cc2d93f0 chore(deps): update actions/checkout action to v3.1.0 (#4359)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-09 16:31:58 +02:00
renovate[bot]
7817643282 chore(deps): update dependency @types/node to v16.11.64 (#4336)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-09 16:31:48 +02:00
infacto
b572a10a6e feat(diagnostic): extend parameter for requestLocationAuthorization (#4350) 2022-10-09 16:31:00 +02:00
uzosocom
acb39e5849 feat(device): add sdkVersion (#4354) 2022-10-09 16:28:00 +02:00
Serj Malko
74302846dc feat(webim): add plugin (#4355)
Co-authored-by: Малько Сергей Сергеевич <malko@softclub.by>
2022-10-09 16:27:26 +02:00
renovate[bot]
a76463877c chore(deps): update typescript-eslint monorepo to v5.39.0 (#4337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-09 16:25:51 +02:00
renovate[bot]
698692ed59 chore(deps): update dependency @types/lodash to v4.14.186 (#4343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-09 16:25:45 +02:00
renovate[bot]
dfd3d55dbc chore(deps): update actions/setup-node action to v3.5.0 (#4341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-09 16:25:36 +02:00
renovate[bot]
f2d809f8b3 chore(deps): update typescript-eslint monorepo to v5.38.0 (#4326)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-26 10:11:28 +02:00
renovate[bot]
22d6cd957b chore(deps): update actions/stale action to v6 (#4328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-26 10:11:21 +02:00
renovate[bot]
2b061556dd chore(deps): update dependency rollup to v2.79.1 (#4329)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-26 10:11:12 +02:00
renovate[bot]
7baa002fb9 chore(deps): update dependency @types/node to v16.11.60 (#4333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-09-26 10:11:05 +02:00
renovate[bot]
2698011d4b chore(deps): update dependency eslint to v8.24.0 (#4334)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-26 10:10:48 +02:00
renovate[bot]
b8374ab3b1 chore(deps): update dependency @types/node to v16.11.59 (#4305)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-14 11:37:56 +02:00
renovate[bot]
e85f6cf2b2 chore(deps): update dependency winston to v3.8.2 (#4303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-14 11:12:50 +02:00
renovate[bot]
f86764abe7 chore(deps): update dependency @types/lodash to v4.14.185 (#4312)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-14 11:12:34 +02:00
renovate[bot]
dcb9b225ce chore(deps): update dependency eslint to v8.23.1 (#4313)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-14 11:12:15 +02:00
renovate[bot]
97739e86f1 chore(deps): update typescript-eslint monorepo to v5.37.0 (#4316)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-14 11:12:05 +02:00
renovate[bot]
b3fade36c6 chore(deps): update typescript-eslint monorepo to v5.36.2 (#4300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 19:50:44 +02:00
Daniel Sogl
a6fcc16d12 5.45.0 2022-09-05 17:16:40 +00:00
Daniel Sogl
e420bd1d2a docs: refresh readmes 2022-09-05 17:10:51 +00:00
Marius Backes
8b826e3c1b feat(in-app-purchase-2): update validator for custom headers (#4262) 2022-09-05 19:05:08 +02:00
Quentin Stoeckel
1b45462542 doc: fix Secure Storage broken link (#4265)
It currently leads to a 404 page (https://ionicframework.com/docs/native/secure-storage/): a working anchor would lead to https://ionic.io/docs/secure-storage
2022-09-05 19:04:59 +02:00
Uglješa Erceg
82377f0633 feat(adjust): update wrapper for Adjust Cordova SDK v4.30.0 (#4277) 2022-09-05 19:04:48 +02:00
Ashish Gaikwad
aef160e418 feat(lets-cooee): add event observer and installation documentation (#4278)
* feat(Cooee): add Cooee plugin

* chore(Cooee): update document

* Update index.ts

* feat(lets-cooee): add event observable

* docs(lets-cooee): add lets-cooee documentation

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2022-09-05 19:04:37 +02:00
Lihang Xu
a801c7d305 feat(dynamsoft-barcode): add setFocus and setZoom (#4281)
* add set zoom for Dynamsoft Barcode Scanner

* update Dynamsoft Barcode Scanner to add setFocus

* feat: add rotate scan option and rotation frame result to Dynamsoft Barcode Scanner

* add comments and rename the rotation result for Dynamsoft Barcode Scanner
2022-09-05 19:04:21 +02:00
Yevhen
898e0b8588 feat(firebase-x): add message typing (#4282) 2022-09-05 19:04:10 +02:00
renovate[bot]
99161e2b73 chore(deps): update dependency @types/lodash to v4.14.184 (#4283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:03:52 +02:00
Srinidhi
678fb71a7f feat(unvired-cordova-sdk): Add new function to regenrate the JWT Token (#4291) 2022-09-05 19:03:26 +02:00
renovate[bot]
6e953e58ca chore(deps): update dependency zone.js to v0.11.8 (#4280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:02:24 +02:00
renovate[bot]
29163b93d6 chore(deps): update dependency terser-webpack-plugin to v5.3.6 (#4279)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:02:20 +02:00
renovate[bot]
ba83a81c75 chore(deps): update dependency eslint-plugin-jsdoc to v39.3.6 (#4272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:02:15 +02:00
renovate[bot]
ac1d0aa0a1 chore(deps): update dependency rollup to v2.79.0 (#4268)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:02:08 +02:00
renovate[bot]
5d7cf3940f chore(deps): update typescript-eslint monorepo to v5.36.1 (#4267)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:01:58 +02:00
renovate[bot]
725e88080b chore(deps): update dependency webpack to v5.74.0 (#4266)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:01:53 +02:00
renovate[bot]
38d59e3455 chore(deps): update dependency eslint to v8.23.0 (#4259)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:01:48 +02:00
renovate[bot]
b5b8968ac4 chore(deps): update dependency @types/node to v16.11.57 (#4258)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 19:01:42 +02:00
MaximBelov
ebdd6e9796 feat(intercom): add displaySurvey (#4292) 2022-09-05 19:01:03 +02:00
jcesarmobile
620385befc docs: update template urls (#4293) 2022-09-05 19:00:42 +02:00
Neil Cresswell
ba9c1c154e feat(android-permissions): add android 13 permissions (#4295)
Added new POST_NOTIFICATIONS, READ_MEDIA_AUDIO, READ_MEDIA_IMAGES, and READ_MEDIA_VIDEO permissions. Adding missing Bluetooth permissions for advertise, connect, and scan.
The Bluetooth permissions are already present in the underlying Cordova plugin. The Android 13 permissions have been submitted to the underlying Cordova plugin as a pull request so may not be present there yet, but match the pull request and the actual underlying permission names found in Android 13.
2022-09-05 18:59:34 +02:00
renovate[bot]
dd081cc696 chore(deps): update dependency zone.js to v0.11.7 (#4264)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-22 18:55:45 +02:00
dependabot[bot]
135c6cc8b4 build(deps): bump terser from 5.9.0 to 5.14.2 (#4263)
Bumps [terser](https://github.com/terser/terser) from 5.9.0 to 5.14.2.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-20 18:02:49 +02:00
renovate[bot]
c7d39dde42 chore(deps): update typescript-eslint monorepo to v5.30.7 (#4248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-19 21:26:19 +02:00
renovate[bot]
eb27d87d92 chore(deps): update dependency rollup to v2.77.0 (#4252)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-15 21:33:41 +02:00
renovate[bot]
878a6e94c2 chore(deps): update dependency @types/node to v16.11.44 (#4249)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-14 20:45:53 +02:00
renovate[bot]
95fa8eb098 chore(deps): update dependency ts-node to v10.9.1 (#4247)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-14 20:45:29 +02:00
renovate[bot]
b1f4639640 chore(deps): update actions/setup-node action to v3.4.1 (#4257)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-14 20:45:11 +02:00
renovate[bot]
d6697b8a95 chore(deps): update actions/setup-node action to v3.4.0 (#4253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-11 21:25:48 +02:00
renovate[bot]
41e96d950f chore(deps): update dependency eslint to v8.19.0 (#4246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-02 10:35:13 +02:00
renovate[bot]
56fc1d4663 chore(deps): update typescript-eslint monorepo to v5.30.3 (#4245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-01 19:25:22 +02:00
renovate[bot]
9e5953bc27 chore(deps): update typescript-eslint monorepo to v5.30.2 (#4244)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-01 19:22:23 +02:00
renovate[bot]
346ea82652 chore(deps): update dependency winston to v3.8.1 (#4243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-01 13:44:23 +02:00
44 changed files with 2925 additions and 771 deletions

View File

@@ -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/
[ ] 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. -->

View File

@@ -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@v3.1.0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3.3.0
uses: actions/setup-node@v3.5.1
with:
node-version: ${{ matrix.node-version }}

View File

@@ -9,10 +9,10 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.0.2
- uses: actions/setup-node@v3.3.0
- uses: actions/checkout@v3.1.0
- uses: actions/setup-node@v3.5.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.3.0
- uses: actions/checkout@v3.1.0
- uses: actions/setup-node@v3.5.1
with:
node-version: 14
node-version: 16
registry-url: https://registry.npmjs.org/
- run: npm ci
- run: npm run shipit

View File

@@ -13,7 +13,7 @@ jobs:
pull-requests: write
steps:
- uses: actions/stale@v5
- uses: actions/stale@v6
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'There has been no recent activity and this issue has been marked inactive.'

View File

@@ -1,3 +1,96 @@
# [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)

View File

@@ -216,6 +216,7 @@
* [Printer](plugins/printer.md)
* [Browser Tab](plugins/browser-tab.md)
* [Dynamsoft Barcode Scanner](plugins/dynamsoft-barcode-scanner.md)
* [GCDWebServer](plugins/gcdwebserver.md)
* [Installation](installation.md)
* [FAQ](faq.md)

View 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

View 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

19
docs/plugins/gcdwebserver.md Executable file
View 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

View 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

View File

@@ -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

View 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

View 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

1293
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "awesome-cordova-plugins",
"version": "5.44.0",
"version": "6.2.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,30 +24,30 @@
"prettier": "prettier --write --ignore-unknown \"**/*\""
},
"dependencies": {
"tslib": "2.4.0"
"tslib": "2.4.1"
},
"devDependencies": {
"@angular/common": "11.2.14",
"@angular/compiler": "11.2.14",
"@angular/compiler-cli": "11.2.14",
"@angular/core": "11.2.14",
"@angular/common": "12.2.16",
"@angular/compiler": "12.2.16",
"@angular/compiler-cli": "12.2.16",
"@angular/core": "12.2.16",
"@types/cordova": "0.0.34",
"@types/fs-extra": "9.0.13",
"@types/jest": "27.5.2",
"@types/lodash": "4.14.182",
"@types/node": "16.11.42",
"@types/lodash": "4.14.186",
"@types/node": "16.18.3",
"@types/rimraf": "3.0.2",
"@types/webpack": "5.28.0",
"@typescript-eslint/eslint-plugin": "5.30.0",
"@typescript-eslint/parser": "5.30.0",
"@typescript-eslint/eslint-plugin": "5.42.0",
"@typescript-eslint/parser": "5.42.0",
"async-promise-queue": "1.0.5",
"conventional-changelog-cli": "2.2.2",
"cz-conventional-changelog": "3.3.0",
"dgeni": "0.4.14",
"dgeni-packages": "0.16.10",
"eslint": "8.18.0",
"eslint": "8.26.0",
"eslint-config-prettier": "8.5.0",
"eslint-plugin-jsdoc": "39.3.3",
"eslint-plugin-jsdoc": "39.4.0",
"fs-extra": "10.1.0",
"gulp": "4.0.2",
"gulp-rename": "2.0.0",
@@ -57,19 +57,19 @@
"jest": "27.5.1",
"lint-staged": "13.0.3",
"lodash": "4.17.21",
"minimist": "1.2.6",
"minimist": "1.2.7",
"prettier": "2.7.1",
"rimraf": "3.0.2",
"rollup": "2.75.7",
"rollup": "3.2.5",
"rxjs": "6.6.7",
"terser-webpack-plugin": "5.3.3",
"terser-webpack-plugin": "5.3.6",
"ts-jest": "27.1.5",
"ts-node": "10.8.1",
"typescript": "4.1.6",
"ts-node": "10.9.1",
"typescript": "4.2.4",
"unminified-webpack-plugin": "3.0.0",
"webpack": "5.73.0",
"winston": "3.8.0",
"zone.js": "0.11.6"
"webpack": "5.74.0",
"winston": "3.8.2",
"zone.js": "0.11.8"
},
"jest": {
"testEnvironment": "jsdom",

View File

@@ -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'),

View File

@@ -2,7 +2,6 @@ import {
cleanupNgx,
generateLegacyBundles,
generateDeclarationFiles,
modifyMetadata,
transpileNgx,
transpileNgxCore,
} from '../build/ngx';
@@ -11,5 +10,4 @@ transpileNgxCore();
transpileNgx();
generateLegacyBundles();
generateDeclarationFiles();
modifyMetadata();
cleanupNgx();

View File

@@ -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 = {

View File

@@ -65,6 +65,9 @@ export class AdjustConfig {
private allowiAdInfoReading: boolean = null; // iOS only
private allowIdfaReading: boolean = null; // iOS only
private allowAdServicesInfoReading: boolean = null; // iOS only
private coppaCompliantEnabled: boolean = null;
private playStoreKidsAppEnabled: boolean = null; // Android only
private linkMeEnabled: boolean = null; // iOS only
private attributionCallback: (attribution: AdjustAttribution) => void = null;
private eventTrackingSucceededCallback: (event: AdjustEventSuccess) => void = null;
@@ -119,6 +122,14 @@ export class AdjustConfig {
this.eventBufferingEnabled = eventBufferingEnabled;
}
setCoppaCompliantEnabled(coppaCompliantEnabled: boolean) {
this.coppaCompliantEnabled = coppaCompliantEnabled;
}
setPlayStoreKidsAppEnabled(playStoreKidsAppEnabled: boolean) {
this.playStoreKidsAppEnabled = playStoreKidsAppEnabled;
}
setUserAgent(userAgent: string) {
this.userAgent = userAgent;
}
@@ -159,6 +170,10 @@ export class AdjustConfig {
this.allowAdServicesInfoReading = allowAdServicesInfoReading;
}
setLinkMeEnabled(linkMeEnabled: boolean) {
this.linkMeEnabled = linkMeEnabled;
}
setAttributionCallbackListener(attributionCallback: (attribution: AdjustAttribution) => void) {
this.attributionCallback = attributionCallback;
}
@@ -320,6 +335,7 @@ export class AdjustPlayStoreSubscription {
export class AdjustThirdPartySharing {
private isEnabled: boolean;
private granularOptions: string[] = [];
private partnerSharingSettings: any[] = [];
constructor(isEnabled: boolean) {
this.isEnabled = isEnabled;
@@ -330,6 +346,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 {
@@ -391,6 +413,7 @@ export interface AdjustAttribution {
costType: string;
costAmount: string;
costCurrency: string;
fbInstallReferrer: string; // Android only
}
export interface AdjustSessionSuccess {
@@ -454,7 +477,11 @@ 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",
}
/**
@@ -463,6 +490,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';
@@ -505,6 +533,7 @@ export enum AdjustAdRevenueSource {
})
@Injectable()
export class Adjust extends AwesomeCordovaNativePlugin {
/**
* This method initializes Adjust SDK
*
@@ -623,7 +652,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 +699,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 +805,14 @@ 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;
}
}

View File

@@ -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',

View 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;
}
}

View 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;
}
}

View File

@@ -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).
*

View File

@@ -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.

View File

@@ -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';

View File

@@ -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
}
}

View File

@@ -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;
}

View File

@@ -66,6 +66,9 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
WRITE_EXTERNAL_STORAGE: 'WRITE_EXTERNAL_STORAGE',
READ_EXTERNAL_STORAGE: 'READ_EXTERNAL_STORAGE',
BODY_SENSORS: 'BODY_SENSORS',
BLUETOOTH_ADVERTISE: "BLUETOOTH_ADVERTISE",
BLUETOOTH_SCAN: "BLUETOOTH_SCAN",
BLUETOOTH_CONNECT: "BLUETOOTH_CONNECT",
};
@CordovaProperty()
@@ -88,7 +91,6 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
};
/**
* iOS ONLY
* Location accuracy authorization
*/
locationAccuracyAuthorization = {
@@ -114,6 +116,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 = {
@@ -154,6 +157,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.
*
@@ -294,11 +309,12 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
* 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;
}
@@ -671,6 +687,16 @@ 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;
}
/**
* Checks if the application is authorized to use external storage.
*
@@ -814,20 +840,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 +876,17 @@ 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'] })
requestCameraRollAuthorization(): Promise<any> {
@Cordova({ platforms: ['iOS'], callbackOrder: 'reverse' })
requestCameraRollAuthorization(accessLevel?: string): Promise<any> {
return;
}
@@ -1006,13 +1053,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;
}

View File

@@ -12,15 +12,18 @@ 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[];
}
@@ -44,7 +47,7 @@ export enum EnumResolution {
RESOLUTION_720P = 2,
RESOLUTION_1080P = 3,
RESOLUTION_2K = 4,
RESOLUTION_4K = 5
RESOLUTION_4K = 5,
}
/**
@@ -183,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;
}
}

View File

@@ -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">
* ```
*

View 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;
}
}

View File

@@ -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;
}

View 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;
}
}

View 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;
}
}

View File

@@ -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 {}
}

View File

@@ -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;
}
}

View File

@@ -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';

View File

@@ -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;

View File

@@ -1,5 +1,6 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
/**
* @name Lets Cooee
@@ -72,4 +73,17 @@ export class Cooee extends AwesomeCordovaNativePlugin {
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;
}
}

View File

@@ -0,0 +1,320 @@
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/ndesai-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: string): 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
}
/**
* Records JavaScript errors for ionic.
* @param {string} name The name of the error.
* @param {string} message The message of the error.
* @param {string} stack The error stack of the error.
* @param {boolean} isFatal The flag for whether the error is fatal.
*/
@Cordova({
sync: true,
})
recordError(name: string, message: string, stack: string, isFatal: boolean): 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
}
}

View File

@@ -2,22 +2,6 @@ import { Injectable } from '@angular/core';
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
/**
* @deprecated use ATTRIBUTION_NETWORK instead
*
* Enum for attribution networks
* @readonly
* @enum {number}
*/
export enum ATTRIBUTION_NETWORKS {
APPLE_SEARCH_ADS = 0,
ADJUST = 1,
APPSFLYER = 2,
BRANCH = 3,
TENJIN = 4,
FACEBOOK = 5,
}
export enum ATTRIBUTION_NETWORK {
APPLE_SEARCH_ADS = 0,
ADJUST = 1,
@@ -71,18 +55,6 @@ export enum BILLING_FEATURE {
PRICE_CHANGE_CONFIRMATION,
}
/**
* @deprecated use PURCHASE_TYPE instead
*
* Enum for attribution networks
* @readonly
* @enum {string}
*/
export enum ProductType {
SUBS = 'subs',
INAPP = 'inapp',
}
export enum PRORATION_MODE {
UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY = 0,
@@ -172,6 +144,10 @@ export enum INTRO_ELIGIBILITY_STATUS {
* The user is eligible for a free trial or intro pricing for this product.
*/
INTRO_ELIGIBILITY_STATUS_ELIGIBLE,
/**
* There is no free trial or intro pricing for this product.
*/
INTRO_ELIGIBILITY_STATUS_NO_INTRO_OFFER_EXISTS,
}
/**
@@ -211,7 +187,7 @@ export enum INTRO_ELIGIBILITY_STATUS {
* constructor(public platform: Platform, private purchases: Purchases) {
* platform.ready().then(() => {
* this.purchases.setDebugLogsEnabled(true); // Enable to get debug logs
* this.purchases.setup("my_api_key", "my_app_user_id");
* this.purchases.configure("my_api_key", "my_app_user_id");
* }
* }
* ```
@@ -229,15 +205,15 @@ export enum INTRO_ELIGIBILITY_STATUS {
* PurchasesOfferings
* PurchasesOffering
* PurchasesPackage
* PurchasesProduct
* PurchaserInfo
* PurchasesStoreProduct
* CustomerInfo
* PurchasesEntitlementInfos
* PurchasesEntitlementInfo
* PurchasesTransaction
* PurchasesStoreTransaction
*/
@Plugin({
pluginName: 'Purchases',
plugin: 'cordova-plugin-purchases@2.4.0',
plugin: 'cordova-plugin-purchases@3.2.1',
pluginRef: 'Purchases', // the variable reference to call the plugin, example: navigator.geolocation
repo: 'https://github.com/RevenueCat/cordova-plugin-purchases', // the github repository URL for the plugin
platforms: ['Android', 'iOS'], // Array of platforms supported, example: ['Android', 'iOS']
@@ -246,7 +222,6 @@ export enum INTRO_ELIGIBILITY_STATUS {
providedIn: 'root',
})
export class Purchases extends AwesomeCordovaNativePlugin {
static ATTRIBUTION_NETWORKS = ATTRIBUTION_NETWORK;
/**
* Enum for attribution networks
*
@@ -295,6 +270,8 @@ export class Purchases extends AwesomeCordovaNativePlugin {
static INTRO_ELIGIBILITY_STATUS = INTRO_ELIGIBILITY_STATUS;
/**
* @deprecated Use {@link configureWith} instead. It accepts a {@link PurchasesConfiguration} object which offers more flexibility.
*
* Sets up Purchases with your API key and an app user id.
*
* @param {string} apiKey RevenueCat API Key. Needs to be a String
@@ -307,28 +284,14 @@ export class Purchases extends AwesomeCordovaNativePlugin {
* suite, otherwise it will use standardUserDefaults. Default is null, which will make the SDK use standardUserDefaults.
*/
@Cordova({ sync: true })
setup(apiKey: string, appUserID?: string | null, observerMode = false, userDefaultsSuiteName?: string): void {}
configure(apiKey: string, appUserID?: string | null, observerMode = false, userDefaultsSuiteName?: string): void {}
/**
* Set this to true if you are passing in an appUserID but it is anonymous, this is true by default if you didn't pass an appUserID
* If a user tries to purchase a product that is active on the current app store account, we will treat it as a restore and alias
* the new ID with the previous id.
*
* @param allowSharing {boolean} true if enabled, false to disabled
* Sets up Purchases with your API key and an app user id.
* @param {PurchasesConfiguration} Object containing configuration parameters
*/
@Cordova({ sync: true })
setAllowSharingStoreAccount(allowSharing: boolean): void {}
/**
* Add a dict of attribution information
*
* @deprecated Use the set<NetworkId> functions instead.
* @param {object} data Attribution data from any of the attribution networks in Purchases.ATTRIBUTION_NETWORKS
* @param {ATTRIBUTION_NETWORK} network Which network, see Purchases.ATTRIBUTION_NETWORK
* @param {string?} networkUserId An optional unique id for identifying the user. Needs to be a string.
*/
@Cordova({ sync: true })
addAttributionData(data: { [key: string]: any }, network: ATTRIBUTION_NETWORK, networkUserId?: string): void {}
configureWith({ apiKey, appUserID, observerMode, userDefaultsSuiteName, useAmazon }: PurchasesConfiguration): void {}
/**
* Gets the Offerings configured in the dashboard
@@ -345,22 +308,19 @@ export class Purchases extends AwesomeCordovaNativePlugin {
*
* @param {string[]} productIdentifiers Array of product identifiers
* @param {PURCHASE_TYPE} type Optional type of products to fetch, can be inapp or subs. Subs by default
* @returns {Promise<PurchasesProduct[]>} Will return a [PurchasesError] if the products are not properly configured in RevenueCat or if there is another error retrieving them.
* @returns {Promise<PurchasesStoreProduct[]>} Will return a [PurchasesError] if the products are not properly configured in RevenueCat or if there is another error retrieving them.
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
getProducts(productIdentifiers: string[], type: PURCHASE_TYPE = PURCHASE_TYPE.SUBS): Promise<PurchasesProduct[]> {
getProducts(
productIdentifiers: string[],
type: PURCHASE_TYPE = PURCHASE_TYPE.SUBS
): Promise<PurchasesStoreProduct[]> {
return;
}
/**
* @typedef {Object} MakePurchaseResponse
* @property {string} productIdentifier - The product identifier that has been purchased
* @property {PurchaserInfo} purchaserInfo - The new PurchaserInfo after the successful purchase
*/
/**
* Make a purchase
*
@@ -379,7 +339,7 @@ export class Purchases extends AwesomeCordovaNativePlugin {
productIdentifier: string,
upgradeInfo?: UpgradeInfo | null,
type: PURCHASE_TYPE = PURCHASE_TYPE.SUBS
): Promise<{ productIdentifier: string; purchaserInfo: PurchaserInfo }> {
): Promise<{ productIdentifier: string; customerInfo: CustomerInfo }> {
return;
}
@@ -399,17 +359,17 @@ export class Purchases extends AwesomeCordovaNativePlugin {
purchasePackage(
aPackage: PurchasesPackage,
upgradeInfo?: UpgradeInfo | null
): Promise<{ productIdentifier: string; purchaserInfo: PurchaserInfo }> {
): Promise<{ productIdentifier: string; customerInfo: CustomerInfo }> {
return;
}
/**
* Restores a user's previous purchases and links their appUserIDs to any user's also using those purchases.
*
* @returns {Promise<PurchaserInfo>} Errors are of type [PurchasesError]
* @returns {Promise<CustomerInfo>} Errors are of type [PurchasesError]
*/
@Cordova()
restoreTransactions(): Promise<PurchaserInfo> {
restorePurchases(): Promise<CustomerInfo> {
return;
}
@@ -428,7 +388,7 @@ export class Purchases extends AwesomeCordovaNativePlugin {
* to identify a user without calling configure.
*
* @param {string} appUserID The appUserID that should be linked to the currently user
* @returns {Promise<LogInResult>} an object that contains the purchaserInfo after logging in, as well as a boolean indicating
* @returns {Promise<LogInResult>} an object that contains the customerInfo after logging in, as well as a boolean indicating
* whether the user has just been created for the first time in the RevenueCat backend.
*/
@Cordova()
@@ -440,45 +400,10 @@ export class Purchases extends AwesomeCordovaNativePlugin {
* Logs out the Purchases client clearing the saved appUserID. This will generate a random user id and save it in the cache.
* If the current user is already anonymous, this will produce a PurchasesError.
*
* @returns {Promise<PurchaserInfo>} new purchaser info after resetting.
* @returns {Promise<CustomerInfo>} new purchaser info after resetting.
*/
@Cordova()
logOut(): Promise<PurchaserInfo> {
return;
}
/**
* @deprecated, use logIn instead.
* This function will alias two appUserIDs together.
* @param newAppUserID {String} The new appUserID that should be linked to the currently identified appUserID. Needs to be a string.
* @returns {Promise<PurchaserInfo>} Errors are of type [PurchasesError] and get normally triggered if there
* is an error retrieving the new purchaser info for the new user or if there is an error creating the alias.
*/
@Cordova()
createAlias(newAppUserID: string): Promise<PurchaserInfo> {
return;
}
/**
* @deprecated, use logIn instead.
* This function will identify the current user with an appUserID. Typically this would be used after a logout to identify a new user without calling configure
* @param newAppUserID {String} The new appUserID that should be linked to the currently identified appUserID. Needs to be a string.
* @returns {Promise<PurchaserInfo>} Errors are of type [PurchasesError] and get normally triggered if there
* is an error retrieving the new purchaser info for the new user.
*/
@Cordova()
identify(newAppUserID: string): Promise<PurchaserInfo> {
return;
}
/**
* @deprecated, use logOut instead.
* Resets the Purchases client clearing the saved appUserID. This will generate a random user id and save it in the cache.
* @returns {Promise<PurchaserInfo>} Errors are of type [PurchasesError] and get normally triggered if there
* is an error retrieving the new purchaser info for the new user.
*/
@Cordova()
reset(): Promise<PurchaserInfo> {
logOut(): Promise<CustomerInfo> {
return;
}
@@ -486,25 +411,25 @@ export class Purchases extends AwesomeCordovaNativePlugin {
* Gets the current purchaser info. This call will return the cached purchaser info unless the cache is stale, in which case,
* it will make a network call to retrieve it from the servers.
*
* @returns {Promise<PurchaserInfo>} Errors are of type [PurchasesError] and get normally triggered if there
* @returns {Promise<CustomerInfo>} Errors are of type [PurchasesError] and get normally triggered if there
* is an error retrieving the purchaser info.
*/
@Cordova()
getPurchaserInfo(): Promise<PurchaserInfo> {
getCustomerInfo(): Promise<CustomerInfo> {
return;
}
/**
* Returns an observable that can be used to receive updates on the purchaser info
*
* @returns {Observable<PurchaserInfo>}
* @returns {Observable<CustomerInfo>}
*/
@Cordova({
eventObservable: true,
event: 'onPurchaserInfoUpdated',
event: 'onCustomerInfoUpdated',
element: 'window',
})
onPurchaserInfoUpdated(): Observable<PurchaserInfo> {
onCustomerInfoUpdated(): Observable<CustomerInfo> {
return;
}
@@ -542,6 +467,12 @@ export class Purchases extends AwesomeCordovaNativePlugin {
@Cordova({ sync: true })
setAutomaticAppleSearchAdsAttributionCollection(enabled: boolean): void {}
/**
* Enable automatic collection of Apple Search Ads attribution using AdServices. Disabled by default.
*/
@Cordova({ sync: true })
enableAdServicesAttributionTokenCollection(): void {}
/**
* @returns {Promise<boolean>} A boolean indicating if the `appUserID` has been generated
* by RevenueCat or not.
@@ -596,17 +527,17 @@ export class Purchases extends AwesomeCordovaNativePlugin {
}
/**
* Invalidates the cache for purchaser information.
* Invalidates the cache for customer information.
*
* Most apps will not need to use this method; invalidating the cache can leave your app in an invalid state.
* Refer to https://docs.revenuecat.com/docs/purchaserinfo#section-get-user-information for more information on
* Refer to https://docs.revenuecat.com/docs/customer-info#section-get-user-information for more information on
* using the cache properly.
*
* This is useful for cases where purchaser information might have been updated outside of the
* This is useful for cases where customer information might have been updated outside of the
* app, like if a promotional subscription is granted through the RevenueCat dashboard.
*/
@Cordova({ sync: true })
invalidatePurchaserInfoCache(): void {}
invalidateCustomerInfoCache(): void {}
/**
* iOS only. Presents a code redemption sheet, useful for redeeming offer codes
@@ -661,54 +592,6 @@ export class Purchases extends AwesomeCordovaNativePlugin {
@Cordova({ sync: true })
setPushToken(pushToken: string | null): void {}
/**
* Subscriber attribute associated with the install media source for the user
*
* @param mediaSource Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setMediaSource(mediaSource: string | null): void {}
/**
* Subscriber attribute associated with the install campaign for the user
*
* @param campaign Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setCampaign(campaign: string | null): void {}
/**
* Subscriber attribute associated with the install ad group for the user
*
* @param adGroup Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setAdGroup(adGroup: string | null): void {}
/**
* Subscriber attribute associated with the install ad for the user
*
* @param ad Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setAd(ad: string | null): void {}
/**
* Subscriber attribute associated with the install keyword for the user
*
* @param keyword Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setKeyword(keyword: string | null): void {}
/**
* Subscriber attribute associated with the install ad creative for the user
*
* @param creative Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setCreative(creative: string | null): void {}
/**
* Subscriber attribute associated with the Adjust Id for the user
* Required for the RevenueCat Adjust integration
@@ -763,6 +646,81 @@ export class Purchases extends AwesomeCordovaNativePlugin {
@Cordova({ sync: true })
setAirshipChannelID(airshipChannelID: string | null): void {}
/**
* Subscriber attribute associated with the Firebase App Instance ID for the user
* Required for the RevenueCat Firebase integration
*
* @param firebaseAppInstanceID Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setFirebaseAppInstanceID(firebaseAppInstanceID: string | null): void {}
/**
* Subscriber attribute associated with the Mixpanel Distinct ID for the user
* Required for the RevenueCat Mixpanel integration
*
* @param mixpanelDistinctID Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setMixpanelDistinctID(mixpanelDistinctID: string | null): void {}
/**
* Subscriber attribute associated with the CleverTap ID for the user
* Required for the RevenueCat CleverTap integration
*
* @param cleverTapID Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setCleverTapID(cleverTapID: string | null): void {}
/**
* Subscriber attribute associated with the install media source for the user
*
* @param mediaSource Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setMediaSource(mediaSource: string | null): void {}
/**
* Subscriber attribute associated with the install campaign for the user
*
* @param campaign Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setCampaign(campaign: string | null): void {}
/**
* Subscriber attribute associated with the install ad group for the user
*
* @param adGroup Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setAdGroup(adGroup: string | null): void {}
/**
* Subscriber attribute associated with the install ad for the user
*
* @param ad Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setAd(ad: string | null): void {}
/**
* Subscriber attribute associated with the install keyword for the user
*
* @param keyword Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setKeyword(keyword: string | null): void {}
/**
* Subscriber attribute associated with the install ad creative for the user
*
* @param creative Empty String or null will delete the subscriber attribute.
*/
@Cordova({ sync: true })
setCreative(creative: string | null): void {}
/**
* Automatically collect subscriber attributes associated with the device identifiers.
* $idfa, $idfv, $ip on iOS
@@ -778,9 +736,8 @@ export class Purchases extends AwesomeCordovaNativePlugin {
* Note: Billing features are only relevant to Google Play Android users.
* For other stores and platforms, billing features won't be checked.
*
* @param feature An array of feature types to check for support. Feature types must be one of
* @param features An array of feature types to check for support. Feature types must be one of
* [BILLING_FEATURE]. By default, is an empty list and no specific feature support will be checked.
* @param features
* @returns {Promise<boolean>} Or [PurchasesError] if there is an error.
*/
@Cordova()
@@ -796,21 +753,6 @@ export class Purchases extends AwesomeCordovaNativePlugin {
@Cordova({ sync: true })
setProxyURL(url: string): void {}
}
/**
* @deprecated use PurchasesProduct instead
*/
export interface RCProduct {}
/**
* @deprecated use PurchaserInfo instead
*/
export interface RCPurchaserInfo {}
/**
* @deprecated use PurchasesError instead
*/
export interface RCError {}
/**
* The EntitlementInfo object gives you access to all of the information about the status of a user entitlement.
*/
@@ -884,11 +826,38 @@ export interface PurchasesEntitlementInfos {
* Map of active EntitlementInfo (`PurchasesEntitlementInfo`) objects keyed by entitlement identifier.
*/
readonly active: { [key: string]: PurchasesEntitlementInfo };
/**
* Dictionary of active ``EntitlementInfo`` objects keyed by their identifiers.
* @ Note: When queried from the sandbox environment, it only returns entitlements active in sandbox.
* When queried from production, this only returns entitlements active in production.
*/
readonly activeInCurrentEnvironment: { [key: string]: PurchasesEntitlementInfo };
/**
* Dictionary of active ``EntitlementInfo`` objects keyed by their identifiers.
*
* @note: these can be active on any environment.
*/
readonly activeInAnyEnvironment: { [key: string]: PurchasesEntitlementInfo };
}
export interface PurchaserInfo {
export interface PurchasesStoreTransaction {
/**
* Entitlements attached to this purchaser info
* RevenueCat Id associated to the transaction.
*/
readonly transactionIdentifier: string;
/**
* Product Id associated with the transaction.
*/
readonly productIdentifier: string;
/**
* Purchase date of the transaction in ISO 8601 format.
*/
readonly purchaseDate: string;
}
export interface CustomerInfo {
/**
* Entitlements attached to this customer info
*/
readonly entitlements: PurchasesEntitlementInfos;
/**
@@ -903,7 +872,7 @@ export interface PurchaserInfo {
* Returns all the non-subscription purchases a user has made.
* The purchases are ordered by purchase date in ascending order.
*/
readonly nonSubscriptionTransactions: PurchasesTransaction[];
readonly nonSubscriptionTransactions: PurchasesStoreTransaction[];
/**
* The latest expiration date of all purchased skus
*/
@@ -952,22 +921,65 @@ export interface PurchaserInfo {
readonly managementURL: string | null;
}
export interface PurchasesTransaction {
export interface PurchasesIntroPrice {
/**
* RevenueCat Id associated to the transaction.
* Price in the local currency.
*/
readonly revenueCatId: string;
readonly price: number;
/**
* Product Id associated with the transaction.
* Formatted price, including its currency sign, such as €3.99.
*/
readonly productId: string;
readonly priceString: string;
/**
* Purchase date of the transaction in ISO 8601 format.
* Number of subscription billing periods for which the user will be given the discount, such as 3.
*/
readonly purchaseDate: string;
readonly cycles: number;
/**
* Billing period of the discount, specified in ISO 8601 format.
*/
readonly period: string;
/**
* Unit for the billing period of the discount, can be DAY, WEEK, MONTH or YEAR.
*/
readonly periodUnit: string;
/**
* Number of units for the billing period of the discount.
*/
readonly periodNumberOfUnits: number;
}
export interface PurchasesProduct {
export interface PurchasesStoreProductDiscount {
/**
* Identifier of the discount.
*/
readonly identifier: string;
/**
* Price in the local currency.
*/
readonly price: number;
/**
* Formatted price, including its currency sign, such as €3.99.
*/
readonly priceString: string;
/**
* Number of subscription billing periods for which the user will be given the discount, such as 3.
*/
readonly cycles: number;
/**
* Billing period of the discount, specified in ISO 8601 format.
*/
readonly period: string;
/**
* Unit for the billing period of the discount, can be DAY, WEEK, MONTH or YEAR.
*/
readonly periodUnit: string;
/**
* Number of units for the billing period of the discount.
*/
readonly periodNumberOfUnits: number;
}
export interface PurchasesStoreProduct {
/**
* Product Id.
*/
@@ -987,35 +999,19 @@ export interface PurchasesProduct {
/**
* Formatted price of the item, including its currency sign, such as €3.99.
*/
readonly price_string: string;
readonly priceString: string;
/**
* Currency code for price and original price.
*/
readonly currency_code: string;
readonly currencyCode: string;
/**
* Introductory price of a subscription in the local currency.
* Introductory price.
*/
readonly intro_price: number | null;
readonly introPrice: PurchasesIntroPrice | null;
/**
* Formatted introductory price of a subscription, including its currency sign, such as €3.99.
* Collection of discount offers for a product. Null for Android.
*/
readonly intro_price_string: string | null;
/**
* Billing period of the introductory price, specified in ISO 8601 format.
*/
readonly intro_price_period: string | null;
/**
* Number of subscription billing periods for which the user will be given the introductory price, such as 3.
*/
readonly intro_price_cycles: number | null;
/**
* Unit for the billing period of the introductory price, can be DAY, WEEK, MONTH or YEAR.
*/
readonly intro_price_period_unit: string | null;
/**
* Number of units for the billing period of the introductory price.
*/
readonly intro_price_period_number_of_units: number | null;
readonly discounts: PurchasesStoreProductDiscount[] | null;
}
/**
@@ -1034,7 +1030,7 @@ export interface PurchasesPackage {
/**
* Product assigned to this package.
*/
readonly product: PurchasesProduct;
readonly product: PurchasesStoreProduct;
/**
* Offering this package belongs to.
*/
@@ -1143,13 +1139,43 @@ export interface IntroEligibility {
*/
export interface LogInResult {
/**
* The Purchaser Info for the user.
* The Customer Info for the user.
*/
readonly purchaserInfo: PurchaserInfo;
readonly customerInfo: CustomerInfo;
/**
* True if the call resulted in a new user getting created in the RevenueCat backend.
*/
readonly created: boolean;
}
/**
* Holds parameters to initialize the SDK.
*/
export interface PurchasesConfiguration {
/**
* RevenueCat API Key. Needs to be a string
*/
apiKey: string;
/**
* A unique id for identifying the user
*/
appUserID?: string | null;
/**
* An optional boolean. Set this to TRUE if you have your own IAP implementation and
* want to use only RevenueCat's backend. Default is FALSE. If you are on Android and setting this to ON, you will have
* to acknowledge the purchases yourself.
*/
observerMode?: boolean;
/**
* An optional string. iOS-only, will be ignored for Android.
* Set this if you would like the RevenueCat SDK to store its preferences in a different NSUserDefaults
* suite, otherwise it will use standardUserDefaults. Default is null, which will make the SDK use standardUserDefaults.
*/
userDefaultsSuiteName?: string;
/**
* An optional boolean. Android only. Required to configure the plugin to be used in the Amazon Appstore.
*/
useAmazon?: boolean;
}
export type ShouldPurchasePromoProductListener = (deferredPurchase: () => void) => void;

View File

@@ -41,7 +41,7 @@ export class SmsRetriever extends AwesomeCordovaNativePlugin {
* @returns {Promise<string>} Returns a promise that resolves when retrives SMS text or TIMEOUT after 5 min.
*/
@Cordova()
startWatching(): Promise<string> {
startWatching(): Promise<{ Message: string }> {
return;
}

View File

@@ -1663,4 +1663,13 @@ export class UnviredCordovaSDK extends AwesomeCordovaNativePlugin {
registerForPushNotification(): Promise<any> {
return;
}
/**
* Regenerates the JWT token used for communicating with the UMP server.
* The updated token will be available via the registered NotificationListener's callback |JWTTokenReceived|
*/
@Cordova()
refreshJWTToken(): Promise<any> {
return;
}
}

View File

@@ -0,0 +1,297 @@
import { Injectable } from '@angular/core';
import { AwesomeCordovaNativePlugin, Cordova, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
export interface InitParams {
accountName: string;
closeWithClearVisitorData: boolean;
storeHistoryLocally: boolean;
pushToken: string;
location: string;
visitorFields: string;
}
export interface DefaultResponse {
result: string;
}
export interface Quote {
state: string;
id: string;
text: string;
url: string;
timestamp: string;
senderName: string;
authorID: string;
}
export interface Employee {
id: string;
firstname: string;
avatar: string;
}
export interface Keyboard {
state: string;
buttons: Array<KeyboardButton>;
keyboardResponse: KeyboardResponse;
}
export interface KeyboardRequest {
messageID: string;
button: KeyboardButton;
}
export interface KeyboardButton {
text: string;
id: string;
}
export interface KeyboardResponse {
buttonID: string;
messageID: string;
}
export interface Message {
id: string;
currentChatID: string;
text: string;
url: string;
imageWidth: number;
imageHeight: number;
thumbUrl: string;
timestamp: string;
sender: string;
quote: Quote;
operator: Employee;
keyboard: Keyboard;
keyboardRequest: KeyboardRequest;
isFirst: boolean;
isReadByOperator: boolean;
canBeReplied: boolean;
}
export interface DialogState {
employee: Employee;
}
export type MessagesHistoryResponse = Array<Message>;
export type MessageResponse = Message;
export type DialogStateResponse = DialogState;
/**
* @name Webim
* @description
* A cordova plugin, a JS version of Webim SDK
* @usage
* ```typescript
* import { Webim } from '@awesome-cordova-plugins/webim/ngx';
*
*
* constructor(private webim: Webim) { }
*
* ...
*
*
* this.webim.functionName('Hi bro', 42)
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'Webim',
plugin: 'ru.webim.sdk',
pluginRef: 'webimsdk',
repo: 'https://github.com/webim/webim-cordova-plugin.git',
install: 'cordova plugin add https://github.com/webim/webim-cordova-plugin.git',
platforms: ['Android', 'iOS', 'Browser'],
})
@Injectable()
export class Webim extends AwesomeCordovaNativePlugin {
@Cordova()
init(params: InitParams): Promise<DefaultResponse> {
return;
}
@Cordova()
requestDialog(): Promise<DefaultResponse> {
return;
}
@Cordova()
getMessagesHistory(limit: number, offset: number): Promise<MessagesHistoryResponse | DefaultResponse> {
return;
}
@Cordova()
typingMessage(message: string): Promise<string> {
return;
}
@Cordova()
sendMessage(message: string): Promise<MessageResponse | DefaultResponse> {
return;
}
@Cordova()
replyMessage(message: string, repliedMessage: Message): Promise<MessageResponse | DefaultResponse> {
return;
}
@Cordova()
sendFile(filePath: string): Promise<string | DefaultResponse> {
return;
}
@Cordova()
sendSurveyAnswer(surveyAnswer: string): Promise<any> {
return;
}
@Cordova()
cancelSurvey(): Promise<any> {
return;
}
@Cordova({
observable: true,
clearFunction: 'close',
})
onMessage(): Observable<MessageResponse> {
return;
}
@Cordova({
observable: true,
clearFunction: 'close',
})
onDeletedMessage(): Observable<MessageResponse> {
return;
}
@Cordova({
observable: true,
clearFunction: 'close',
})
onFile(message: string): Observable<MessageResponse> {
return;
}
@Cordova({
observable: true,
clearFunction: 'close',
})
onTyping(): Observable<unknown> {
return;
}
@Cordova({
observable: true,
clearFunction: 'close',
})
onConfirm(): Observable<MessageResponse> {
return;
}
@Cordova({
observable: true,
clearFunction: 'close',
})
onDialog(): Observable<DialogStateResponse> {
return;
}
@Cordova({
observable: true,
clearFunction: 'close',
})
onBan(): Observable<unknown> {
return;
}
@Cordova()
close(): Promise<DefaultResponse> {
return;
}
@Cordova()
rateOperator(id: string, rating: number): Promise<any> {
return;
}
@Cordova()
rateOperatorWithNote(id: string, rating: number, note: string): Promise<any> {
return;
}
@Cordova()
sendDialogToEmailAddress(emailAddress: string): Promise<any> {
return;
}
@Cordova({
observable: true,
clearFunction: 'close',
})
onUnreadByVisitorMessageCount(): Observable<unknown> {
return;
}
@Cordova({
observable: true,
clearFunction: 'close',
})
onSurvey(): Observable<unknown> {
return;
}
@Cordova({
observable: true,
clearFunction: 'close',
})
onNextQuestion(): Observable<unknown> {
return;
}
@Cordova({
observable: true,
clearFunction: 'close',
})
onSurveyCancel(): Observable<unknown> {
return;
}
@Cordova()
getUnreadByVisitorMessageCount(): Promise<any> {
return;
}
@Cordova()
sendKeyboardRequest(): Promise<any> {
return;
}
@Cordova()
setChatRead(): Promise<any> {
return;
}
@Cordova()
getShowEmailButton(): Promise<any> {
return;
}
@Cordova()
showRateOperatorWindow(): Promise<any> {
return;
}
@Cordova({
observable: true,
clearFunction: 'close',
})
onLogging(): Observable<unknown> {
return;
}
}