Compare commits

..

112 Commits

Author SHA1 Message Date
Daniel Sogl
6c480237cf 6.9.0 2024-09-13 06:55:24 +00:00
renovate[bot]
f86836ab13 chore(deps): update dependency eslint-plugin-jsdoc to v50 (#4824) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-12 15:55:40 +02:00
renovate[bot]
1c21dd1a77 fix(deps): update dependency tslib to v2.7.0 (#4823) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-12 12:22:18 +02:00
renovate[bot]
657b31f67b chore(deps): update dependency winston to v3.14.2 (#4822) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-12 12:21:29 +02:00
akshay-engage
3168688ce4 feat(webengage): New Plugin for Notification Inbox (#4819)
* WebEngage SDK Security Added, New Plugin for Capacitor Inbox Added

* Added setLocation for Core

* Added NotificationResponse Type

* Changed count type from number to String

* Added dist library folders

* Revert "Added dist library folders"

This reverts commit ea77a41fea.

* Updated comments
2024-09-12 12:21:11 +02:00
ivo liondov
5f15119971 feat(approov-advanced-http): support approov3 methods (#4817)
* feat(approov-advanced-http): add approov3 methods

* fix(approov-advanced-http): fix remove exclusion url method name

* Keep master branch packages

---------

Co-authored-by: Richard Taylor <richard.taylor@criticalblue.com>
Co-authored-by: ivo.liondov <ivol@Sanctuary.local>
2024-09-12 12:20:45 +02:00
Anush-Shand
4471806f73 feat(clevertap): support clevertap-cordova 3.2.0 (#4814)
* feat(clevertap): add CleverTap plugin

* style(clevertap): cleanup stray lint error

* refactor

* feat(clevertap): update for latest CleverTap Cordova plugin

* chore: Update Repo from Ionic Native Repo

* fix: Code Changes for parity SDK-155

* fix: Indentation fixes for SDK-155

* fix: Code Repo fix while updating fork branch

* fix: Remove unnecessary adder .scripts Folder

* fix: Remove unwanted added folder .circleci

* fix: Remove unwanted added File .npmrc

* fix: Revert .Github Folder Changes to as per Ionic-Native master

* fix: Update changes as per ionic-native master

* fix: Code Repo fix while updating fork branch

fix: Remove unnecessary adder .scripts Folder

fix: Remove unwanted added folder .circleci

fix: Remove unwanted added File .npmrc

fix: Revert .Github Folder Changes to as per Ionic-Native master

fix: Update changes as per ionic-native master

* fix(CleverTap): Fix for missing methods issue #3491

* refactor(profile): remove setProfile methods for fb and google

* refactor(dynamic variables): remove Product A/B Testing (Dynamic Variables) code

* fix(product config): add key param to product config getters

* feat(identity): add a new public method getCleverTapID and deprecate existing CleverTapID methods

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(inapp): add public methods for suspending/discarding & resuming InApp Notifications

* feat(inbox): add new api for iOS to delete bulk inbox messages for given message ids

* refactor(xiaomi-push): add region as an extra mandatory parameter to setPushXiaomiToken

* Update index.ts to support cordova 2.7.0

* Update index.ts

* feat(clevertap): support clevertap-cordova 2.7.2

* feat(clevertap): support clevertap-cordova 2.7.2

* feat(clevertap): support clevertap-cordova 2.7.2

* task(SDK-3757) - Add support for cordova v3.0.0

- Adds 2 new APIs = clearInAppResources() and fetchInApps()

* task(SDK-3757) - Add support for cordova v3.2.0

- Removes xiaomi related APIs

---------

Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>
Co-authored-by: AishwaryaNanna <97506871+AishwaryaNanna@users.noreply.github.com>
2024-09-12 12:20:19 +02:00
Olga Koroleva
63f2fcbe99 feat(mobile-messaging): Added fullFeaturedInApps method to config, fetching of the Inbox methods and registerForRemoteAndroidNotifications method (#4810)
* feat(mobile-messaging): fullfeaturedInApps option to configuration, support of the Inbox methods and registerForAndroidRemoteNotifications method

* fix(mobile-messaging): cleanup
2024-09-12 12:19:52 +02:00
renovate[bot]
5aa432d0a2 chore(deps): update dependency lint-staged to v15.2.10 (#4813) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-12 12:19:32 +02:00
renovate[bot]
9569628c67 chore(deps): update dependency rollup to v4.21.3 (#4809) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-12 12:19:24 +02:00
renovate[bot]
d03b4cc113 chore(deps): update dependency eslint-plugin-jsdoc to v48.11.0 (#4808) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-12 12:19:15 +02:00
renovate[bot]
82be769a16 chore(deps): update dependency husky to v9.1.6 (#4806) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-12 12:19:07 +02:00
Daniel Sogl
96678cb14c 6.8.0 2024-07-11 06:09:08 +00:00
dependabot[bot]
bd7c6abb05 build(deps-dev): bump ws from 7.5.7 to 7.5.10 (#4793) [skip ci]
Bumps [ws](https://github.com/websockets/ws) from 7.5.7 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.7...7.5.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-11 08:04:12 +02:00
Fabio Martino
0c39ec959a fix(ssl-certificate-checker): adjust method interfaces to follow plugin api (#4799)
Co-authored-by: Fabio Martino <FMARTIN1@autopistas.com>
2024-07-11 08:03:50 +02:00
akshay-engage
9b950ebc46 feat(webengage): add new methods (#4784)
* setDevicePushOptIn Added for Android 13

* notificaiton-onPrepared, GAID, userOptIn Added

* Refactoring
2024-07-11 08:02:36 +02:00
Maxim Belov
12b8046541 feat(barkoder): add plugin (#4782) 2024-07-11 08:02:02 +02:00
Massimiliano Modena
09bc540b80 feat(firebase-x): add consent mode (#4779) 2024-07-11 08:01:43 +02:00
Maxim Belov
90efdc9481 feat(genius-scan): add plugin (#4775) [skip ci] 2024-07-11 08:01:11 +02:00
Maxim Belov
4e933e8e93 feat(airship): add isForeground to push received events (#4763)
* add onBackgroundPushReceived

* add isForeground to PushReceivedEvent
2024-07-11 08:00:55 +02:00
renovate[bot]
07bf7a96fc chore(deps): update dependency @types/node to v20.14.10 (#4785) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-11 08:00:08 +02:00
renovate[bot]
583a5eda8d chore(deps): update dependency lint-staged to v15.2.7 (#4790) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-11 07:59:59 +02:00
renovate[bot]
1b38354650 chore(deps): update actions/checkout action to v4.1.7 (#4791) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-11 07:59:50 +02:00
renovate[bot]
52adaf9269 chore(deps): update dependency eslint-plugin-jsdoc to v48.7.0 (#4792) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-11 07:59:33 +02:00
renovate[bot]
5289f07690 chore(deps): update dependency rollup to v4.18.1 (#4800) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-11 07:59:14 +02:00
renovate[bot]
a5cf118a13 chore(deps): update actions/setup-node action to v4.0.3 (#4802) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-11 07:59:04 +02:00
renovate[bot]
075efcbde1 chore(deps): update dependency winston to v3.13.1 (#4803) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-11 07:58:56 +02:00
renovate[bot]
467d8cb072 chore(deps): update dependency lint-staged to v15.2.5 (#4780) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-10 16:11:41 +02:00
renovate[bot]
e704bcb441 chore(deps): update dependency rollup to v4.18.0 (#4781) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-10 16:11:30 +02:00
renovate[bot]
4169b6628f chore(deps): update dependency eslint-plugin-jsdoc to v48.2.9 (#4783) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-10 16:11:18 +02:00
renovate[bot]
50ab537fdd fix(deps): update dependency tslib to v2.6.3 (#4786) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-10 16:11:03 +02:00
renovate[bot]
5c7218e8f6 chore(deps): update dependency @types/lodash to v4.17.5 (#4789) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-10 16:10:51 +02:00
renovate[bot]
1077071fa4 chore(deps): update dependency @types/lodash to v4.17.4 (#4770) 2024-05-18 16:17:09 +02:00
renovate[bot]
9d673e1898 chore(deps): update dependency eslint-plugin-jsdoc to v48.2.5 (#4773) 2024-05-18 16:16:59 +02:00
renovate[bot]
cb765d818f chore(deps): update dependency conventional-changelog-cli to v5 (#4769) 2024-05-18 16:16:15 +02:00
renovate[bot]
f95a098870 chore(deps): update dependency @types/node to v20.12.12 (#4768) 2024-05-18 16:16:04 +02:00
renovate[bot]
d9489639b8 chore(deps): update dependency rollup to v4.17.2 (#4766) 2024-05-18 16:15:57 +02:00
renovate[bot]
bc30032238 chore(deps): update actions/checkout action to v4.1.6 (#4771) 2024-05-18 16:15:47 +02:00
renovate[bot]
fed35441b0 chore(deps): update dependency rollup to v4.17.0 (#4764) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-28 06:00:20 +02:00
renovate[bot]
aca4133c4d chore(deps): update actions/checkout action to v4.1.4 (#4765) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-28 06:00:06 +02:00
Daniel Sogl
6e4373aed3 6.7.0 2024-04-17 09:36:28 +00:00
renovate[bot]
fc61c40317 chore(deps): update dependency gulp to v5 (#4762)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 11:31:09 +02:00
renovate[bot]
dab9fd84bc chore(deps): update dependency eslint-plugin-jsdoc to v48 (#4708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 11:30:34 +02:00
renovate[bot]
ef62700395 chore(deps): update dependency rollup to v4.14.3 (#4710)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 11:30:16 +02:00
renovate[bot]
8c970ef7f6 chore(deps): update dependency @types/node to v20.12.7 (#4712)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 11:30:04 +02:00
renovate[bot]
0625a9280e chore(deps): update dependency husky to v9 (#4721)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 11:29:55 +02:00
Uglješa Erceg
551170b8d7 feat(adjust): update wrapper for Adjust Cordova SDK v4.37.1 (#4724) 2024-04-17 11:29:45 +02:00
UzverNumber47
23e6147b25 fix(firebase-x): filters for fetchFirestoreCollection (#4733) 2024-04-17 11:29:27 +02:00
Fabio Martino
51d82f581d feat(ssl-certificate-checker): add SSL Certificate Checker support (#4734)
Co-authored-by: Fabio Martino <fabio.martino@babelgroup.com>
2024-04-17 11:29:07 +02:00
Dimitri Steinel
74b93d7499 fix: 🐛 wrong top package main field (#4736)
fix: 🐛 remove custom formatting

Co-authored-by: Dimitri Steinel <dimitri.steinel@bsdex.de>
2024-04-17 11:28:49 +02:00
Kishan Kumar Maurya
6e7d0069c1 feat(cashfree-pg): support cordova-plugin-cashfree-pg 1.0.6 (#4737)
Co-authored-by: Kishan_maurya <kishan.maurya@cashfree.com>
2024-04-17 11:28:09 +02:00
renovate[bot]
e7963f6f03 chore(deps): update dependency eslint to v8.57.0 (#4740)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 11:27:55 +02:00
renovate[bot]
7e8657ea32 chore(deps): update dependency winston to v3.13.0 (#4744)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 11:27:45 +02:00
Maxim Belov
80a01197b5 feat(contacts): add plugin (#4750)
* feat(contacts): add plugin

* update repo
2024-04-17 11:27:34 +02:00
Maxim Belov
a3ba0015ed feat(screenshot): add plugin (#4751) 2024-04-17 11:27:17 +02:00
Maxim Belov
6d3008d6fc feat(airship): add plugin (#4755)
* feat(airship): add plugin

* setQuietTimeEnabled -> setQuietTime

* fix readme pipeline

* AirShip -> Airship

* fix decorator
2024-04-17 11:27:00 +02:00
Art Turanoff
d65e7ee647 feat(adjust): Add Remote Config missing functions (#4756)
* Add missing functions

* Revert changes to firebase

* revert full stop

* add callback functions

* fix return types

* fix callback function types

* fix jsdoc
2024-04-17 11:26:27 +02:00
Art Turanoff
adb330aa63 fix(firebase-x): setConfigSettings function input parameters aligned with firebase-x plugin (#4757)
* Implement fix

* revert changes to firebase

* correct success callback

* fix jsdoc

* fix return type
2024-04-17 11:26:08 +02:00
renovate[bot]
d607550573 chore(deps): update dependency @types/lodash to v4.17.0 (#4758)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 11:25:50 +02:00
renovate[bot]
d5e8fb253d chore(deps): update dependency @types/rimraf to v4 (#4759)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 11:25:42 +02:00
Anush-Shand
974466ae39 feat(clevertap): support clevertap-cordova 3.0.0 (#4760)
* feat(clevertap): add CleverTap plugin

* style(clevertap): cleanup stray lint error

* refactor

* feat(clevertap): update for latest CleverTap Cordova plugin

* chore: Update Repo from Ionic Native Repo

* fix: Code Changes for parity SDK-155

* fix: Indentation fixes for SDK-155

* fix: Code Repo fix while updating fork branch

* fix: Remove unnecessary adder .scripts Folder

* fix: Remove unwanted added folder .circleci

* fix: Remove unwanted added File .npmrc

* fix: Revert .Github Folder Changes to as per Ionic-Native master

* fix: Update changes as per ionic-native master

* fix: Code Repo fix while updating fork branch

fix: Remove unnecessary adder .scripts Folder

fix: Remove unwanted added folder .circleci

fix: Remove unwanted added File .npmrc

fix: Revert .Github Folder Changes to as per Ionic-Native master

fix: Update changes as per ionic-native master

* fix(CleverTap): Fix for missing methods issue #3491

* refactor(profile): remove setProfile methods for fb and google

* refactor(dynamic variables): remove Product A/B Testing (Dynamic Variables) code

* fix(product config): add key param to product config getters

* feat(identity): add a new public method getCleverTapID and deprecate existing CleverTapID methods

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(inapp): add public methods for suspending/discarding & resuming InApp Notifications

* feat(inbox): add new api for iOS to delete bulk inbox messages for given message ids

* refactor(xiaomi-push): add region as an extra mandatory parameter to setPushXiaomiToken

* Update index.ts to support cordova 2.7.0

* Update index.ts

* feat(clevertap): support clevertap-cordova 2.7.2

* feat(clevertap): support clevertap-cordova 2.7.2

* feat(clevertap): support clevertap-cordova 2.7.2

* task(SDK-3757) - Add support for cordova v3.0.0

- Adds 2 new APIs = clearInAppResources() and fetchInApps()

---------

Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>
Co-authored-by: AishwaryaNanna <97506871+AishwaryaNanna@users.noreply.github.com>
2024-04-17 11:25:26 +02:00
renovate[bot]
60cf9acee5 chore(deps): update dependency terser-webpack-plugin to v5.3.10 (#4702) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-31 09:40:51 +01:00
renovate[bot]
9740eadfd5 chore(deps): update dependency @types/node to v20.10.6 (#4703) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-31 09:40:39 +01:00
renovate[bot]
95e848f4e5 chore(deps): update dependency rollup to v4.9.2 (#4704) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-31 09:40:06 +01:00
renovate[bot]
3b9dabc18c chore(deps): update dependency eslint-plugin-jsdoc to v46.10.1 (#4706) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-31 09:39:51 +01:00
Daniel Sogl
7e2894f769 6.6.0 2023-12-19 22:13:56 +01:00
Daniel Sogl
709049f2e7 feat(adjust): update wrapper for Adjust Cordova SDK v4.35.1 (#4696)
* feat(diagnostics): add missing constants and methods for latest plugin version (#4600)

* feat(cordova-plugin-firebase-model): Add new plugin to download and process ML model hosted in firebase. (#4608)

* feat(unvired-cordova-sdk): Add new function to regenrate the JWT Token

* feat(unvired-cordova-sdk): Add couple of properties to login parameters.

* feat(cordova-plugin-firebase-model): Add new plugin for downloading and processing ML model hosted in Firebase.

* fix(cordova-plugin-unvired-sdk): revert last set of changes.

* fix(cordova-plugin-unvired-sdk): Add two new login properties.

* fix(cordova-plugin-firebase-model): Delete the previously added plugin.

* Revert "fix(cordova-plugin-firebase-model): Delete the previously added plugin."

This reverts commit 86f39dc7e8.

* Revert "fix(cordova-plugin-unvired-sdk): Add two new login properties."

This reverts commit a79f31e12e.

* feat(clevertap): support clevertap-cordova 2.7.0 (#4617) [skip ci]

* feat(clevertap): add CleverTap plugin

* style(clevertap): cleanup stray lint error

* refactor

* feat(clevertap): update for latest CleverTap Cordova plugin

* chore: Update Repo from Ionic Native Repo

* fix: Code Changes for parity SDK-155

* fix: Indentation fixes for SDK-155

* fix: Code Repo fix while updating fork branch

* fix: Remove unnecessary adder .scripts Folder

* fix: Remove unwanted added folder .circleci

* fix: Remove unwanted added File .npmrc

* fix: Revert .Github Folder Changes to as per Ionic-Native master

* fix: Update changes as per ionic-native master

* fix: Code Repo fix while updating fork branch

fix: Remove unnecessary adder .scripts Folder

fix: Remove unwanted added folder .circleci

fix: Remove unwanted added File .npmrc

fix: Revert .Github Folder Changes to as per Ionic-Native master

fix: Update changes as per ionic-native master

* fix(CleverTap): Fix for missing methods issue #3491

* refactor(profile): remove setProfile methods for fb and google

* refactor(dynamic variables): remove Product A/B Testing (Dynamic Variables) code

* fix(product config): add key param to product config getters

* feat(identity): add a new public method getCleverTapID and deprecate existing CleverTapID methods

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(inapp): add public methods for suspending/discarding & resuming InApp Notifications

* feat(inbox): add new api for iOS to delete bulk inbox messages for given message ids

* refactor(xiaomi-push): add region as an extra mandatory parameter to setPushXiaomiToken

* Update index.ts to support cordova 2.7.0

* Update index.ts

---------

Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>

* feat(save-dialog): add plugin (#4618)

* smtp-client

* fix plugin ref

* cloud settings

* + save-dialog

---------

Co-authored-by: Daniel Sogl <daniel@sogls.de>

* feat(adjust): update wrapper for Adjust Cordova SDK v4.35.1

* fix(adjust): rename duplicated AdjustAppStorePurchase class member

---------

Co-authored-by: Dave Alden <dpa99c@gmail.com>
Co-authored-by: Srinidhi <srinidhi.rao@unvired.com>
Co-authored-by: AishwaryaNanna <97506871+AishwaryaNanna@users.noreply.github.com>
Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>
Co-authored-by: marysuon <marysuon@gmail.com>
Co-authored-by: uerceg <ugi@adjust.com>
2023-12-19 22:13:31 +01:00
Daniel Sogl
02219c07c6 6.5.0 2023-12-19 22:07:14 +01:00
renovate[bot]
1f1c35a39f chore(deps): update angular to v12.2.17 (#4695) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-19 22:05:43 +01:00
Daniel Sogl
0cf84a68ed docs(cloud-settings): Change installation example to use plugin author's package ID (#4694)
* feat(diagnostics): add missing constants and methods for latest plugin version (#4600)

* feat(cordova-plugin-firebase-model): Add new plugin to download and process ML model hosted in firebase. (#4608)

* feat(unvired-cordova-sdk): Add new function to regenrate the JWT Token

* feat(unvired-cordova-sdk): Add couple of properties to login parameters.

* feat(cordova-plugin-firebase-model): Add new plugin for downloading and processing ML model hosted in Firebase.

* fix(cordova-plugin-unvired-sdk): revert last set of changes.

* fix(cordova-plugin-unvired-sdk): Add two new login properties.

* fix(cordova-plugin-firebase-model): Delete the previously added plugin.

* Revert "fix(cordova-plugin-firebase-model): Delete the previously added plugin."

This reverts commit 86f39dc7e8.

* Revert "fix(cordova-plugin-unvired-sdk): Add two new login properties."

This reverts commit a79f31e12e.

* feat(clevertap): support clevertap-cordova 2.7.0 (#4617) [skip ci]

* feat(clevertap): add CleverTap plugin

* style(clevertap): cleanup stray lint error

* refactor

* feat(clevertap): update for latest CleverTap Cordova plugin

* chore: Update Repo from Ionic Native Repo

* fix: Code Changes for parity SDK-155

* fix: Indentation fixes for SDK-155

* fix: Code Repo fix while updating fork branch

* fix: Remove unnecessary adder .scripts Folder

* fix: Remove unwanted added folder .circleci

* fix: Remove unwanted added File .npmrc

* fix: Revert .Github Folder Changes to as per Ionic-Native master

* fix: Update changes as per ionic-native master

* fix: Code Repo fix while updating fork branch

fix: Remove unnecessary adder .scripts Folder

fix: Remove unwanted added folder .circleci

fix: Remove unwanted added File .npmrc

fix: Revert .Github Folder Changes to as per Ionic-Native master

fix: Update changes as per ionic-native master

* fix(CleverTap): Fix for missing methods issue #3491

* refactor(profile): remove setProfile methods for fb and google

* refactor(dynamic variables): remove Product A/B Testing (Dynamic Variables) code

* fix(product config): add key param to product config getters

* feat(identity): add a new public method getCleverTapID and deprecate existing CleverTapID methods

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(inapp): add public methods for suspending/discarding & resuming InApp Notifications

* feat(inbox): add new api for iOS to delete bulk inbox messages for given message ids

* refactor(xiaomi-push): add region as an extra mandatory parameter to setPushXiaomiToken

* Update index.ts to support cordova 2.7.0

* Update index.ts

---------

Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>

* feat(save-dialog): add plugin (#4618)

* smtp-client

* fix plugin ref

* cloud settings

* + save-dialog

---------

Co-authored-by: Daniel Sogl <daniel@sogls.de>

* Change installation example to use plugin author's package ID

(rather than a random fork)

---------

Co-authored-by: Dave Alden <dpa99c@gmail.com>
Co-authored-by: Srinidhi <srinidhi.rao@unvired.com>
Co-authored-by: AishwaryaNanna <97506871+AishwaryaNanna@users.noreply.github.com>
Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>
Co-authored-by: marysuon <marysuon@gmail.com>
2023-12-19 22:04:00 +01:00
Daniel Sogl
73bcc4053d set angular version to v12 [skip ci] 2023-12-19 22:03:28 +01:00
Daniel Sogl
e4af3a0390 feat(revenue) update to cordova 5 (#4693)
* feat(diagnostics): add missing constants and methods for latest plugin version (#4600)

* feat(cordova-plugin-firebase-model): Add new plugin to download and process ML model hosted in firebase. (#4608)

* feat(unvired-cordova-sdk): Add new function to regenrate the JWT Token

* feat(unvired-cordova-sdk): Add couple of properties to login parameters.

* feat(cordova-plugin-firebase-model): Add new plugin for downloading and processing ML model hosted in Firebase.

* fix(cordova-plugin-unvired-sdk): revert last set of changes.

* fix(cordova-plugin-unvired-sdk): Add two new login properties.

* fix(cordova-plugin-firebase-model): Delete the previously added plugin.

* Revert "fix(cordova-plugin-firebase-model): Delete the previously added plugin."

This reverts commit 86f39dc7e8.

* Revert "fix(cordova-plugin-unvired-sdk): Add two new login properties."

This reverts commit a79f31e12e.

* feat(clevertap): support clevertap-cordova 2.7.0 (#4617) [skip ci]

* feat(clevertap): add CleverTap plugin

* style(clevertap): cleanup stray lint error

* refactor

* feat(clevertap): update for latest CleverTap Cordova plugin

* chore: Update Repo from Ionic Native Repo

* fix: Code Changes for parity SDK-155

* fix: Indentation fixes for SDK-155

* fix: Code Repo fix while updating fork branch

* fix: Remove unnecessary adder .scripts Folder

* fix: Remove unwanted added folder .circleci

* fix: Remove unwanted added File .npmrc

* fix: Revert .Github Folder Changes to as per Ionic-Native master

* fix: Update changes as per ionic-native master

* fix: Code Repo fix while updating fork branch

fix: Remove unnecessary adder .scripts Folder

fix: Remove unwanted added folder .circleci

fix: Remove unwanted added File .npmrc

fix: Revert .Github Folder Changes to as per Ionic-Native master

fix: Update changes as per ionic-native master

* fix(CleverTap): Fix for missing methods issue #3491

* refactor(profile): remove setProfile methods for fb and google

* refactor(dynamic variables): remove Product A/B Testing (Dynamic Variables) code

* fix(product config): add key param to product config getters

* feat(identity): add a new public method getCleverTapID and deprecate existing CleverTapID methods

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(inapp): add public methods for suspending/discarding & resuming InApp Notifications

* feat(inbox): add new api for iOS to delete bulk inbox messages for given message ids

* refactor(xiaomi-push): add region as an extra mandatory parameter to setPushXiaomiToken

* Update index.ts to support cordova 2.7.0

* Update index.ts

---------

Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>

* feat(save-dialog): add plugin (#4618)

* smtp-client

* fix plugin ref

* cloud settings

* + save-dialog

---------

Co-authored-by: Daniel Sogl <daniel@sogls.de>

* Update to cordova 5 (#98)

---------

Co-authored-by: Dave Alden <dpa99c@gmail.com>
Co-authored-by: Srinidhi <srinidhi.rao@unvired.com>
Co-authored-by: AishwaryaNanna <97506871+AishwaryaNanna@users.noreply.github.com>
Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>
Co-authored-by: marysuon <marysuon@gmail.com>
Co-authored-by: Cesar de la Vega <cesarvegaro@gmail.com>
2023-12-19 21:58:30 +01:00
renovate[bot]
68105e14fc chore(deps): update dependency @types/node to v20 (#4681) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-19 19:50:33 +01:00
renovate[bot]
094cfd4c8f chore(deps): update dependency rollup to v4.9.1 (#4686) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-19 19:50:26 +01:00
renovate[bot]
4e747b8e2c chore(deps): update dependency ts-node to v10.9.2 (#4687) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-19 19:50:18 +01:00
renovate[bot]
d9eb83431d chore(deps): update dependency eslint-plugin-jsdoc to v46.9.1 (#4690) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-19 19:50:10 +01:00
renovate[bot]
2dde2de42d chore(deps): update dependency eslint to v8.56.0 (#4691) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-19 19:50:04 +01:00
renovate[bot]
e579eb58e2 chore(deps): update actions/setup-node action to v4.0.1 (#4692) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-19 19:49:54 +01:00
Anush-Shand
bddafc779a feat(clevertap): support clevertap-cordova 2.7.2 (#4683) [skip ci]
* feat(clevertap): add CleverTap plugin

* style(clevertap): cleanup stray lint error

* refactor

* feat(clevertap): update for latest CleverTap Cordova plugin

* chore: Update Repo from Ionic Native Repo

* fix: Code Changes for parity SDK-155

* fix: Indentation fixes for SDK-155

* fix: Code Repo fix while updating fork branch

* fix: Remove unnecessary adder .scripts Folder

* fix: Remove unwanted added folder .circleci

* fix: Remove unwanted added File .npmrc

* fix: Revert .Github Folder Changes to as per Ionic-Native master

* fix: Update changes as per ionic-native master

* fix: Code Repo fix while updating fork branch

fix: Remove unnecessary adder .scripts Folder

fix: Remove unwanted added folder .circleci

fix: Remove unwanted added File .npmrc

fix: Revert .Github Folder Changes to as per Ionic-Native master

fix: Update changes as per ionic-native master

* fix(CleverTap): Fix for missing methods issue #3491

* refactor(profile): remove setProfile methods for fb and google

* refactor(dynamic variables): remove Product A/B Testing (Dynamic Variables) code

* fix(product config): add key param to product config getters

* feat(identity): add a new public method getCleverTapID and deprecate existing CleverTapID methods

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(inapp): add public methods for suspending/discarding & resuming InApp Notifications

* feat(inbox): add new api for iOS to delete bulk inbox messages for given message ids

* refactor(xiaomi-push): add region as an extra mandatory parameter to setPushXiaomiToken

* Update index.ts to support cordova 2.7.0

* Update index.ts

* feat(clevertap): support clevertap-cordova 2.7.2

* feat(clevertap): support clevertap-cordova 2.7.2

* feat(clevertap): support clevertap-cordova 2.7.2

---------

Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>
Co-authored-by: AishwaryaNanna <97506871+AishwaryaNanna@users.noreply.github.com>
2023-12-07 17:37:52 +01:00
renovate[bot]
a7d5e28671 chore(deps): update dependency @types/node to v18.19.3 (#4684) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-07 17:37:29 +01:00
renovate[bot]
d8e1cbd06e chore(deps): update actions/stale action to v9 (#4685) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-07 17:37:19 +01:00
renovate[bot]
f533c5990c chore(deps): update dependency rollup to v4 (#4679) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:35:43 +01:00
sebastian-student
3ba983aa7f fix(diagnostic): add LIMITED permissionStatus (#4645)
* feat(diagnostics): add missing constants and methods for latest plugin version (#4600)

* feat(cordova-plugin-firebase-model): Add new plugin to download and process ML model hosted in firebase. (#4608)

* feat(unvired-cordova-sdk): Add new function to regenrate the JWT Token

* feat(unvired-cordova-sdk): Add couple of properties to login parameters.

* feat(cordova-plugin-firebase-model): Add new plugin for downloading and processing ML model hosted in Firebase.

* fix(cordova-plugin-unvired-sdk): revert last set of changes.

* fix(cordova-plugin-unvired-sdk): Add two new login properties.

* fix(cordova-plugin-firebase-model): Delete the previously added plugin.

* Revert "fix(cordova-plugin-firebase-model): Delete the previously added plugin."

This reverts commit 86f39dc7e8.

* Revert "fix(cordova-plugin-unvired-sdk): Add two new login properties."

This reverts commit a79f31e12e.

* feat(clevertap): support clevertap-cordova 2.7.0 (#4617) [skip ci]

* feat(clevertap): add CleverTap plugin

* style(clevertap): cleanup stray lint error

* refactor

* feat(clevertap): update for latest CleverTap Cordova plugin

* chore: Update Repo from Ionic Native Repo

* fix: Code Changes for parity SDK-155

* fix: Indentation fixes for SDK-155

* fix: Code Repo fix while updating fork branch

* fix: Remove unnecessary adder .scripts Folder

* fix: Remove unwanted added folder .circleci

* fix: Remove unwanted added File .npmrc

* fix: Revert .Github Folder Changes to as per Ionic-Native master

* fix: Update changes as per ionic-native master

* fix: Code Repo fix while updating fork branch

fix: Remove unnecessary adder .scripts Folder

fix: Remove unwanted added folder .circleci

fix: Remove unwanted added File .npmrc

fix: Revert .Github Folder Changes to as per Ionic-Native master

fix: Update changes as per ionic-native master

* fix(CleverTap): Fix for missing methods issue #3491

* refactor(profile): remove setProfile methods for fb and google

* refactor(dynamic variables): remove Product A/B Testing (Dynamic Variables) code

* fix(product config): add key param to product config getters

* feat(identity): add a new public method getCleverTapID and deprecate existing CleverTapID methods

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(profile): add public methods to increment/decrement values set via User properties

* feat(inapp): add public methods for suspending/discarding & resuming InApp Notifications

* feat(inbox): add new api for iOS to delete bulk inbox messages for given message ids

* refactor(xiaomi-push): add region as an extra mandatory parameter to setPushXiaomiToken

* Update index.ts to support cordova 2.7.0

* Update index.ts

---------

Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>

* feat(save-dialog): add plugin (#4618)

* smtp-client

* fix plugin ref

* cloud settings

* + save-dialog

---------

Co-authored-by: Daniel Sogl <daniel@sogls.de>

* fix(diagnostic): fix typo

* fix(diagnostic): add LIMITED to permissionStatus

---------

Co-authored-by: Dave Alden <dpa99c@gmail.com>
Co-authored-by: Srinidhi <srinidhi.rao@unvired.com>
Co-authored-by: AishwaryaNanna <97506871+AishwaryaNanna@users.noreply.github.com>
Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>
Co-authored-by: marysuon <marysuon@gmail.com>
Co-authored-by: Daniel Sogl <daniel@sogls.de>
2023-12-03 20:34:48 +01:00
renovate[bot]
805a2737da chore(deps): update dependency eslint-plugin-jsdoc to v46.9.0 (#4678) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:32:58 +01:00
dependabot[bot]
b7dc7ffea7 build(deps-dev): bump @babel/traverse from 7.15.4 to 7.23.5 (#4677) [skip ci]
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.15.4 to 7.23.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.5/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-03 20:32:51 +01:00
renovate[bot]
0c2dca633a chore(deps): update dependency lint-staged to v15 (#4676) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:32:40 +01:00
renovate[bot]
3c893d7119 chore(deps): update dependency winston to v3.11.0 (#4672) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:32:28 +01:00
renovate[bot]
61289bbbba chore(deps): update actions/checkout action to v4 (#4673) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:32:21 +01:00
renovate[bot]
dd2dc1b05f chore(deps): update dependency conventional-changelog-cli to v4 (#4675) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:32:11 +01:00
renovate[bot]
cef6c8f896 chore(deps): update actions/setup-node action to v4 (#4674) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:30:09 +01:00
renovate[bot]
e3d3ee2b01 chore(deps): update dependency rollup to v3.29.4 (#4671) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:29:48 +01:00
renovate[bot]
ecff55ceba chore(deps): update dependency @types/cordova to v11.0.3 (#4647) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:26:50 +01:00
renovate[bot]
1c4cbffe1d chore(deps): update actions/checkout action to v3.6.0 (#4670) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:25:55 +01:00
renovate[bot]
5355e922ac fix(deps): update dependency tslib to v2.6.2 (#4669) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:25:42 +01:00
renovate[bot]
5750f305bf chore(deps): update dependency @types/node to v18.19.2 (#4621) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:25:08 +01:00
renovate[bot]
f09471207d chore(deps): update dependency eslint to v8.55.0 (#4619) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:25:01 +01:00
renovate[bot]
c021fc79e6 chore(deps): update actions/setup-node action to v3.8.2 (#4624) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:24:45 +01:00
renovate[bot]
d616ed5133 chore(deps): update dependency fs-extra to v11.2.0 (#4650) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:24:05 +01:00
renovate[bot]
7865e279c5 chore(deps): update dependency @types/lodash to v4.14.202 (#4651) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:22:55 +01:00
renovate[bot]
ff6a69af97 chore(deps): update dependency @types/webpack to v5.28.5 (#4654) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:22:47 +01:00
renovate[bot]
9c2b70771d chore(deps): update dependency rimraf to v5.0.5 (#4657) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-03 20:22:26 +01:00
renovate[bot]
ae0d5dbac0 chore(deps): update dependency eslint-config-prettier to v8.10.0 (#4614) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-11 20:08:00 +02:00
renovate[bot]
9b7148a8a9 chore(deps): update dependency @types/node to v18.17.4 (#4609) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-11 20:07:48 +02:00
renovate[bot]
d30052d8cf fix(deps): update dependency tslib to v2.6.1 (#4610) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-11 20:07:39 +02:00
renovate[bot]
56126dd6a9 chore(deps): update dependency rollup to v3.28.0 (#4615) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-11 20:05:04 +02:00
renovate[bot]
8fa353c1b8 chore(deps): update dependency eslint-plugin-jsdoc to v46.4.6 (#4613) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-11 20:04:38 +02:00
renovate[bot]
55826b691f chore(deps): update dependency @types/lodash to v4.14.197 (#4612) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-11 20:04:20 +02:00
dependabot[bot]
d7f4347f39 build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 (#4604)
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-21 19:15:36 +02:00
renovate[bot]
06247530a8 chore(deps): update dependency rollup to v3.26.3 (#4603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-21 19:15:26 +02:00
renovate[bot]
4d45e82e0e chore(deps): update dependency eslint-plugin-jsdoc to v46.4.4 (#4602)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-21 19:15:17 +02:00
renovate[bot]
df36932de7 chore(deps): update dependency eslint to v8.45.0 (#4601)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-21 19:15:06 +02:00
Daniel Sogl
ce3a3c8b76 refresh docs 2023-07-11 18:40:56 +00:00
64 changed files with 9303 additions and 6886 deletions

View File

@@ -11,9 +11,9 @@ jobs:
node-version: [16.x]
steps:
- uses: actions/checkout@v3.5.3
- uses: actions/checkout@v4.1.7
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3.7.0
uses: actions/setup-node@v4.0.3
with:
node-version: ${{ matrix.node-version }}

View File

@@ -9,8 +9,8 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.5.3
- uses: actions/setup-node@v3.7.0
- uses: actions/checkout@v4.1.7
- uses: actions/setup-node@v4.0.3
with:
node-version: 16
- name: Install dependencies
@@ -24,8 +24,8 @@ jobs:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.5.3
- uses: actions/setup-node@v3.7.0
- uses: actions/checkout@v4.1.7
- uses: actions/setup-node@v4.0.3
with:
node-version: 16
registry-url: https://registry.npmjs.org/

View File

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

View File

@@ -1,3 +1,87 @@
# [6.9.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.8.0...v6.9.0) (2024-09-13)
### Bug Fixes
* **deps:** update dependency tslib to v2.7.0 ([#4823](https://github.com/danielsogl/awesome-cordova-plugins/issues/4823)) [skip ci] ([1c21dd1](https://github.com/danielsogl/awesome-cordova-plugins/commit/1c21dd1a7734e5cf82d9d64806d5b159d66f9d37))
### Features
* **approov-advanced-http:** support approov3 methods ([#4817](https://github.com/danielsogl/awesome-cordova-plugins/issues/4817)) ([5f15119](https://github.com/danielsogl/awesome-cordova-plugins/commit/5f1511997101c750e80adb85e2c6b0dfacaf5a31))
* **clevertap:** support clevertap-cordova 3.2.0 ([#4814](https://github.com/danielsogl/awesome-cordova-plugins/issues/4814)) ([4471806](https://github.com/danielsogl/awesome-cordova-plugins/commit/4471806f73ab286bbcab22d28ea2120cb4cc6a2b)), closes [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
* **mobile-messaging:** Added fullFeaturedInApps method to config, fetching of the Inbox methods and registerForRemoteAndroidNotifications method ([#4810](https://github.com/danielsogl/awesome-cordova-plugins/issues/4810)) ([63f2fcb](https://github.com/danielsogl/awesome-cordova-plugins/commit/63f2fcbe99b6be14a76a4a6c72ef19594d82905b))
* **webengage:** New Plugin for Notification Inbox ([#4819](https://github.com/danielsogl/awesome-cordova-plugins/issues/4819)) ([3168688](https://github.com/danielsogl/awesome-cordova-plugins/commit/3168688ce44b1353ed6f12e41e06c90647046f71))
# [6.8.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.7.0...v6.8.0) (2024-07-11)
### Bug Fixes
* **deps:** update dependency tslib to v2.6.3 ([#4786](https://github.com/danielsogl/awesome-cordova-plugins/issues/4786)) [skip ci] ([50ab537](https://github.com/danielsogl/awesome-cordova-plugins/commit/50ab537fdd9f875f51ce1e4c7ffcf1a27c6d50e8))
* **ssl-certificate-checker:** adjust method interfaces to follow plugin api ([#4799](https://github.com/danielsogl/awesome-cordova-plugins/issues/4799)) ([0c39ec9](https://github.com/danielsogl/awesome-cordova-plugins/commit/0c39ec959ab04e02065a98685f5293346f5939ac))
### Features
* **airship:** add isForeground to push received events ([#4763](https://github.com/danielsogl/awesome-cordova-plugins/issues/4763)) ([4e933e8](https://github.com/danielsogl/awesome-cordova-plugins/commit/4e933e8e932c8db403b00d6b63713b63aa758071))
* **barkoder:** add plugin ([#4782](https://github.com/danielsogl/awesome-cordova-plugins/issues/4782)) ([12b8046](https://github.com/danielsogl/awesome-cordova-plugins/commit/12b8046541dcf791027695a2aa8115124671ffe0))
* **firebase-x:** add consent mode ([#4779](https://github.com/danielsogl/awesome-cordova-plugins/issues/4779)) ([09bc540](https://github.com/danielsogl/awesome-cordova-plugins/commit/09bc540b80c299aae70430b83f04d0a7dc6c7fec))
* **genius-scan:** add plugin ([#4775](https://github.com/danielsogl/awesome-cordova-plugins/issues/4775)) [skip ci] ([90efdc9](https://github.com/danielsogl/awesome-cordova-plugins/commit/90efdc9481fa8b45d10f47de1b3081c177630e99))
* **webengage:** add new methods ([#4784](https://github.com/danielsogl/awesome-cordova-plugins/issues/4784)) ([9b950eb](https://github.com/danielsogl/awesome-cordova-plugins/commit/9b950ebc46be9d07277450cdba55446e652fd30d))
# [6.7.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.6.0...v6.7.0) (2024-04-17)
### Bug Fixes
* 🐛 wrong top package main field ([#4736](https://github.com/danielsogl/awesome-cordova-plugins/issues/4736)) ([74b93d7](https://github.com/danielsogl/awesome-cordova-plugins/commit/74b93d749968c06d2ce4a653cbc5edeb9cfdd368))
* **firebase-x:** filters for fetchFirestoreCollection ([#4733](https://github.com/danielsogl/awesome-cordova-plugins/issues/4733)) ([23e6147](https://github.com/danielsogl/awesome-cordova-plugins/commit/23e6147b25dc188604f83906d3078629c39bb7a2))
* **firebase-x:** setConfigSettings function input parameters aligned with firebase-x plugin ([#4757](https://github.com/danielsogl/awesome-cordova-plugins/issues/4757)) ([adb330a](https://github.com/danielsogl/awesome-cordova-plugins/commit/adb330aa63d89d91243c5a9ebf8bc34aa5206d6e))
### Features
* **adjust:** Add Remote Config missing functions ([#4756](https://github.com/danielsogl/awesome-cordova-plugins/issues/4756)) ([d65e7ee](https://github.com/danielsogl/awesome-cordova-plugins/commit/d65e7ee64707985966b27b7bfc206a1f29630f58))
* **adjust:** update wrapper for Adjust Cordova SDK v4.37.1 ([#4724](https://github.com/danielsogl/awesome-cordova-plugins/issues/4724)) ([551170b](https://github.com/danielsogl/awesome-cordova-plugins/commit/551170b8d7d47819b8742344d9f214318ae97562))
* **airship:** add plugin ([#4755](https://github.com/danielsogl/awesome-cordova-plugins/issues/4755)) ([6d3008d](https://github.com/danielsogl/awesome-cordova-plugins/commit/6d3008d6fc124c24a13ddf9f60be4c1779f41ee0))
* **cashfree-pg:** support cordova-plugin-cashfree-pg 1.0.6 ([#4737](https://github.com/danielsogl/awesome-cordova-plugins/issues/4737)) ([6e7d006](https://github.com/danielsogl/awesome-cordova-plugins/commit/6e7d0069c138da760530926ba63bd7522a529565))
* **clevertap:** support clevertap-cordova 3.0.0 ([#4760](https://github.com/danielsogl/awesome-cordova-plugins/issues/4760)) ([974466a](https://github.com/danielsogl/awesome-cordova-plugins/commit/974466ae39146de7826b752c0932eca0cc6a4c7e)), closes [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
* **contacts:** add plugin ([#4750](https://github.com/danielsogl/awesome-cordova-plugins/issues/4750)) ([80a0119](https://github.com/danielsogl/awesome-cordova-plugins/commit/80a01197b51d97821c7fa0037c98a9cbc19b9e43))
* **screenshot:** add plugin ([#4751](https://github.com/danielsogl/awesome-cordova-plugins/issues/4751)) ([a3ba001](https://github.com/danielsogl/awesome-cordova-plugins/commit/a3ba0015eda437fe60e8f05852447c92cff8f31c))
* **ssl-certificate-checker:** add SSL Certificate Checker support ([#4734](https://github.com/danielsogl/awesome-cordova-plugins/issues/4734)) ([51d82f5](https://github.com/danielsogl/awesome-cordova-plugins/commit/51d82f581d059a62d2179dc9da89afd64e1e41d2))
# [6.6.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.5.0...v6.6.0) (2023-12-19)
### Features
* **adjust:** update wrapper for Adjust Cordova SDK v4.35.1 ([#4696](https://github.com/danielsogl/awesome-cordova-plugins/issues/4696)) ([709049f](https://github.com/danielsogl/awesome-cordova-plugins/commit/709049f2e77455723c62f248e327e37e2ca8ddb2)), closes [#4600](https://github.com/danielsogl/awesome-cordova-plugins/issues/4600) [#4608](https://github.com/danielsogl/awesome-cordova-plugins/issues/4608) [#4617](https://github.com/danielsogl/awesome-cordova-plugins/issues/4617) [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
# [6.5.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.4.0...v6.5.0) (2023-12-19)
### Bug Fixes
* **deps:** update dependency tslib to v2.6.1 ([#4610](https://github.com/danielsogl/awesome-cordova-plugins/issues/4610)) [skip ci] ([d30052d](https://github.com/danielsogl/awesome-cordova-plugins/commit/d30052d8cfadcbae95a5437dc8692c87b39c5294))
* **deps:** update dependency tslib to v2.6.2 ([#4669](https://github.com/danielsogl/awesome-cordova-plugins/issues/4669)) [skip ci] ([5355e92](https://github.com/danielsogl/awesome-cordova-plugins/commit/5355e922acd5ea6c09a94bd82064eeae52926c06))
* **diagnostic:** add LIMITED permissionStatus ([#4645](https://github.com/danielsogl/awesome-cordova-plugins/issues/4645)) ([3ba983a](https://github.com/danielsogl/awesome-cordova-plugins/commit/3ba983aa7f8a3ce382c164929cda37921056cfcc)), closes [#4600](https://github.com/danielsogl/awesome-cordova-plugins/issues/4600) [#4608](https://github.com/danielsogl/awesome-cordova-plugins/issues/4608) [#4617](https://github.com/danielsogl/awesome-cordova-plugins/issues/4617) [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
### Features
* **clevertap:** support clevertap-cordova 2.7.2 ([#4683](https://github.com/danielsogl/awesome-cordova-plugins/issues/4683)) [skip ci] ([bddafc7](https://github.com/danielsogl/awesome-cordova-plugins/commit/bddafc779a65379c5d09fa74418830b81e2525a7)), closes [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
# [6.4.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.3.0...v6.4.0) (2023-07-11)

View File

@@ -219,6 +219,7 @@
* [GCDWebServer](plugins/gcdwebserver.md)
* [Smtp Client](plugins/smtp-client.md)
* [Cashfree PG](plugins/cashfree-pg/README.md)
* [Save Dialog](plugins/save-dialog/README.md)
* [Installation](installation.md)
* [FAQ](faq.md)

View File

@@ -1,7 +1,5 @@
# Adjust
```
$ ionic cordova plugin add com.adjust.sdk
# AdjustThirdPartySharing
ova plugin add com.adjust.sdk
$ npm install @awesome-cordova-plugins/adjust
```

View File

@@ -1,4 +1,4 @@
# AdMob
# RewardVideo
```
$ ionic cordova plugin add cordova-admob-plus
@@ -7,18 +7,13 @@ $ npm install @awesome-cordova-plugins/admob-plus
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/admob-plus/)
Plugin Repo: [https://github.com/admob-plus/admob-plus](https://github.com/admob-plus/admob-plus)
Plugin Repo: []()
## Supported platforms
- Android
- iOS
n-admob-free, which provides a cleaner API and build with modern tools.
github.com/admob-plus/admob-plus](https://github.com/admob-plus/admob-plus)
AdMob Plus is the successor of cordova-plugin-admob-free, which provides a cleaner API and build with modern tools.
## Supported platforms

View File

@@ -0,0 +1,20 @@
# AdvancedImagePicker
```
$ ionic cordova plugin add cordova-plugin-advanced-imagepicker
$ npm install @awesome-cordova-plugins/advanced-image-picker
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/advanced-image-picker/)
Plugin Repo: [https://github.com/EinfachHans/cordova-plugin-advanced-imagepicker](https://github.com/EinfachHans/cordova-plugin-advanced-imagepicker)
This Cordova Plugin is for a better (multiple) ImagePicker with more options.
## Supported platforms
- Android
- iOS

View File

@@ -0,0 +1,20 @@
# App Review
```
$ ionic cordova plugin add cordova-plugin-app-review
$ npm install @awesome-cordova-plugins/app-review
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/app-review/)
Plugin Repo: [https://github.com/chemerisuk/cordova-plugin-app-review](https://github.com/chemerisuk/cordova-plugin-app-review)
Cordova plugin to review app
## Supported platforms
- Android
- iOS

View File

@@ -1,7 +1,7 @@
# BackgroundUpload
```
$ ionic cordova plugin add cordova-plugin-background-upload
$ ionic cordova plugin add @spoonconsulting/cordova-plugin-background-upload
$ npm install @awesome-cordova-plugins/background-upload
```

View File

@@ -0,0 +1,22 @@
# Brightness
```
$ ionic cordova plugin add cordova-plugin-brightness
$ npm install @awesome-cordova-plugins/brightness
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/brightness/)
Plugin Repo: [https://github.com/mgcrea/cordova-plugin-brightness](https://github.com/mgcrea/cordova-plugin-brightness)
The Brightness plugin let you control the display brightness of your device.
Requires Cordova plugin: `cordova-plugin-brightness`. For more info, please see the [Brightness plugin docs](https://github.com/mgcrea/cordova-plugin-brightness).
## Supported platforms
- Android
- iOS

View File

@@ -14,4 +14,7 @@ This plugin provides an interface to in-app browser tabs that exist on some mobi
## Supported platforms
- Android
- iOS
- iOS

View File

@@ -16,10 +16,10 @@ Requires the Cordova plugin: `cordova-plugin-camera`. For more info, please see
[Warning] Since IOS 10 the camera requires permissions to be placed in your config.xml add
```xml
<config-file parent="NSCameraUsageDescription" platform="ios" target="*-Info.plist">
<string>You can take photos</string>
<string>You can take photos</string>
</config-file>
```
inside of the <platform name='ios> section
inside of the `<platform name='ios>` section
## Supported platforms

View File

@@ -1,20 +1,17 @@
# Cashfree PG
```
$ ionic cordova plugin add cordova-plugin-cashfree-pg
# CFPaymentComponentBuilder
nic cordova plugin add cordova-plugin-cashfree-pg
$ npm install @awesome-cordova-plugins/cashfree-pg
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/cashfree-pg/)
Plugin Repo: [https://github.com/cashfree/cordova-plugin-cashfree](https://github.com/cashfree/cordova-plugin-cashfree.git)
SDK Usage Documentation: [https://docs.cashfree.com/docs/cordova-integration](https://docs.cashfree.com/docs/cordova-integration)
Plugin Repo: [https://github.com/cashfree/cordova-plugin-cashfree](https://github.com/cashfree/cordova-plugin-cashfree)
Cordova Plugin that wraps Cashfree PG SDK for Android and iOS
## Supported platforms
- Android
- Android
- iOS

View File

@@ -1,13 +1,13 @@
# Chooser
```
$ ionic cordova plugin add cordova-plugin-chooser
$ ionic cordova plugin add http://github.com/MaximBelov/cordova-plugin-chooser.git
$ npm install @awesome-cordova-plugins/chooser
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/chooser/)
Plugin Repo: [https://github.com/cyph/cordova-plugin-chooser](https://github.com/cyph/cordova-plugin-chooser)
Plugin Repo: [https://github.com/MaximBelov/cordova-plugin-chooser](https://github.com/MaximBelov/cordova-plugin-chooser)
File chooser plugin for Cordova.

View File

@@ -0,0 +1,19 @@
# Crop Plugin Privacy
```
$ ionic cordova plugin add cordova-plugin-crop-privacy
$ npm install @awesome-cordova-plugins/crop-plugin-privacy
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/crop-plugin-privacy/)
Plugin Repo: [https://github.com/BaraAksayeth25/cordova-plugin-crop-privacy](https://github.com/BaraAksayeth25/cordova-plugin-crop-privacy)
This plugin does something
## Supported platforms
- Android

View File

@@ -1,4 +1,4 @@
# Answers
# Crashlytics
```
$ ionic cordova plugin add cordova-fabric-plugin --variable FABRIC_API_KEY=XXX --variable FABRIC_API_SECRET=xxx
@@ -9,7 +9,7 @@ $ npm install @awesome-cordova-plugins/fabric
Plugin Repo: [https://www.npmjs.com/package/cordova-fabric-plugin](https://www.npmjs.com/package/cordova-fabric-plugin)
API for interacting with the Answers kit.
API for interacting with the Crashlytics kit.
https://docs.fabric.io/crashlytics/index.html
@@ -20,7 +20,3 @@ https://docs.fabric.io/crashlytics/index.html
OS

View File

@@ -40,7 +40,7 @@ Click `'Add Platform'`.
At this point you'll need to open your project's [`config.xml`](https://cordova.apache.org/docs/en/latest/config_ref/index.html) file, found in the root directory of your project.
Take note of the `id` for the next step:
```
```xml
<widget id="com.mycompany.testapp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
```

View File

@@ -0,0 +1,89 @@
# FbSdk
```
$ ionic cordova plugin add cordova-plugin-fbsdk --variable APP_ID="123456789" --variable APP_NAME="myApplication" --variable CLIENT_TOKEN="abcd1234"
$ npm install @awesome-cordova-plugins/fbsdk
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/fbsdk/)
Plugin Repo: [https://github.com/MaximBelov/cordova-plugin-fbsdk](https://github.com/MaximBelov/cordova-plugin-fbsdk)
Use the Facebook SDK plugin to obtain access to the native FB application on iOS and Android.
Requires Cordova plugin: `cordova-plugin-fbsdk`. For more info, please see the [Facebook SDK](https://github.com/MaximBelov/cordova-plugin-fbsdk).
#### Installation
To use the FB plugin, you first have to create a new Facebook App inside of the Facebook developer portal at [https://developers.facebook.com/apps](https://developers.facebook.com/apps).
[![fb-getstarted-1](/img/docs/native/Facebook/1.png)](https://developers.facebook.com/apps/)
Retrieve the `App ID` and `App Name`.
[![fb-getstarted-2](/img/docs/native/Facebook/2.png)](https://developers.facebook.com/apps/)
Then type in the following command in your Terminal, where APP_ID and APP_NAME are the values from the Facebook Developer portal.
```bash
ionic cordova plugin add cordova-plugin-fbsdk --variable APP_ID="123456789" --variable APP_NAME="myApplication" --variable CLIENT_TOKEN="abcd1234"
```
After, you'll need to add the native platforms you'll be using to your app in the Facebook Developer portal under your app's Settings:
[![fb-getstarted-3](/img/docs/native/Facebook/3.png)](https://developers.facebook.com/apps/)
Click `'Add Platform'`.
[![fb-getstarted-4](/img/docs/native/Facebook/4.png)](https://developers.facebook.com/apps/)
At this point you'll need to open your project's [`config.xml`](https://cordova.apache.org/docs/en/latest/config_ref/index.html) file, found in the root directory of your project.
Take note of the `id` for the next step:
```
<widget id="com.mycompany.testapp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
```
You can also edit the `id` to whatever you'd like it to be.
#### Client Access Tokens
[](https://developers.facebook.com/docs/facebook-login/guides/access-tokens#clienttokens)
#### iOS Install
Under 'Bundle ID', add the `id` from your `config.xml` file:
[![fb-getstarted-5](/img/docs/native/Facebook/5.png)](https://developers.facebook.com/apps/)
#### Android Install
Under 'Google Play Package Name', add the `id` from your `config.xml` file:
[![fb-getstarted-6](/img/docs/native/Facebook/6.png)](https://developers.facebook.com/apps/)
And that's it! You can now make calls to Facebook using the plugin.
## Events
App events allow you to understand the makeup of users engaging with your app, measure the performance of your Facebook mobile app ads, and reach specific sets of your users with Facebook mobile app ads.
- [iOS] [https://developers.facebook.com/docs/ios/app-events](https://developers.facebook.com/docs/ios/app-events)
- [Android] [https://developers.facebook.com/docs/android/app-events](https://developers.facebook.com/docs/android/app-events)
- [JS] Does not have an Events API, so the plugin functions are empty and will return an automatic success
Activation events are automatically tracked for you in the plugin.
Events are listed on the [insights page](https://www.facebook.com/insights/).
For tracking events, see `logEvent` and `logPurchase`.
## Supported platforms
- Android
- iOS
- Browser

View File

@@ -0,0 +1,20 @@
# FFMpeg
```
$ ionic cordova plugin add cordova-plugin-ffmpeg
$ npm install @awesome-cordova-plugins/ffmpeg
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/ffmpeg/)
Plugin Repo: [https://github.com/MaximBelov/cordova-plugin-ffmpeg](https://github.com/MaximBelov/cordova-plugin-ffmpeg)
Simple plugin that binds mobile ffmpeg to execute ffmpeg commands
## Supported platforms
- Android
- iOS

View File

@@ -0,0 +1,19 @@
# FileChooser Plugin
```
$ ionic cordova plugin add cordova-plugin-filechooser
$ npm install @awesome-cordova-plugins/file-chooser
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/file-chooser/)
Plugin Repo: [https://github.com/ihadeed/cordova-filechooser](https://github.com/ihadeed/cordova-filechooser)
Cordova FileChooser Plugin
## Supported platforms
- Android

View File

@@ -0,0 +1,45 @@
# FirebaseModelInput
Result
t
cordova plugin add cordova-plugin-firebase-model
$ npm install @awesome-cordova-plugins/firebase-model
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/firebase-model/)
Plugin Repo: ['']('')
This plugin downloads the TensorFlow model from firebase and classify the images.
```typescript
import { FirebaseModel } from '@ionic-native/ionic-native-firebase-model';
constructor(private firebaseModel: FirebaseModel) { }
...
this.firebaseModel.configure('Sample_Model')
.subscribe((res: FirebaseModelConfigResult) => console.log(res.status + " - " + res.progress))
.catch((error: any) => console.error(error));
try {
var result:FirebaseModelClassifyResult = await this.firebaseModel.classify("/Documents/input_image.png")
console.log(result.label + " - " + result.score)
}
catch (e) {
console.log(e)
}
```
## Supported platforms
- iOS

View File

@@ -1,7 +1,7 @@
# GCDWebServer
# gcdwebserver
```
$ ionic cordova plugin add cordova-plugin-gcdwebserver
$ ''
$ npm install @awesome-cordova-plugins/gcdwebserver
```
@@ -9,11 +9,11 @@ $ npm install @awesome-cordova-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.
This plugin can start an HTTP server using GCDWebServer
## Supported platforms
iOS
- iOS

View File

@@ -1,5 +1,4 @@
# HyperTrack
# Coordinates
alidationError
ic cordova plugin add cordova-plugin-hypertrack-v3
$ npm install @awesome-cordova-plugins/hyper-track

View File

@@ -0,0 +1,20 @@
# ImageResizer
```
$ ionic cordova plugin add cordova-plugin-image-resizer
$ npm install @awesome-cordova-plugins/image-resizer
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/image-resizer/)
Plugin Repo: [https://github.com/JoschkaSchulz/cordova-plugin-image-resizer](https://github.com/JoschkaSchulz/cordova-plugin-image-resizer)
Cordova Plugin For Image Resize
## Supported platforms
- Android
- iOS

View File

@@ -0,0 +1,22 @@
# Mobile Accessibility
```
$ ''
$ npm install @awesome-cordova-plugins/mobile-accessibility
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/mobile-accessibility/)
Plugin Repo: [https://github.com/phonegap/phonegap-mobile-accessibility](https://github.com/phonegap/phonegap-mobile-accessibility)
This plugin exposes information on the status of various accessibility features of mobile operating systems, including, for example, whether a screen reader is running, invert colors is enabled, and the preferred scaling for text.
It also allows an application to send a string to be spoken by the screen reader, or a command to stop the screen reader from speaking.
## Supported platforms
- Android
- iOS
- Amazon Fire OS

View File

@@ -1,6 +1,7 @@
# UriHelper
# NFC
ionic cordova plugin add phonegap-nfc
```
$ ionic cordova plugin add phonegap-nfc
$ npm install @awesome-cordova-plugins/nfc
```

View File

@@ -0,0 +1,21 @@
# Power Management
```
$ ionic cordova plugin add cordova-plugin-powermanagement-orig
$ npm install @awesome-cordova-plugins/power-management
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/power-management/)
Plugin Repo: [https://github.com/Viras-/cordova-plugin-powermanagement](https://github.com/Viras-/cordova-plugin-powermanagement)
The PowerManagement plugin offers access to the devices power-management functionality.
It should be used for applications which keep running for a long time without any user interaction.
## Supported platforms
- Android
- iOS

View File

@@ -1,7 +1,7 @@
# Purchases
```
$ ionic cordova plugin add cordova-plugin-purchases@2.4.0
$ ionic cordova plugin add cordova-plugin-purchases@5.0.0
$ npm install @awesome-cordova-plugins/purchases
```
@@ -9,7 +9,9 @@ $ npm install @awesome-cordova-plugins/purchases
Plugin Repo: [https://github.com/RevenueCat/cordova-plugin-purchases](https://github.com/RevenueCat/cordova-plugin-purchases)
Purchases is a cross platform solution for managing in-app subscriptions. A backend is also provided via [RevenueCat](https://www.revenuecat.com)
*Purchases* is a client for the [RevenueCat](https://www.revenuecat.com/) subscription and purchase tracking system.
It is an open source framework that provides a wrapper around `BillingClient`, `StoreKit` and the RevenueCat backend
to make implementing in-app subscriptions easy - receipt validation and status tracking included!
## Features
| | RevenueCat |
@@ -24,9 +26,24 @@ Purchases is a cross platform solution for managing in-app subscriptions. A back
| 📮 | Great support - [Help Center](https://revenuecat.zendesk.com) |
| 🤩 | Awesome [new features](https://trello.com/b/RZRnWRbI/revenuecat-product-roadmap) |
## Capacitor
The Cordova plugin is not guaranteed to be up to date and we are moving our efforts to the Capacitor plugin.
Please consider using our [Capacitor plugin](https://docs.revenuecat.com/docs/capacitor) instead of the Cordova plugin and this wrapper.
## Getting Started
For more detailed information, you can view our complete documentation at [docs.revenuecat.com](https://docs.revenuecat.com/docs).
Please follow the [Quickstart Guide](https://docs.revenuecat.com/docs/) for more information on how to use the SDK
## Latest changes to this plugin
This latest release updates the plugin to use BillingClient 6 in Android. If you come from an older version of the
RevenueCat SDK, see [Android Native - 5.x to 6.x Migration](https://www.revenuecat.com/docs/android-native-5x-to-6x-migration)
for a more thorough explanation of the new Google subscription model announced with BillingClient 5 and how to take advantage of it.
If your app supports product changes using [DEFERRED replacement mode](https://www.revenuecat.com/docs/managing-subscriptions#google-play),
then you can either stick with the previous major version until support for DEFERRED is re-introduced in this major version,
or you can remove DEFERRED replacement options from your app.
## Supported platforms

View File

@@ -0,0 +1,18 @@
# Save Dialog
```text
$ ionic cordova plugin add cordova-plugin-save-dialog
$ npm install @awesome-cordova-plugins/save-dialog
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/save-dialog/)
Plugin Repo: [https://github.com/Amphiluke/cordova-plugin-save-dialog](https://github.com/Amphiluke/cordova-plugin-save-dialog)
This Cordova plugin displays the native Save dialog which allows users to store a file in the selected location.
## Supported platforms
* Android
* iOS

View File

@@ -0,0 +1,20 @@
# Save Dialog
```text
$ ionic cordova plugin add cordova-plugin-save-dialog
$ npm install @awesome-cordova-plugins/save-dialog
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/save-dialog/)
Plugin Repo: [https://github.com/Amphiluke/cordova-plugin-save-dialog](https://github.com/Amphiluke/cordova-plugin-save-dialog)
This Cordova plugin displays the native Save dialog which allows users to store a file in the selected location.
## Supported platforms
* Android
* iOS

View File

@@ -1,7 +1,5 @@
# Sign In With Apple
```
$ ionic cordova plugin add cordova-plugin-sign-in-with-apple
# ASAuthorizationAppleIDRequest
c cordova plugin add cordova-plugin-sign-in-with-apple
$ npm install @awesome-cordova-plugins/sign-in-with-apple
```

View File

@@ -1,5 +1,7 @@
# SmartlookEventTrackingMode
ova plugin add https://github.com/smartlook/cordova-smartlook.git
# Smartlook
```
$ ionic cordova plugin add https://github.com/smartlook/cordova-smartlook.git
$ npm install @awesome-cordova-plugins/smartlook
```
@@ -8,7 +10,7 @@ $ npm install @awesome-cordova-plugins/smartlook
Plugin Repo: [https://github.com/smartlook/cordova-smartlook.git](https://github.com/smartlook/cordova-smartlook.git)
Official Smartlook SDK plugin.
Full documentation can be found here: https://smartlook.github.io/docs/sdk/ionic/
Full documentation can be found here: https://mobile.developer.smartlook.com/reference/ionic-sdk-installation
## Supported platforms

View File

@@ -0,0 +1,19 @@
# SmsRetrieverApi
```
$ ionic cordova plugin add cordova-plugin-sms-retriever --variable PLAY_SERVICES_VERSION="18.0.1"
$ npm install @awesome-cordova-plugins/sms-retriever-api
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/sms-retriever-api/)
Plugin Repo: [https://github.com/andreszs/cordova-plugin-sms-retriever](https://github.com/andreszs/cordova-plugin-sms-retriever)
This plugin retries the SMS which arrive without requiring READ permissions.
## Supported platforms
- Android

View File

@@ -15,6 +15,3 @@ Plugin Repo: [https://github.com/CWBudde/cordova-plugin-smtp-client](https://git
- Android
- iOS

View File

@@ -0,0 +1,17 @@
# SSLCertificateChecker
```
$ ionic cordova plugin add cordova-plugin-sslcertificatechecker
$ npm install @awesome-cordova-plugins/ssl-certificate-checker
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/ssl-certificate-checker/)
Plugin Repo: [https://github.com/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin](https://github.com/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin)
Cordova plugin to check SSL certificates on Android and iOS.
## Supported Platforms
* Android
* iOS

View File

@@ -0,0 +1,17 @@
# SSLCertificateChecker
```
$ ionic cordova plugin add cordova-plugin-sslcertificatechecker
$ npm install @awesome-cordova-plugins/ssl-certificate-checker
```
## [Usage Documentation](https://github.com/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin/)
Plugin Repo: [https://github.com/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin](https://github.com/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin)
Cordova plugin to check SSL certificates on Android and iOS.
## Supported Platforms
* Android
* iOS

View File

@@ -1,7 +1,5 @@
# Tealium
```
$ ''
# ConsentExpiry
''
$ npm install @awesome-cordova-plugins/tealium
```

View File

@@ -0,0 +1,21 @@
# Unique Device ID
```
$ ''
$ npm install @awesome-cordova-plugins/unique-device-id
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/unique-device-id/)
Plugin Repo: [https://github.com/Paldom/UniqueDeviceID](https://github.com/Paldom/UniqueDeviceID)
This plugin produces a unique, cross-install, app-specific device id.
## Supported platforms
- Android
- iOS
- Windows Phone 8

View File

@@ -1,8 +1,7 @@
# UnviredResult
a SDK
```
$ ionic cordova plugin add @awesome-cordova-plugins/unvired-cordova-sdk
# SyncResult
ult
ivateResult
ionic cordova plugin add @awesome-cordova-plugins/unvired-cordova-sdk
$ npm install @awesome-cordova-plugins/unvired-cordova-sdk
```

View File

@@ -0,0 +1,21 @@
# Webim
```
$ cordova plugin add https://github.com/webim/webim-cordova-plugin.git
$ npm install @awesome-cordova-plugins/webim
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/webim/)
Plugin Repo: [https://github.com/webim/webim-cordova-plugin.git](https://github.com/webim/webim-cordova-plugin.git)
A cordova plugin, a JS version of Webim SDK
## Supported platforms
- Android
- iOS
- Browser

View File

@@ -1,4 +1,5 @@
# Push Notifications - WonderPush
# UserPreferencesMethods
nderPush
```
$ ionic cordova plugin add wonderpush-cordova-sdk --variable CLIENT_ID=YOUR_CLIENT_ID --variable CLIENT_SECRET=YOUR_CLIENT_SECRET

10310
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": "6.4.0",
"version": "6.9.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,51 +24,51 @@
"prettier": "prettier --write --ignore-unknown \"**/*\""
},
"dependencies": {
"tslib": "2.6.0"
"tslib": "2.7.0"
},
"devDependencies": {
"@angular/common": "12.2.16",
"@angular/compiler": "12.2.16",
"@angular/compiler-cli": "12.2.16",
"@angular/core": "12.2.16",
"@types/cordova": "11.0.0",
"@types/fs-extra": "11.0.1",
"@angular/common": "12.2.17",
"@angular/compiler": "12.2.17",
"@angular/compiler-cli": "12.2.17",
"@angular/core": "12.2.17",
"@types/cordova": "11.0.3",
"@types/fs-extra": "11.0.4",
"@types/jest": "27.5.2",
"@types/lodash": "4.14.195",
"@types/node": "18.16.19",
"@types/rimraf": "3.0.2",
"@types/webpack": "5.28.1",
"@types/lodash": "4.17.5",
"@types/node": "20.14.10",
"@types/rimraf": "4.0.5",
"@types/webpack": "5.28.5",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"async-promise-queue": "1.0.5",
"conventional-changelog-cli": "3.0.0",
"conventional-changelog-cli": "5.0.0",
"cz-conventional-changelog": "3.3.0",
"dgeni": "0.4.14",
"dgeni-packages": "0.16.10",
"eslint": "8.44.0",
"eslint-config-prettier": "8.8.0",
"eslint-plugin-jsdoc": "46.4.3",
"fs-extra": "11.1.1",
"gulp": "4.0.2",
"eslint": "8.57.0",
"eslint-config-prettier": "8.10.0",
"eslint-plugin-jsdoc": "50.2.2",
"fs-extra": "11.2.0",
"gulp": "5.0.0",
"gulp-rename": "2.0.0",
"gulp-replace": "1.1.4",
"husky": "8.0.3",
"husky": "9.1.6",
"is-ci": "3.0.1",
"jest": "27.5.1",
"lint-staged": "13.2.3",
"lint-staged": "15.2.10",
"lodash": "4.17.21",
"minimist": "1.2.8",
"prettier": "2.8.8",
"rimraf": "5.0.1",
"rollup": "3.26.2",
"rimraf": "5.0.5",
"rollup": "4.21.3",
"rxjs": "6.6.7",
"terser-webpack-plugin": "5.3.9",
"terser-webpack-plugin": "5.3.10",
"ts-jest": "27.1.5",
"ts-node": "10.9.1",
"ts-node": "10.9.2",
"typescript": "4.2.4",
"unminified-webpack-plugin": "3.0.0",
"webpack": "5.74.0",
"winston": "3.10.0",
"winston": "3.14.2",
"zone.js": "0.11.8"
},
"jest": {

View File

@@ -1,5 +1,19 @@
{
"extends": [
"config:base"
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:base", ":dependencyDashboard"],
"packageRules": [
{
"groupName": "Angular",
"packagePatterns": ["^@angular/", "^@angular-devkit/", "@schematics/angular"],
"allowedVersions": "<=12"
},
{
"matchPackageNames": ["zone.js"],
"allowedVersions": "<=11"
},
{
"matchPackageNames": ["typescript"],
"allowedVersions": "<=4"
}
]
}

View File

@@ -15,7 +15,7 @@ const FLAGS = '--access public';
const PACKAGE_JSON_BASE = {
description: 'Awesome Cordova Plugins - Native plugins for ionic apps',
main: 'bundle.js',
main: 'index.js',
module: 'index.js',
typings: 'index.d.ts',
author: 'ionic',

View File

@@ -5,7 +5,10 @@ export class AdjustEvent {
private eventToken: string;
private revenue: number;
private currency: string;
private receipt: string;
private productId: string;
private transactionId: string;
private purchaseToken: string;
private callbackId: string;
private callbackParameters: string[] = [];
private partnerParameters: string[] = [];
@@ -36,6 +39,18 @@ export class AdjustEvent {
setCallbackId(callbackId: string) {
this.callbackId = callbackId;
}
setReceipt(receipt: string) {
this.receipt = receipt;
}
setProductId(productId: string) {
this.productId = productId;
}
setPurchaseToken(purchaseToken: string) {
this.purchaseToken = purchaseToken;
}
}
export class AdjustConfig {
@@ -61,13 +76,17 @@ export class AdjustConfig {
private processName: string = null; // Android only
private preinstallTrackingEnabled: boolean = null; // Android only
private preinstallFilePath: string = null; // Android only
private fbAppId: string = null; // Android only
private oaidReadingEnabled: boolean = null; // Android only
private allowiAdInfoReading: boolean = null; // iOS only
private allowIdfaReading: boolean = null; // iOS only
private allowAdServicesInfoReading: boolean = null; // iOS only
private coppaCompliantEnabled: boolean = null;
private coppaCompliantEnabled: boolean = null;
private readDeviceInfoOnceEnabled: boolean = null;
private playStoreKidsAppEnabled: boolean = null; // Android only
private linkMeEnabled: boolean = null; // iOS only
private finalAndroidAttributionEnabled: boolean = null; // Android only
private attConsentWaitingInterval: number = null; // iOS only
private attributionCallback: (attribution: AdjustAttribution) => void = null;
private eventTrackingSucceededCallback: (event: AdjustEventSuccess) => void = null;
@@ -76,6 +95,7 @@ export class AdjustConfig {
private sessionTrackingFailedCallback: (session: AdjustSessionFailure) => void = null;
private deferredDeeplinkCallback: (uri: string) => void = null;
private conversionValueUpdatedCallback: (conversionValue: number) => void = null;
private skad4ConversionValueUpdatedCallback: (skad4Data: AdjustSkad4Data) => void = null;
constructor(appToken: string, environment: AdjustEnvironment) {
this.appToken = appToken;
@@ -126,6 +146,10 @@ export class AdjustConfig {
this.coppaCompliantEnabled = coppaCompliantEnabled;
}
setReadDeviceInfoOnceEnabled(readDeviceInfoOnceEnabled: boolean) {
this.readDeviceInfoOnceEnabled = readDeviceInfoOnceEnabled;
}
setPlayStoreKidsAppEnabled(playStoreKidsAppEnabled: boolean) {
this.playStoreKidsAppEnabled = playStoreKidsAppEnabled;
}
@@ -154,6 +178,10 @@ export class AdjustConfig {
this.preinstallFilePath = preinstallFilePath;
}
setFbAppId(fbAppId: string) {
this.fbAppId = fbAppId;
}
setOaidReadingEnabled(enableOaidReading: boolean) {
this.oaidReadingEnabled = enableOaidReading;
}
@@ -174,6 +202,14 @@ export class AdjustConfig {
this.linkMeEnabled = linkMeEnabled;
}
setFinalAndroidAttributionEnabled(finalAndroidAttributionEnabled: boolean) {
this.finalAndroidAttributionEnabled = finalAndroidAttributionEnabled;
}
setAttConsentWaitingInterval(attConsentWaitingInterval: number) {
this.attConsentWaitingInterval = attConsentWaitingInterval;
}
setAttributionCallbackListener(attributionCallback: (attribution: AdjustAttribution) => void) {
this.attributionCallback = attributionCallback;
}
@@ -204,6 +240,10 @@ export class AdjustConfig {
this.conversionValueUpdatedCallback = conversionValueUpdatedCallback;
}
setSkad4ConversionValueUpdatedCallbackListener(skad4ConversionValueUpdatedCallback: (skad4Data: AdjustSkad4Data) => void) {
this.skad4ConversionValueUpdatedCallback = skad4ConversionValueUpdatedCallback;
}
private getAttributionCallback() {
return this.attributionCallback;
}
@@ -232,6 +272,10 @@ export class AdjustConfig {
return this.conversionValueUpdatedCallback;
}
private getSkad4ConversionValueUpdatedCallback() {
return this.skad4ConversionValueUpdatedCallback;
}
private hasAttributionListener() {
return this.attributionCallback !== null;
}
@@ -259,6 +303,10 @@ export class AdjustConfig {
private hasConversionValueUpdatedCallbackListener() {
return this.conversionValueUpdatedCallback !== null;
}
private hasSkad4ConversionValueUpdatedCallbackListener() {
return this.skad4ConversionValueUpdatedCallback !== null;
}
}
export class AdjustAppStoreSubscription {
@@ -401,6 +449,28 @@ export class AdjustAdRevenue {
}
}
export class AdjustAppStorePurchase {
private receipt: string;
private productId: string;
private transactionId: string;
constructor(receipt: string, productId: string, transactionId: string) {
this.receipt = receipt;
this.productId = productId;
this.transactionId = transactionId;
}
}
export class AdjustPlayStorePurchase {
private productId: string;
private purchaseToken: string;
constructor(productId: string, purchaseToken: string) {
this.productId = productId;
this.purchaseToken = purchaseToken;
}
}
export interface AdjustAttribution {
trackerToken: string;
trackerName: string;
@@ -450,6 +520,18 @@ export interface AdjustEventFailure {
jsonResponse: string;
}
export interface AdjustSkad4Data {
fineValue: number;
coarseValue: string;
lockWindow: boolean;
}
export interface AdjustPurchaseVerificationInfo {
verificationStatus: string;
code: number;
message: string;
}
export enum AdjustEnvironment {
Sandbox = 'sandbox',
Production = 'production',
@@ -468,6 +550,8 @@ export enum AdjustLogLevel {
export enum AdjustUrlStrategy {
India = 'india',
China = 'china',
Cn = 'cn',
CnOnly = 'cn-only',
DataResidencyEU = 'data-residency-eu',
DataResidencyTR = 'data-residency-tr',
DataResidencyUS = 'data-residency-us',
@@ -482,6 +566,8 @@ export enum AdjustAdRevenueSource {
AdRevenueSourceUnity = "unity_sdk",
AdRevenueSourceHeliumChartboost = "helium_chartboost_sdk",
AdRevenueSourcePublisher = "publisher_sdk",
AdRevenueSourceTopOn = "topon_sdk",
AdRevenueSourceAdx = "adx_sdk",
}
/**
@@ -511,13 +597,17 @@ export enum AdjustAdRevenueSource {
* AdjustSessionFailure
* AdjustEventSuccess
* AdjustEventFailure
* AdjustSkad4Data
* AdjustPurchaseVerificationInfo
* @classes
* AdjustEvent
* AdjustConfig
* AdjustAppStoreSubscription
* AdjustPlayStoreSubscription
* AdjustThirdPartySharing
* AdjustAdReenue
* AdjustAdRevenue
* AdjustAppStorePurchase
* AdjustPlayStorePurchase
* @enums
* AdjustEnvironment
* AdjustLogLevel
@@ -815,4 +905,37 @@ export class Adjust extends AwesomeCordovaNativePlugin {
getLastDeeplink(): Promise<string> {
return;
}
/**
* This method is used to verify the App Store purchase
*
* @param {AdjustAppStorePurchase} purchase Adjust App Store purchase object to be verified
* @returns {Promise<AdjustPurchaseVerificationInfo>} Returns a promise with purchase verification outcome
*/
@Cordova()
verifyAppStorePurchase(purchase: AdjustAppStorePurchase): Promise<AdjustPurchaseVerificationInfo> {
return;
}
/**
* This method is used to verify the Play Store purchase
*
* @param {AdjustPlayStorePurchase} purchase Adjust Play Store purchase object to be verified
* @returns {Promise<AdjustPurchaseVerificationInfo>} Returns a promise with purchase verification outcome
*/
@Cordova()
verifyPlayStorePurchase(purchase: AdjustPlayStorePurchase): Promise<AdjustPurchaseVerificationInfo> {
return;
}
/**
* This method is used to send and potentially resolve shortened deep links
*
* @param {string} deeplink Potentially shortened deep link that has opened your app
* @returns {Promise<string>} Returns a promise with either resolved (if it was resolved) or echoed deep link
*/
@Cordova()
processDeeplink(deeplink: string): Promise<string> {
return;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -28,98 +28,6 @@ interface AbortedResponse {
aborted: boolean;
}
export interface ApproovLoggableToken {
/**
* Expiry
* The only mandatory claim for Approov tokens. It specifies the expiry time for the token as a Unix timestamp.
*/
exp: number;
/**
* Device ID
* This claim identifies the device for which the token was issued. This is a base64 encoded string representing a 128-bit device identifier.
* Note that this is not, strictly speaking, a device identifier as it is also influenced by the app identifier
* and may change if the same app is uninstalled and then reinstalled on the same device.
*/
did?: string;
/**
* Attestation Response Code
* This is an optional claim that encodes information about a subset of the device property flags and also whether the attestation was a pass or fail.
* The claim is encoded in base32 and is typically 10 characters long (although it may be longer in some circumstances).
* This claim is not included by tokens from the failover.
*/
arc?: string;
/**
* IP Address
* This holds the IP address of the device as seen by the Approov cloud service. It is provided in a human readable IP address format (in either IPv4 or IPv6 format).
* In practice this value can often change between the time a token is issued and the time it is sent to your backend, so you should never block if it differs, but you may include it as a signal that tokens have somehow been stolen and are being replayed.
* This claim is not included by tokens from the failover or if the IP Tracking Policy for the account has been set to none.
*/
ip?: string;
/**
* Issuer
* An optional claim that is added if the issuer inclusion option is enabled. This provides the Approov account ID that was used to issue the token (suffixed with approov.io).
* It can be used as an additional layer of backend verification if signing keys are shared between multiple accounts.
* It indicates that tokens were issued from the expected Approov account. This claim may also be set to an explicit value for long lived Approov tokens.
* This flexibility is designed for use with server-to-server communication (which may only be signed with the account specific secret keys).
*/
iss?: string;
/**
* Annotation
* This is an embedded JSON array of strings showing the list of flags that are set and are in the annotation set for the security policy that is selected.
* This allows additional information to be collected about the state of a particular device without necessarily causing an attestation failure.
* Note that if there are no possible annotations then this claim is not present at all. This claim is not included by tokens from the failover.
*/
anno?: string[];
/**
* Payload Hash
* An optional claim that is added if the protected app passes a token binding argument to the setDataHashInToken method.
* The claim value is set to the base64 encoded SHA256 hash of the provided payload string.
* This is typically used to bind an Approov token to some other data used by your app to enhance security (like a user auth token).
*/
pay?: string;
/**
* Audience
* An optional claim that is added if the audience inclusion option is enabled. This provides the domain for which the token was issued.
* It can be used as an additional layer of backend verification to ensure that tokens intended for one domain cannot be used on to access a different one.
*/
aud?: string;
/**
* Message Siging Key ID
* This is an optional claim that encodes the ID of a key being used for Message Signing.
* This is only present in Approov tokens for which message signing is active. This claim is not included by tokens from the failover.
*/
mskid?: string;
/**
* Measurement Proof Key
* An optional claim to provide the measurement proof key if a measurement has been requested by the SDK on the domain for which the token is issued.
* This is a base64 encoded 128-bit proof key value. Note that if measurement is being used, then JWE tokens will be used to keep this claim secret.
*/
mpk?: string;
/**
* Integrity Measurement Hash
* An optional claim to provide the integrity measurement hash if a measurement has been requested by the SDK on the domain for which the token is issued.
* This is a base64 encoded 256-bit SHA256 measurement value. Note that if measurement is being used, then JWE tokens will be used to keep this claim secret.
*/
imh?: string;
/**
* Device Measurement Hash
* An optional claim to provide the device measurement hash if a measurement has been requested by the SDK on the domain for which the token is issued.
* This is a base64 encoded 256-bit SHA256 measurement value. Note that if measurement is being used, then JWE tokens will be used to keep this claim secret
*/
dmh?: string;
}
/**
* @name HTTP
* @description
@@ -134,9 +42,9 @@ export interface ApproovLoggableToken {
* we have only added approov functionality on top of it. All credit goes to the actual plugin developer.
* @usage
* ```typescript
* import { ApproovHttp } from '@awesome-cordova-plugins/http/ngx';
* import { HTTP } from '@awesome-cordova-plugins/http/ngx';
*
* constructor(private http: ApproovHttp) {}
* constructor(private http: HTTP) {}
*
* ...
*
@@ -161,14 +69,14 @@ export interface ApproovLoggableToken {
* HTTPResponse
*/
@Plugin({
pluginName: 'ApproovHttp',
plugin: 'cordova-approov-advanced-http',
pluginRef: 'cordova.plugin.ApproovHttp',
repo: 'https://github.com/approov/quickstart-ionic-advancedhttp',
pluginName: 'HTTP',
plugin: '@approov/cordova-plugin-advanced-http',
pluginRef: 'cordova.plugin.http',
repo: 'https://github.com/approov/quickstart-cordova-advancedhttp',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class ApproovHttp extends AwesomeCordovaNativePlugin {
export class HTTP extends AwesomeCordovaNativePlugin {
/**
* This enum represents the internal error codes which can be returned in a HTTPResponse object.
*
@@ -751,13 +659,23 @@ export class ApproovHttp extends AwesomeCordovaNativePlugin {
return;
}
@Cordova({ sync: true })
initializeApproov(): void {
@Cordova({ sync: false })
approovInitialize(config: string): Promise<void> {
return;
}
@Cordova({ sync: true })
approovSetDataHashInToken(dataHash: string): void {
approovSetProceedOnNetworkFail(): void {
return;
}
@Cordova({ sync: false })
approovSetDevKey(devKey: string): Promise<void> {
return;
}
@Cordova({ sync: true })
approovSetTokenHeader(header: string, prefix: string): void {
return;
}
@@ -766,8 +684,73 @@ export class ApproovHttp extends AwesomeCordovaNativePlugin {
return;
}
@Cordova()
getApproovLoggableToken(host: string): Promise<ApproovLoggableToken> {
@Cordova({ sync: true })
approovAddSubstitutionHeader(header: string, requiredPrefix: string): void {
return;
}
@Cordova({ sync: true })
approovRemoveSubstitutionHeader(header: string): void {
return;
}
@Cordova({ sync: true })
approovAddSubstitutionQueryParam(key: string): void {
return;
}
@Cordova({ sync: true })
approovRemoveSubstitutionQueryParam(key: string): void {
return;
}
@Cordova({ sync: true })
approovAddExclusionURLRegex(urlRegex: string): void {
return;
}
@Cordova({ sync: true })
approovRemoveExclusionURLRegex(urlRegex: string): void {
return;
}
@Cordova({ sync: false })
approovPrefetch(): Promise<void> {
return;
}
@Cordova({ sync: false })
approovPrecheck(): Promise<void> {
return;
}
@Cordova({ sync: false })
approovGetDeviceID(): Promise<String> {
return;
}
@Cordova({ sync: false })
approovSetDataHashInToken(data: string): Promise<void> {
return;
}
@Cordova({ sync: false })
approovFetchToken(url: string): Promise<String> {
return;
}
@Cordova({ sync: false })
approovGetMessageSignature(message: string): Promise<String> {
return;
}
@Cordova({ sync: false })
approovFetchSecureString(key: string, newDef: string): Promise<String> {
return;
}
@Cordova({ sync: false })
approovFetchCustomJWT(payload: string): Promise<String> {
return;
}
}

View File

@@ -0,0 +1,688 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name Barkoder
* @description
* The barKoder Barcode Scanner SDK cordova plugin grants an easy to use solution with a great and completely customizable interface that can be instantly integrated in both iOS and Android apps.
* @usage
*
* ```typescript
* import { Barkoder } from '@awesome-cordova-plugins/barkoder/ngx';
*
* ...
*
* constructor(private barkoder: Barkoder, private platform: Platform) { }
*
* ...
*
* this.platform.ready().then(() => {
* this.barkoder.setLicenseKey('YOUR_KEY', true)
* .then(() => {
* this.barkoder.registerWithLicenseKey('your_license_key')
* this.barkoder.initialize('your_license_key')
* })
* .catch(e => console.log('Error starting Barkoder', e));
* });
*
* ```
*/
@Plugin({
pluginName: 'Barkoder',
plugin: 'barkoder-cordova',
pluginRef: 'Barkoder',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class Barkoder extends AwesomeCordovaNativePlugin {
/**
* Initialize the BarkoderView
*/
@Cordova()
initialize(width: number, height: number, x: number, y: number): Promise<any> {
return;
}
/**
* Register with license key
*/
@Cordova()
registerWithLicenseKey(licenseKey: string): Promise<any> {
return;
}
// - Setters
@Cordova()
setZoomFactor(zoomFactor: number): Promise<any> {
return;
}
@Cordova()
setFlashEnabled(enabled: boolean): Promise<any> {
return;
}
@Cordova()
startCamera(): Promise<any> {
return;
}
@Cordova()
startScanning(): Promise<any> {
return;
}
@Cordova()
stopScanning(): Promise<any> {
return;
}
@Cordova()
pauseScanning(): Promise<any> {
return;
}
@Cordova()
setLocationLineColor(hexColor: string): Promise<any> {
return;
}
@Cordova()
setLocationLineWidth(lineWidth: number): Promise<any> {
return;
}
@Cordova()
setRoiLineColor(hexColor: string): Promise<any> {
return;
}
@Cordova()
setRoiLineWidth(lineWidth: number): Promise<any> {
return;
}
@Cordova()
setRoiOverlayBackgroundColor(hexColor: string): Promise<any> {
return;
}
@Cordova()
setCloseSessionOnResultEnabled(enabled: boolean): Promise<any> {
return;
}
@Cordova()
setImageResultEnabled(enabled: boolean): Promise<any> {
return;
}
@Cordova()
setLocationInImageResultEnabled(enabled: boolean): Promise<any> {
return;
}
@Cordova()
setRegionOfInterest(left: number, top: number, width: number, height: number): Promise<any> {
return;
}
@Cordova()
setThreadsLimit(threadsLimit: number): Promise<any> {
return;
}
@Cordova()
setLocationInPreviewEnabled(enabled: boolean): Promise<any> {
return;
}
@Cordova()
setPinchToZoomEnabled(enabled: boolean): Promise<any> {
return;
}
@Cordova()
setRegionOfInterestVisible(regionOfInterestVisible: boolean): Promise<any> {
return;
}
@Cordova()
setBarkoderResolution(resolution: BarkoderResolution): Promise<any> {
return;
}
@Cordova()
setBeepOnSuccessEnabled(enabled: boolean): Promise<any> {
return;
}
@Cordova()
setVibrateOnSuccessEnabled(enabled: boolean): Promise<any> {
return;
}
@Cordova()
showLogMessages(showLogMessages: boolean): Promise<any> {
return;
}
@Cordova()
setBarcodeTypeLengthRange(type: string, min: number, max: number): Promise<any> {
return;
}
@Cordova()
setEncodingCharacterSet(characterSet: string): Promise<any> {
return;
}
@Cordova()
setDecodingSpeed(decodingSpeed: DecodingSpeed): Promise<any> {
return;
}
@Cordova()
setFormattingType(formattingType: FormattingType): Promise<any> {
return;
}
@Cordova()
setCode11ChecksumType(checksumType: Code11ChecksumType): Promise<any> {
return;
}
@Cordova()
setMsiChecksumType(checksumType: MsiChecksumType): Promise<any> {
return;
}
@Cordova()
setCode39ChecksumType(checksumType: Code39ChecksumType): Promise<any> {
return;
}
@Cordova()
setBarcodeTypeEnabled(type: BarcodeType, enabled: boolean): Promise<any> {
return;
}
@Cordova()
setMulticodeCachingEnabled(enabled: boolean): Promise<any> {
return;
}
@Cordova()
setMulticodeCachingDuration(duration: number): Promise<any> {
return;
}
@Cordova()
setMaximumResultsCount(resultsCount: number): Promise<any> {
return;
}
@Cordova()
setBarcodeThumbnailOnResultEnabled(enabled: boolean): Promise<any> {
return;
}
@Cordova()
setDuplicatesDelayMs(delayMs: number): Promise<any> {
return;
}
@Cordova()
setThresholdBetweenDuplicatesScans(thresholdBetweenDuplicatesScans: number): Promise<any> {
return;
}
@Cordova()
setUpcEanDeblurEnabled(enabled: boolean): Promise<any> {
return;
}
@Cordova()
setMisshaped1DEnabled(enabled: boolean): Promise<any> {
return;
}
@Cordova()
setEnableVINRestrictions(enableVINRestrictions: boolean): Promise<any> {
return;
}
@Cordova()
setDataMatrixDpmModeEnabled(enabled: boolean): Promise<any> {
return;
}
@Cordova()
configureBarkoder(barkoderConfig: BarkoderConfig): Promise<any> {
return;
}
// - Getters
@Cordova()
isFlashAvailable(): Promise<boolean> {
return;
}
@Cordova()
isCloseSessionOnResultEnabled(): Promise<boolean> {
return;
}
@Cordova()
isImageResultEnabled(): Promise<boolean> {
return;
}
@Cordova()
isLocationInImageResultEnabled(): Promise<boolean> {
return;
}
@Cordova()
isLocationInPreviewEnabled(): Promise<boolean> {
return;
}
@Cordova()
isPinchToZoomEnabled(): Promise<boolean> {
return;
}
@Cordova()
isRegionOfInterestVisible(): Promise<boolean> {
return;
}
@Cordova()
isBeepOnSuccessEnabled(): Promise<boolean> {
return;
}
@Cordova()
isVibrateOnSuccessEnabled(): Promise<boolean> {
return;
}
@Cordova()
getVersion(): Promise<string> {
return;
}
@Cordova()
getLocationLineColorHex(): Promise<string> {
return;
}
@Cordova()
getRoiLineColorHex(): Promise<string> {
return;
}
@Cordova()
getRoiOverlayBackgroundColorHex(): Promise<string> {
return;
}
@Cordova()
getMaxZoomFactor(): Promise<number> {
return;
}
@Cordova()
getLocationLineWidth(): Promise<number> {
return;
}
@Cordova()
getRoiLineWidth(): Promise<number> {
return;
}
@Cordova()
getRegionOfInterest(): Promise<number> {
return;
}
@Cordova()
getBarcodeTypeLengthRange(type: number): Promise<number> {
return;
}
@Cordova()
getMsiChecksumType(): Promise<any> {
return;
}
@Cordova()
getCode39ChecksumType(): Promise<any> {
return;
}
@Cordova()
getCode11ChecksumType(): Promise<any> {
return;
}
@Cordova()
getEncodingCharacterSet(): Promise<any> {
return;
}
@Cordova()
getDecodingSpeed(): Promise<DecodingSpeed> {
return;
}
@Cordova()
getFormattingType(): Promise<any> {
return;
}
@Cordova()
getThreadsLimit(): Promise<any> {
return;
}
@Cordova()
getMaximumResultsCount(): Promise<any> {
return;
}
@Cordova()
getDuplicatesDelayMs(): Promise<any> {
return;
}
@Cordova()
isBarcodeTypeEnabled(type: number): Promise<boolean> {
return;
}
@Cordova()
getMulticodeCachingEnabled(): Promise<boolean> {
return;
}
@Cordova()
getMulticodeCachingDuration(): Promise<boolean> {
return;
}
@Cordova()
isUpcEanDeblurEnabled(): Promise<boolean> {
return;
}
@Cordova()
isMisshaped1DEnabled(): Promise<boolean> {
return;
}
@Cordova()
isBarcodeThumbnailOnResultEnabled(): Promise<boolean> {
return;
}
@Cordova()
getThresholdBetweenDuplicatesScans(): Promise<any> {
return;
}
@Cordova()
isVINRestrictionsEnabled(): Promise<any> {
return;
}
@Cordova()
getBarkoderResolution(): Promise<any> {
return;
}
}
export enum DecodingSpeed {
fast,
normal,
slow,
}
export enum FormattingType {
disabled,
automatic,
gs1,
aamva,
}
export enum MsiChecksumType {
disabled,
mod10,
mod11,
mod1010,
mod1110,
mod11IBM,
mod1110IBM,
}
export enum Code39ChecksumType {
disabled,
enabled,
}
export enum Code11ChecksumType {
disabled,
single,
double,
}
export enum BarkoderResolution {
normal,
high,
}
export enum BarcodeType {
aztec,
aztecCompact,
qr,
qrMicro,
code128,
code93,
code39,
codabar,
code11,
msi,
upcA,
upcE,
upcE1,
ean13,
ean8,
pdf417,
pdf417Micro,
datamatrix,
code25,
interleaved25,
itf14,
iata25,
matrix25,
datalogic25,
coop25,
code32,
telepen,
dotcode,
}
export class BarkoderConfig {
locationLineColor?: string;
locationLineWidth?: number;
roiLineColor?: string;
roiLineWidth?: number;
roiOverlayBackgroundColor?: string;
closeSessionOnResultEnabled?: boolean;
imageResultEnabled?: boolean;
locationInImageResultEnabled?: boolean;
locationInPreviewEnabled?: boolean;
pinchToZoomEnabled?: boolean;
regionOfInterestVisible?: boolean;
barkoderResolution?: BarkoderResolution;
beepOnSuccessEnabled?: boolean;
vibrateOnSuccessEnabled?: boolean;
decoder?: DekoderConfig;
constructor(config: Partial<BarkoderConfig>) {
Object.assign(this, config);
}
}
export class DekoderConfig {
aztec?: BarcodeConfig;
aztecCompact?: BarcodeConfig;
qr?: BarcodeConfig;
qrMicro?: BarcodeConfig;
code128?: BarcodeConfigWithLength;
code93?: BarcodeConfigWithLength;
code39?: Code39BarcodeConfig;
codabar?: BarcodeConfigWithLength;
code11?: Code11BarcodeConfig;
msi?: MSIBarcodeConfig;
upcA?: BarcodeConfig;
upcE?: BarcodeConfig;
upcE1?: BarcodeConfig;
ean13?: BarcodeConfig;
ean8?: BarcodeConfig;
pdf417?: BarcodeConfig;
pdf417Micro?: BarcodeConfig;
datamatrix?: DatamatrixBarcodeConfig;
code25?: BarcodeConfig;
interleaved25?: BarcodeConfig;
itf14?: BarcodeConfig;
iata25?: BarcodeConfig;
matrix25?: BarcodeConfig;
datalogic25?: BarcodeConfig;
coop25?: BarcodeConfig;
code32?: BarcodeConfig;
telepen?: BarcodeConfig;
dotcode?: BarcodeConfig;
general?: GeneralSettings;
constructor(config: Partial<DekoderConfig>) {
Object.assign(this, config);
}
}
export class BarcodeConfig {
enabled?: boolean;
constructor(config: Partial<BarcodeConfig>) {
Object.assign(this, config);
}
}
export class BarcodeConfigWithLength {
enabled?: boolean;
minLength?: number;
maxLength?: number;
constructor(config: Partial<BarcodeConfigWithLength>) {
Object.assign(this, config);
}
setLengthRange(minLength: number, maxLength: number) {
this.minLength = minLength;
this.maxLength = maxLength;
}
}
export class MSIBarcodeConfig {
enabled?: boolean;
minLength?: number;
maxLength?: number;
checksum?: MsiChecksumType;
constructor(config: Partial<MSIBarcodeConfig>) {
Object.assign(this, config);
}
setLengthRange(minLength: number, maxLength: number) {
this.minLength = minLength;
this.maxLength = maxLength;
}
}
export class Code39BarcodeConfig {
enabled?: boolean;
minLength?: number;
maxLength?: number;
checksum?: Code39ChecksumType;
constructor(config: Partial<Code39BarcodeConfig>) {
Object.assign(this, config);
}
setLengthRange(minLength: number, maxLength: number) {
this.minLength = minLength;
this.maxLength = maxLength;
}
}
export class Code11BarcodeConfig {
enabled?: boolean;
minLength?: number;
maxLength?: number;
checksum?: Code11ChecksumType;
constructor(config: Partial<Code11BarcodeConfig>) {
Object.assign(this, config);
}
setLengthRange(minLength: number, maxLength: number) {
this.minLength = minLength;
this.maxLength = maxLength;
}
}
export class DatamatrixBarcodeConfig {
enabled?: boolean;
dpmMode?: number;
minLength?: number;
maxLength?: number;
constructor(config: Partial<DatamatrixBarcodeConfig>) {
Object.assign(this, config);
}
setLengthRange(minLength: number, maxLength: number) {
this.minLength = minLength;
this.maxLength = maxLength;
}
}
export class GeneralSettings {
threadsLimit?: number;
decodingSpeed?: DecodingSpeed;
roiX?: number;
roiY?: number;
roiWidth?: number;
roiHeight?: number;
formattingType?: FormattingType;
encodingCharacterSet?: string;
maximumResultsCount?: number;
duplicatesDelayMs?: number;
multicodeCachingDuration?: number;
multicodeCachingEnabled?: boolean;
upcEanDeblur?: number;
enableMisshaped1D?: number;
constructor(config: Partial<GeneralSettings>) {
Object.assign(this, config);
}
setROI(x: number, y: number, width: number, height: number): void {
this.roiX = x;
this.roiY = y;
this.roiWidth = width;
this.roiHeight = height;
}
}

View File

@@ -219,6 +219,30 @@ export class CFWebCheckoutPayment implements CheckoutPayment {
}
}
export class CFUPIIntentCheckoutPayment implements CheckoutPayment {
private readonly session: CFSession;
private readonly theme: CFTheme = new CFThemeBuilder().build();
version: string;
constructor(
session: CFSession,
theme: CFTheme | null
) {
this.session = session;
if (theme !== null) {
this.theme = theme;
}
}
getSession() {
return this.session;
}
getTheme() {
return this.theme;
}
}
interface CFResult {
orderID: string;
}
@@ -265,6 +289,15 @@ export class CFPaymentGateway extends AwesomeCordovaNativePlugin {
return;
}
/**
* Initiate UPI Checkout Payment.
* @param {CFUPIIntentCheckoutPayment} [upiCheckoutPayment] webCheckoutPaymentObject information
*/
@Cordova()
doUPIPayment(upiCheckoutPayment: CFUPIIntentCheckoutPayment) {
return;
}
/**
* Set Callback.
* @param {CFCallback} [cfCallback] callbacks for payment.

View File

@@ -95,6 +95,16 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
return;
}
/**
* Call this method to set a custom locale for the clevertap instance.
* @param locale {string}
* @returns {Promise<any>}
*/
@Cordova()
setLocale(locale: string): Promise<any> {
return;
}
/*******************
* Push
******************/
@@ -120,18 +130,6 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
return;
}
/**
* Sets the device's Xiaomi push token.
* clevertap-cordova 2.6.0 onwards method requires region as a mandatory parameter.
* @param token {string}
* @param region {string}
* @returns {Promise<any>}
*/
@Cordova()
setPushXiaomiToken(token: string, region: string): Promise<any> {
return;
}
/**
* Sets the device's Baidu push token
*
@@ -653,6 +651,28 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
return;
}
/**
* Deletes all images and gifs which are preloaded for inapps in cs mode.
*
* @param expiredOnly {boolean} - to clear only assets which will not be needed further for inapps
* @returns {Promise<any>}
*/
@Cordova()
clearInAppResources(expiredOnly: boolean): Promise<any> {
return;
}
/**
* Fetches In Apps from server.
*
* @returns {Promise<any>}
*/
@Cordova()
fetchInApps(): Promise<any> {
return;
}
/*******************
* Session
******************/
@@ -827,6 +847,27 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
return;
}
/**
* Call this to Mark Read Inbox Messages For Ids in bulk
*
* @param messageIds {any} array of strings
* @returns {Promise<any>}
*/
@Cordova()
markReadInboxMessagesForIds(messageIds: any): Promise<any> {
return;
}
/**
* Call this to dismiss Inbox
*
* @returns {Promise<any>}
*/
@Cordova()
dismissInbox(): Promise<any> {
return;
}
/**
* Call this to Mark Push Inbox Notification Viewed Event for Id
*
@@ -893,6 +934,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
* Call this to Get Feature Flag for key
*
* @param key {string}
@@ -905,6 +947,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
* Call this to Set Defaults for Product Config
*
* @param defaults {any}
@@ -916,6 +959,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
* Call this for Product Config Fetch
*
* @param defaults {any}
@@ -927,6 +971,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
* Call this for Product Config Fetch with Min Interval
*
* @param timeInterval {number}
@@ -938,6 +983,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
* Call this for Product Config Activate
*
* @returns {Promise<any>}
@@ -948,6 +994,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
* Call this for Product Config Fetch and Activate
*
* @returns {Promise<any>}
@@ -958,6 +1005,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
* Call this to set Product Config Fetch with Min Interval
*
* @param timeInterval {number}
@@ -969,6 +1017,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
* Call this to Get Last Fetch Time Interval
*
* @returns {Promise<any>}
@@ -979,6 +1028,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
* Call this to Get String
*
* @param key {string}
@@ -990,6 +1040,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
* Call this to Get Boolean
*
* @param key {string}
@@ -1001,6 +1052,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
* Call this to Get Long
*
* @param key {string}
@@ -1012,6 +1064,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
* Call this to Get Double
*
* @param key {string}
@@ -1023,6 +1076,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated - Since version 2.7.0 and will be removed in the future versions of this SDK.
* Call this to Reset Product Config
*
* @returns {Promise<any>}
@@ -1032,6 +1086,125 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
return;
}
/****************************
* Product Experiences methods
****************************/
/**
*
* Uploads variables to the server. Requires Development/Debug build/configuration.
* @returns {Promise<any>}
*/
@Cordova()
syncVariables(): Promise<any> {
return;
}
/**
* Uploads variables to the server.
* @param {boolean} isProduction Provide `true` if variables must be sync in Productuon build/configuration.
* @returns {Promise<any>}
*
*
* Note: This is NO-OP in Android
*/
@Cordova()
syncVariablesinProd(isProduction: boolean): Promise<any> {
return;
}
/**
* Forces variables to update from the server.
* @returns {Promise<any>}
*/
@Cordova()
fetchVariables(): Promise<any> {
return;
}
/**
* Create variables.
* @returns {Promise<any>}
* @param {object} variables The JSON Object specifying the varibles to be created.
*/
@Cordova()
defineVariables(variables: any): Promise<any> {
return;
}
/**
* Get a variable or a group for the specified name.
* @param {string} name - name.
* @returns {Promise<any>}
*/
@Cordova()
getVariable(name: string): Promise<any> {
return;
}
/**
* Get all variables via a JSON object.
* @returns {Promise<any>}
*/
@Cordova()
getVariables(): Promise<any> {
return;
}
/**
* Adds a callback to be invoked when variables are initialised with server values. Will be called each time new values are fetched.
* @returns {Promise<any>}
*/
@Cordova()
onVariablesChanged(): Promise<any> {
return;
}
/**
* Called when the value of the variable changes.
* @param {name} string the name of the variable
* @returns {Promise<any>}
*/
@Cordova()
onValueChanged(name: string): Promise<any> {
return;
}
/****************************
* Android 13 Push Primer
****************************/
/**
* Method to prompt the push primer for android 13 onwards.
* @param {object} value - key-value belongs to the localInApp properties. Refer documentation for details.
* @returns {Promise<any>}
*/
@Cordova()
promptPushPrimer(localInAppObject: any): Promise<any> {
return;
}
/**
* Method to prompt the hard permission dialog directly, if the push primer is not required.
* @param {string} showFallbackSettings - If the value is true then SDK shows an alert dialog which routes to app's notification settings page.
* @returns {Promise<any>}
*/
@Cordova()
promptForPushPermission(showFallbackSettings: boolean): Promise<any> {
return;
}
/**
* Returns true/false based on whether push permission is granted or denied.
*
* @returns {Promise<any>}
*/
@Cordova()
isPushPermissionGranted(): Promise<any> {
return;
}
/*******************
* Developer Options
******************/

View File

@@ -0,0 +1,403 @@
import {
CordovaCheck,
CordovaInstance,
InstanceCheck,
InstanceProperty,
AwesomeCordovaNativePlugin,
Plugin,
checkAvailability,
getPromise,
} from '@awesome-cordova-plugins/core';
declare const window: any, navigator: any;
export type ContactFieldType =
| '*'
| 'addresses'
| 'birthday'
| 'categories'
| 'country'
| 'department'
| 'displayName'
| 'emails'
| 'name.familyName'
| 'name.formatted'
| 'name.givenName'
| 'name.honorificPrefix'
| 'name.honorificSuffix'
| 'id'
| 'ims'
| 'locality'
| 'name.middleName'
| 'name'
| 'nickname'
| 'note'
| 'organizations'
| 'phoneNumbers'
| 'photos'
| 'postalCode'
| 'region'
| 'streetAddress'
| 'title'
| 'urls';
export interface IContactProperties {
/** A globally unique identifier. */
id?: string;
/** A globally unique identifier on Android. */
rawId?: string;
/** The name of this Contact, suitable for display to end users. */
displayName?: string;
/** An object containing all components of a persons name. */
name?: IContactName;
/** A casual name by which to address the contact. */
nickname?: string;
/** An array of all the contact's phone numbers. */
phoneNumbers?: IContactField[];
/** An array of all the contact's email addresses. */
emails?: IContactField[];
/** An array of all the contact's addresses. */
addresses?: IContactAddress[];
/** An array of all the contact's IM addresses. */
ims?: IContactField[];
/** An array of all the contact's organizations. */
organizations?: IContactOrganization[];
/** The birthday of the contact. */
birthday?: Date;
/** A note about the contact. */
note?: string;
/** An array of the contact's photos. */
photos?: IContactField[];
/** An array of all the user-defined categories associated with the contact. */
categories?: IContactField[];
/** An array of web pages associated with the contact. */
urls?: IContactField[];
}
/**
* @hidden
*/
export class Contact implements IContactProperties {
@InstanceProperty() id: string;
@InstanceProperty() displayName: string;
@InstanceProperty() name: IContactName;
@InstanceProperty() nickname: string;
@InstanceProperty() phoneNumbers: IContactField[];
@InstanceProperty() emails: IContactField[];
@InstanceProperty() addresses: IContactAddress[];
@InstanceProperty() ims: IContactField[];
@InstanceProperty() organizations: IContactOrganization[];
@InstanceProperty() birthday: Date;
@InstanceProperty() note: string;
@InstanceProperty() photos: IContactField[];
@InstanceProperty() categories: IContactField[];
@InstanceProperty() urls: IContactField[];
private _objectInstance: any;
[key: string]: any;
constructor() {
if (checkAvailability('navigator.contacts', 'create', 'Contacts') === true) {
this._objectInstance = navigator.contacts.create();
}
}
@InstanceCheck()
clone(): Contact {
const newContact: any = new Contact();
for (const prop in this) {
if (prop === 'id') return;
newContact[prop] = this[prop];
}
return newContact;
}
@CordovaInstance()
remove(): Promise<any> {
return;
}
@InstanceCheck()
save(): Promise<any> {
return getPromise((resolve: Function, reject: Function) => {
this._objectInstance.save((contact: any) => {
this._objectInstance = contact;
resolve(this);
}, reject);
});
}
}
/**
* @hidden
*/
export interface IContactError {
/** Error code */
code: number;
/** Error message */
message: string;
}
/**
* @hidden
*/
export declare const ContactError: {
new (code: number): IContactError;
UNKNOWN_ERROR: number;
INVALID_ARGUMENT_ERROR: number;
TIMEOUT_ERROR: number;
PENDING_OPERATION_ERROR: number;
IO_ERROR: number;
NOT_SUPPORTED_ERROR: number;
PERMISSION_DENIED_ERROR: number;
};
export interface IContactName {
/** The complete name of the contact. */
formatted?: string;
/** The contact's family name. */
familyName?: string;
/** The contact's given name. */
givenName?: string;
/** The contact's middle name. */
middleName?: string;
/** The contact's prefix (example Mr. or Dr.) */
honorificPrefix?: string;
/** The contact's suffix (example Esq.). */
honorificSuffix?: string;
}
/**
* @hidden
*/
export class ContactName implements IContactName {
constructor(
public formatted?: string,
public familyName?: string,
public givenName?: string,
public middleName?: string,
public honorificPrefix?: string,
public honorificSuffix?: string
) {}
}
export interface IContactField {
/** A string that indicates what type of field this is, home for example. */
type?: string;
/** The value of the field, such as a phone number or email address. */
value?: string;
/** Set to true if this ContactField contains the user's preferred value. */
pref?: boolean;
}
/**
* @hidden
*/
export class ContactField implements IContactField {
constructor(public type?: string, public value?: string, public pref?: boolean) {}
}
export interface IContactAddress {
/** Set to true if this ContactAddress contains the user's preferred value. */
pref?: boolean;
/** A string indicating what type of field this is, home for example. */
type?: string;
/** The full address formatted for display. */
formatted?: string;
/** The full street address. */
streetAddress?: string;
/** The city or locality. */
locality?: string;
/** The state or region. */
region?: string;
/** The zip code or postal code. */
postalCode?: string;
/** The country name. */
country?: string;
}
/**
* @hidden
*/
export class ContactAddress implements IContactAddress {
constructor(
public pref?: boolean,
public type?: string,
public formatted?: string,
public streetAddress?: string,
public locality?: string,
public region?: string,
public postalCode?: string,
public country?: string
) {}
}
export interface IContactOrganization {
/** Set to true if this ContactOrganization contains the user's preferred value. */
pref?: boolean;
/** A string that indicates what type of field this is, home for example. */
type?: string;
/** The name of the organization. */
name?: string;
/** The department the contract works for. */
department?: string;
/** The contact's title at the organization. */
title?: string;
}
/**
* @hidden
*/
export class ContactOrganization implements IContactOrganization {
constructor(
public type?: string,
public name?: string,
public department?: string,
public title?: string,
public pref?: boolean
) {}
}
/** Search options to filter navigator.contacts. */
export interface IContactFindOptions {
/** The search string used to find navigator.contacts. */
filter?: string;
/** Determines if the find operation returns multiple navigator.contacts. Defaults to false. */
multiple?: boolean;
/** Contact fields to be returned back. If specified, the resulting Contact object only features values for these fields. */
desiredFields?: string[];
/**
* (Android only): Filters the search to only return contacts with a phone number informed.
*/
hasPhoneNumber?: boolean;
}
/**
* @hidden
*/
export class ContactFindOptions implements IContactFindOptions {
constructor(
public filter?: string,
public multiple?: boolean,
public desiredFields?: string[],
public hasPhoneNumber?: boolean
) {}
}
/**
* @name Contacts
* @premier contacts
* @description
* Access and manage Contacts on the device.
*
* @usage
*
* ```typescript
* import { Contacts, Contact, ContactField, ContactName } from '@ionic-native/contacts/ngx';
*
* constructor(private contacts: Contacts) { }
*
* let contact: Contact = this.contacts.create();
*
* contact.name = new ContactName(null, 'Smith', 'John');
* contact.phoneNumbers = [new ContactField('mobile', '6471234567')];
* contact.save().then(
* () => console.log('Contact saved!', contact),
* (error: any) => console.error('Error saving contact.', error)
* );
*
* ```
* @classes
* Contact
* @interfaces
* IContactProperties
* IContactError
* IContactName
* IContactField
* IContactAddress
* IContactOrganization
* IContactFindOptions
*/
@Plugin({
pluginName: 'Contacts',
plugin: 'cordova-plugin-contacts',
pluginRef: 'navigator.contacts',
repo: 'https://github.com/herdwatch-apps/cordova-plugin-contacts',
platforms: [
'Android',
'BlackBerry 10',
'Browser',
'Firefox OS',
'iOS',
'Ubuntu',
'Windows',
'Windows 8',
'Windows Phone',
],
})
export class Contacts extends AwesomeCordovaNativePlugin {
/**
* Create a single contact.
* @returns {Contact} Returns a Contact object
*/
create(): Contact {
return new Contact();
}
/**
* Search for contacts in the Contacts list.
* @param {ContactFieldType[]} fields Contact fields to be used as a search qualifier
* @param {IContactFindOptions} [options] Optional options for the query
* @returns {Promise<Contact[]>} Returns a Promise that resolves with the search results (an array of Contact objects)
*/
@CordovaCheck()
find(fields: ContactFieldType[], options?: IContactFindOptions): Promise<Contact[]> {
return getPromise((resolve: Function, reject: Function) => {
navigator.contacts.find(
fields,
(contacts: any[]) => {
resolve(contacts.map(processContact));
},
reject,
options
);
});
}
/**
* Select a single Contact.
* @returns {Promise<Contact>} Returns a Promise that resolves with the selected Contact
*/
@CordovaCheck()
pickContact(): Promise<Contact> {
return getPromise((resolve: Function, reject: Function) => {
navigator.contacts.pickContact((contact: any) => resolve(processContact(contact)), reject);
});
}
}
/**
* @hidden
*/
function processContact(contact: any) {
const newContact = new Contact();
for (const prop in contact) {
if (typeof contact[prop] === 'function') continue;
newContact[prop] = contact[prop];
}
return newContact;
}

View File

@@ -42,33 +42,46 @@ import { Cordova, CordovaProperty, AwesomeCordovaNativePlugin, Plugin } from '@a
@Injectable()
export class Diagnostic extends AwesomeCordovaNativePlugin {
permission = {
READ_CALENDAR: 'READ_CALENDAR',
WRITE_CALENDAR: 'WRITE_CALENDAR',
CAMERA: 'CAMERA',
READ_CONTACTS: 'READ_CONTACTS',
WRITE_CONTACTS: 'WRITE_CONTACTS',
GET_ACCOUNTS: 'GET_ACCOUNTS',
ACCESS_FINE_LOCATION: 'ACCESS_FINE_LOCATION',
ACCEPT_HANDOVER: 'ACCEPT_HANDOVER',
ACCESS_BACKGROUND_LOCATION: 'ACCESS_BACKGROUND_LOCATION',
ACCESS_COARSE_LOCATION: 'ACCESS_COARSE_LOCATION',
RECORD_AUDIO: 'RECORD_AUDIO',
READ_PHONE_STATE: 'READ_PHONE_STATE',
CALL_PHONE: 'CALL_PHONE',
ACCESS_FINE_LOCATION: 'ACCESS_FINE_LOCATION',
ACCESS_MEDIA_LOCATION: 'ACCESS_MEDIA_LOCATION',
ACTIVITY_RECOGNITION: 'ACTIVITY_RECOGNITION',
ADD_VOICEMAIL: 'ADD_VOICEMAIL',
USE_SIP: 'USE_SIP',
PROCESS_OUTGOING_CALLS: 'PROCESS_OUTGOING_CALLS',
READ_CALL_LOG: 'READ_CALL_LOG',
WRITE_CALL_LOG: 'WRITE_CALL_LOG',
SEND_SMS: 'SEND_SMS',
RECEIVE_SMS: 'RECEIVE_SMS',
READ_SMS: 'READ_SMS',
RECEIVE_WAP_PUSH: 'RECEIVE_WAP_PUSH',
RECEIVE_MMS: 'RECEIVE_MMS',
WRITE_EXTERNAL_STORAGE: 'WRITE_EXTERNAL_STORAGE',
READ_EXTERNAL_STORAGE: 'READ_EXTERNAL_STORAGE',
ANSWER_PHONE_CALLS: 'ANSWER_PHONE_CALLS',
BLUETOOTH_ADVERTISE: 'BLUETOOTH_ADVERTISE',
BLUETOOTH_CONNECT: 'BLUETOOTH_CONNECT',
BLUETOOTH_SCAN: 'BLUETOOTH_SCAN',
BODY_SENSORS: 'BODY_SENSORS',
BLUETOOTH_ADVERTISE: "BLUETOOTH_ADVERTISE",
BLUETOOTH_SCAN: "BLUETOOTH_SCAN",
BLUETOOTH_CONNECT: "BLUETOOTH_CONNECT",
BODY_SENSORS_BACKGROUND: 'BODY_SENSORS_BACKGROUND',
CALL_PHONE: 'CALL_PHONE',
CAMERA: 'CAMERA',
GET_ACCOUNTS: 'GET_ACCOUNTS',
NEARBY_WIFI_DEVICES: 'NEARBY_WIFI_DEVICES',
POST_NOTIFICATIONS: 'POST_NOTIFICATIONS',
PROCESS_OUTGOING_CALLS: 'PROCESS_OUTGOING_CALLS',
READ_CALENDAR: 'READ_CALENDAR',
READ_CALL_LOG: 'READ_CALL_LOG',
READ_CONTACTS: 'READ_CONTACTS',
READ_EXTERNAL_STORAGE: 'READ_EXTERNAL_STORAGE',
READ_MEDIA_AUDIO: 'READ_MEDIA_AUDIO',
READ_MEDIA_IMAGES: 'READ_MEDIA_IMAGES',
READ_MEDIA_VIDEO: 'READ_MEDIA_VIDEO',
READ_PHONE_NUMBERS: 'READ_PHONE_NUMBERS',
READ_PHONE_STATE: 'READ_PHONE_STATE',
READ_SMS: 'READ_SMS',
RECEIVE_MMS: 'RECEIVE_MMS',
RECEIVE_SMS: 'RECEIVE_SMS',
RECEIVE_WAP_PUSH: 'RECEIVE_WAP_PUSH',
RECORD_AUDIO: 'RECORD_AUDIO',
SEND_SMS: 'SEND_SMS',
USE_SIP: 'USE_SIP',
UWB_RANGING: 'UWB_RANGING',
WRITE_CALENDAR: 'WRITE_CALENDAR',
WRITE_CALL_LOG: 'WRITE_CALL_LOG',
WRITE_CONTACTS: 'WRITE_CONTACTS',
WRITE_EXTERNAL_STORAGE: 'WRITE_EXTERNAL_STORAGE',
};
@CordovaProperty()
@@ -83,6 +96,9 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
DENIED_ALWAYS: string;
RESTRICTED: string;
GRANTED_WHEN_IN_USE: string;
EPHEMERAL: string;
PROVISIONAL: string;
LIMITED: string;
};
locationAuthorizationMode = {
@@ -146,6 +162,25 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
POWERING_OFF: string;
};
@CordovaProperty()
cpuArchitecture: {
MIPS: string;
MIPS_64: string;
UNKNOWN: string;
ARMv6: string;
ARMv7: string;
ARMv8: string;
X86: string;
X86_64: string;
};
@CordovaProperty()
remoteNotificationType: {
ALERT: string;
SOUND: string;
BADGE: string;
};
@CordovaProperty()
motionStatus: {
NOT_REQUESTED: string;
@@ -272,8 +307,18 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
return;
}
// ANDROID AND IOS ONLY
/**
* Enables debug mode, which logs native plugin debug messages to the native and JS consoles.
* Debug mode is initially disabled on plugin initialisation.
*/
@Cordova({ platforms: ['Android', 'iOS'] })
enableDebug(): Promise<void> {
return;
}
/**
* Returns true if the device setting for location is on. On Android this returns true if Location Mode is switched on. On iOS this returns true if Location Services is switched on.
*
@@ -305,6 +350,17 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
return;
}
/**
* Returns the individual location authorization status for each type of location access (FINE, COARSE and BACKGROUND).
*
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['Android', 'iOS'] })
getLocationAuthorizationStatuses(): Promise<any> {
return;
}
/**
* Returns the location authorization status for the application.
* Note for Android: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
@@ -514,8 +570,42 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
@Cordova({ platforms: ['Android', 'iOS'], sync: true })
registerLocationStateChangeHandler(handler: Function): void {}
/**
* Returns CPU architecture of the current device.
*
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['Android', 'iOS'] })
getArchitecture(): Promise<any> {
return;
}
/**
* Returns the current battery level of the device as a percentage.
*
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['Android', 'iOS'] })
getCurrentBatteryLevel(): Promise<any> {
return;
}
// ANDROID ONLY
/**
* Restarts the application.
* By default, a "warm" restart will be performed in which the main Cordova activity is immediately restarted, causing the Webview instance to be recreated.
* However, if the `cold` parameter is set to true, then the application will be "cold" restarted, meaning a system exit will be performed, causing the entire application to be restarted.
* This is useful if you want to fully reset the native application state but will cause the application to briefly disappear and re-appear..
*
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['Android'], callbackOrder: 'reverse' })
restart(cold: boolean): Promise<any> {
return;
}
/**
* Checks if high-accuracy locations are available to the app from GPS hardware.
* Returns true if Location mode is enabled and is set to "Device only" or "High accuracy" AND if the app is authorized to use location.
@@ -564,6 +654,26 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
return;
}
/**
* Checks if airplane mode is enabled on device.
*
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['Android'] })
isAirplaneModeEnabled(): Promise<any> {
return;
}
/**
* Checks if mobile data is enabled on device.
*
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['Android'] })
isMobileDataEnabled(): Promise<any> {
return;
}
/**
* Returns the current location mode setting for the device.
*
@@ -574,6 +684,26 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
return;
}
/**
* Returns details of the OS of the device on which the app is currently running
*
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['Android'] })
getDeviceOSVersion(): Promise<any> {
return;
}
/**
* Returns details of the SDK levels used to build the app.
*
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['Android'] })
getBuildOSVersion(): Promise<any> {
return;
}
/**
* Returns the current authorization status for a given permission.
* Note: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
@@ -901,6 +1031,16 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
return;
}
/**
* Presents limited library picker UI on iOS 14+
*
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['iOS'] })
presentLimitedLibraryPicker(): Promise<any> {
return;
}
/**
* Checks if remote (push) notifications are enabled.
*

View File

@@ -0,0 +1,122 @@
import { Injectable } from '@angular/core';
import {
Plugin,
Cordova,
CordovaProperty,
CordovaInstance,
InstanceProperty,
IonicNativePlugin,
} from '@ionic-native/core';
import { Observable } from 'rxjs';
export enum FirebaseModelStatus {
downloading = 'downloading',
completed = 'completed',
}
export enum FirebaseModelInputType {
path = 'path',
base64string = 'base64string',
blob = 'blob',
}
export class FirebaseModelConfigResult {
/**
* Returns the current status of the model.
*/
status: FirebaseModelStatus;
/**
* Returns the current progress of the downloading model.
*/
progress: number;
}
export class FirebaseModelClassifyResult {
/**
* Return the identified image label name.
*/
label: string;
/**
* Returns the confidence score of the identified image.
*/
score: number;
}
export class FirebaseModelInput {
/**
* Set the one of the input types defined in FirebaseModelInputType enum.
*/
inputType: FirebaseModelInputType;
/**
* Set the input as string | Blob based on the `inputType`
*/
input: string | Blob;
}
/**
* @name Firebase Model
* @description This plugin downloads the TensorFlow model from firebase and classify the images.
*
* ```typescript
* import { FirebaseModel } from '@ionic-native/ionic-native-firebase-model';
*
*
* constructor(private firebaseModel: FirebaseModel) { }
*
* ...
*
*
* this.firebaseModel.configure('Sample_Model')
* .subscribe((res: FirebaseModelConfigResult) => console.log(res.status + " - " + res.progress))
* .catch((error: any) => console.error(error));
*
*
* try {
* var result:FirebaseModelClassifyResult = await this.firebaseModel.classify("/Documents/input_image.png")
* console.log(result.label + " - " + result.score)
*
* }
* catch (e) {
* console.log(e)
* }
*
*
* ```
*/
@Plugin({
pluginName: 'FirebaseModel',
plugin: 'cordova-plugin-firebase-model', // npm package name, example: cordova-plugin-camera
pluginRef: 'FirebaseModel', // the variable reference to call the plugin, example: navigator.geolocation
repo: '', // the github repository URL for the plugin
install: 'ionic cordova plugin add cordova-plugin-firebase-model', // OPTIONAL install command, in case the plugin requires variables
installVariables: [], // OPTIONAL the plugin requires variables
platforms: ['iOS'], // Array of platforms supported, example: ['Android', 'iOS']
})
@Injectable()
export class FirebaseModel extends IonicNativePlugin {
/**
* This function configure the Firebase TFLite model and downloads.
* @param {string} arg1 Name of the TFLite model which is uploaded in the Firebase console
* @returns {Observable<FirebaseModelConfigResult>} Returns a observable that gives the callback for downloading progress and status.
*
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
observable: true,
})
configure(arg1: string): Observable<FirebaseModelConfigResult> {
return;
}
/**
* This function identify the image using the Firebase TFLite model which is configured.
* @param {FirebaseModelInput} arg1 Base64 string of the input image or .
* @returns {Promise<FirebaseModelClassifyResult>} Returns a promise that resolves the classification result.
*
*/
@Cordova()
classify(arg1: FirebaseModelInput): Promise<FirebaseModelClassifyResult> {
return;
}
}

View File

@@ -116,8 +116,9 @@ export interface MessagePayloadAps {
alert?: {
title: string;
body: string;
}
};
}
export interface MessagePayload {
title?: string;
body?: string;
@@ -797,6 +798,28 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Asynchronously fetches and then activates the fetched configs.
*
* @param {Function} success - callback function which will be passed a {boolean} argument indicating whether result the current call activated the fetched config.
* @param {Function} error - callback function which will be passed a {string} error message as an argument
*/
@Cordova()
fetchAndActivate(success: (activated: boolean) => void, error: (err: string) => void): void {
return;
}
/**
* Returns a Map of Firebase Remote Config key value pairs.
*
* @param {Function} success - callback function which will be passed an {object} argument where key is the remote config key and value is the value as a string. If the expected key value is a different primitive type then cast it to the appropriate type.
* @param {Function} error - callback function which will be passed a {string} error message as an argument
*/
@Cordova()
getAll(success: (values: any) => void, error: (err: string) => void): void {
return;
}
/**
* Retrieve a Remote Config value.
*
@@ -830,13 +853,20 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
}
/**
* Android only. Change the settings for the FirebaseRemoteConfig object's operations.
* Change the settings for the FirebaseRemoteConfig object's operations.
*
* @param {Object} settings
* @returns {Promise<any>}
* @param {number} fetchTimeout - fetch timeout in seconds. Default is 60 seconds.
* @param {number} minimumFetchInterval - minimum fetch inteval in seconds. Default is 12 hours.
* @param {Function} success - callback function to be call on successfully setting the remote config settings
* @param {Function} error - callback function which will be passed a {string} error message as an argument
*/
@Cordova()
setConfigSettings(settings: any): Promise<any> {
setConfigSettings(
fetchTimeout: number,
minimumFetchInterval: number,
success: () => void,
error: (err: string) => void
): void {
return;
}
@@ -989,6 +1019,7 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
* Fetches all the documents in the specific collection.
*
* @param {string} collection - name of top-level collection to fetch.
* @param {Array} filters - filters to apply to collection.
* @param {Function} success - callback function to call on successfully deleting the document. Will be passed an {object} containing all the documents in the collection,
* indexed by document ID. If a Firebase collection with that name does not exist or it contains no documents, the object will be empty.
* @param {Function} error - callback function which will be passed a {string} error message as an argument.
@@ -996,9 +1027,19 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
@Cordova()
fetchFirestoreCollection(
collection: string,
filters: any[],
success: (docs: any) => void,
error: (err: string) => void
): Promise<any> {
return;
}
/**
* Set new V2 consent mode
*
* @param {array} consent array of consent
*/
@Cordova()
setAnalyticsConsentMode(consent: []): Promise<any> {
return;
}
}

View File

@@ -0,0 +1,227 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name Genius Scan
* @description
* Plugin allows you to access the Genius Scan SDK core features from a Ionic application
* @usage
*
* ```typescript
* import { GeniusScan } from '@awesome-cordova-plugins/genius-scan/ngx';
*
* ...
*
* constructor(private geniusScan: GeniusScan, private platform: Platform) { }
*
* ...
*
* this.platform.ready().then(() => {
* this.geniusScan.setLicenseKey('YOUR_KEY', true)
* .then(() => {
* this.geniusScan.scanWithConfiguration(configuration)
* })
* .catch(e => console.log('Error starting GeniusScan', e));
* });
*
* ```
*/
@Plugin({
pluginName: 'GeniusScan',
plugin: '@thegrizzlylabs/cordova-plugin-genius-scan',
pluginRef: 'cordova.plugins.GeniusScan',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class GeniusScan extends AwesomeCordovaNativePlugin {
@Cordova()
setLicenseKey(licenseKey: string, autoRefresh: boolean): Promise<any> {
return;
}
@Cordova()
scanWithConfiguration(configuration: ScanConfiguration): Promise<SuccessScanResult> {
return;
}
@Cordova()
generateDocument(document: GenerateDocumentPages, configuration: GenerateDocumentConfiguration): Promise<any> {
return;
}
}
interface ScanConfiguration {
/**
* (defaults to camera)
*/
source?: 'camera' | 'image' | 'library';
/**
* An absolute image url, required if source is image. Example: file:///var/…/image.png
*/
sourceImageUrl?: string;
/**
* If true, after a page is scanned, a prompt to scan another page will be displayed.
* If false, a single page will be scanned.
* (defaults to true).
*/
multiPage?: boolean;
/**
* (defaults to pdf)
*/
multiPageFormat?: 'pdf' | 'tiff' | 'none';
/**
* (by default, the filter is chosen automatically)
*/
defaultFilter?: 'none' | 'blackAndWhite' | 'monochrome' | 'color' | 'photo';
/**
* defaults to fit
*/
pdfPageSize?: 'fit' | 'a4' | 'letter';
/**
* max dimension in pixels when images are scaled before PDF generation,
* for example 2000 to fit both height and width within 2000px.
* Defaults to 0, which means no scaling is performed.
*/
pdfMaxScanDimension?: number;
/**
* Custom font file used during the PDF generation to embed an invisible text layer.
* If null, a default font is used, which only supports Latin languages.
*/
pdfFontFileUrl?: string;
/**
* JPEG quality used to compress captured images.
* Between 0 and 100, 100 being the best quality.
* Default is 60.
*/
jpegQuality?: number;
/**
* an array with the desired actions to display during the post processing screen
* (defaults to all actions).
*/
postProcessingActions?: ('rotate' | 'editFilter' | 'correctDistortion')[];
/**
* (default to false)
*/
flashButtonHidden?: boolean;
/**
* (default to off)
*/
defaultFlashMode?: 'auto' | 'on' | 'off';
/**
* representing a color, must start with a #. The color of the icons, text
* (defaults to '#ffffff')
*/
foregroundColor?: string;
/**
* representing a color, must start with a #. The color of the toolbar, screen background
* (defaults to black)
*/
backgroundColor?: string;
/**
* representing a color, must start with a #. The color of the image overlays
* (default to blue)
*/
highlightColor?: string;
/**
* representing a color, must start with a #. The color of the menus
* (defaults to system defaults.)
*/
menuColor?: string;
/**
* text recognition options. Text recognition will run on a background thread for every captured image. No text recognition will be applied if this parameter is not present.
*/
ocrConfiguration?: {
/**
* list of BCP 47 language tags (eg ["en-US"]) for which to run text recognition.
* Note that text recognition will take longer if multiple languages are specified.
*/
languages: string[];
/**
* an array with the formats in which the OCR result is made available in the ScanFlow result
* (defaults to all formats).
* Possible formats are rawText, hOCR and textLayerInPDF.
*/
outputFormats?: ('rawText' | 'hOCR' | 'textLayerInPDF')[];
};
}
interface SuccessScanResult {
/**
* a document containing all the scanned pages (example: "file://.pdf")
*/
multiPageDocumentUrl: string;
/**
* an array of scan objects.
*/
scans: {
/**
* the original file as scanned from the camera. "file://.jpeg"
*/
originalUrl: string;
/**
* the cropped and enhanced file, as processed by the SDK. "file://.{jpeg|png}"
*/
enhancedUrl: string;
/**
* the result of text recognition for this scan
*/
ocrResult: {
/**
* the raw text that was recognized
*/
text: string;
/**
* the recognized text in hOCR format (with position, style…)
*/
hocrTextLayout: string;
};
}[];
}
interface GenerateDocumentPages {
pages: {
/**
* the URL of the image file for this page, e.g. file://<filepath>.{jpeg|png}
*/
imageUrl: string;
/**
* the text layout in hOCR format
*/
hocrTextLayout: string;
}[];
}
interface GenerateDocumentConfiguration {
/**
* the URL where the document should be generated, e.g. file://<filepath>.pdf
*/
outputFileUrl: string;
/**
* Custom font file used during the PDF generation to embed an invisible text layer.
* If null, a default font is used, which only supports Latin languages.
*/
pdfFontFileUrl?: string;
}

View File

@@ -17,7 +17,8 @@ export type Event =
| 'depersonalized'
| 'inAppChat.availabilityUpdated'
| 'inAppChat.unreadMessageCounterUpdated'
| 'deeplink';
| 'deeplink'
| 'inAppChat.viewStateChanged';
export interface CustomEvent {
definitionId: string;
@@ -31,6 +32,7 @@ export interface Configuration {
applicationCode: string;
geofencingEnabled?: boolean;
inAppChatEnabled?: boolean;
fullFeaturedInAppsEnabled?: boolean | undefined;
/**
* Message storage save callback
*/
@@ -167,6 +169,20 @@ export interface Message {
webViewUrl?: string;
inAppOpenTitle?: string | undefined;
inAppDismissTitle?: string;
topic?: string | undefined;
}
export interface MMInbox {
countTotal: number;
countUnread: number;
messages?: Message[] | undefined;
}
export interface MMInboxFilterOptions {
fromDateTime?: string | undefined;
toDateTime?: string | undefined;
topic?: string | undefined;
limit?: number | undefined;
}
export interface MobileMessagingError {
@@ -592,4 +608,55 @@ export class MobileMessaging extends AwesomeCordovaNativePlugin {
resetMessageCounter() {
return;
}
/**
* Registers for Android POST_NOTIFICATIONS permission
* @name registerForAndroidRemoteNotifications
*/
@Cordova()
registerForAndroidRemoteNotifications() {
return;
}
/**
* Fetch mobile inbox data from the server.
*
* @name fetchInboxMessages
* @param token access token (JWT in a strictly predefined format) required for current user to have access to the Inbox messages
* @param externalUserId External User ID is meant to be an ID of a user in an external (non-Infobip) service
* @param filterOptions filtering options applied to messages list in response. Nullable, will return default number of messages
* @param callback will be called on success
* @param {Function} errorCallback will be called on error
*/
@Cordova()
fetchInboxMessages(token: string, externalUserId: string, filterOptions: MMInboxFilterOptions): Promise<MMInbox> {
return;
}
/**
* Fetch mobile inbox without token from the server.
*
* @name fetchInboxMessagesWithoutToken
* @param externalUserId External User ID is meant to be an ID of a user in an external (non-Infobip) service
* @param filterOptions filtering options applied to messages list in response. Nullable, will return default number of messages
* @param callback will be called on success
* @param {Function} errorCallback will be called on error
*/
@Cordova()
fetchInboxMessagesWithoutToken(externalUserId: string, filterOptions: MMInboxFilterOptions): Promise<MMInbox> {
return;
}
/**
* Asynchronously marks inbox messages as seen
*
* @param externalUserId External User ID is meant to be an ID of a user in an external (non-Infobip) service
* @param messageIds array of inbox messages identifiers that need to be marked as seen
* @param callback will be called on success
* @param {Function} errorCallback will be called on error
*/
@Cordova()
setInboxMessagesSeen(externalUserId: string, messageIds: string[]): Promise<string[]> {
return;
}
}

View File

@@ -55,6 +55,23 @@ export enum BILLING_FEATURE {
PRICE_CHANGE_CONFIRMATION,
}
export enum REFUND_REQUEST_STATUS {
/**
* Apple has received the refund request.
*/
SUCCESS,
/**
* User canceled submission of the refund request.
*/
USER_CANCELLED,
/**
* There was an error with the request. See message for more details.
*/
ERROR,
}
export enum PRORATION_MODE {
UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY = 0,
@@ -78,10 +95,11 @@ export enum PRORATION_MODE {
IMMEDIATE_WITHOUT_PRORATION = 3,
/**
* Replacement takes effect when the old plan expires, and the new price will
* be charged at the same time.
* Replacement takes effect immediately, and the user is charged full price
* of new plan and is given a full billing cycle of subscription,
* plus remaining prorated time from the old plan.
*/
DEFERRED = 4,
IMMEDIATE_AND_CHARGE_FULL_PRICE = 5,
}
export enum PACKAGE_TYPE {
@@ -150,10 +168,113 @@ export enum INTRO_ELIGIBILITY_STATUS {
INTRO_ELIGIBILITY_STATUS_NO_INTRO_OFFER_EXISTS,
}
export enum LOG_LEVEL {
VERBOSE = 'VERBOSE',
DEBUG = 'DEBUG',
INFO = 'INFO',
WARN = 'WARN',
ERROR = 'ERROR',
}
/**
* Enum for in-app message types.
* This can be used if you disable automatic in-app message from showing automatically.
* Then, you can pass what type of messages you want to show in the `showInAppMessages`
* method in Purchases.
*/
export enum IN_APP_MESSAGE_TYPE {
// Make sure the enum values are in sync with those defined in iOS/Android
/**
* In-app messages to indicate there has been a billing issue charging the user.
*/
BILLING_ISSUE = 0,
/**
* iOS-only. This message will show if you increase the price of a subscription and
* the user needs to opt-in to the increase.
*/
PRICE_INCREASE_CONSENT = 1,
/**
* iOS-only. StoreKit generic messages.
*/
GENERIC = 2,
}
export enum PRODUCT_CATEGORY {
/**
* A type of product for non-subscription.
*/
NON_SUBSCRIPTION = 'NON_SUBSCRIPTION',
/**
* A type of product for subscriptions.
*/
SUBSCRIPTION = 'SUBSCRIPTION',
/**
* A type of product for unknowns.
*/
UNKNOWN = 'UNKNOWN',
}
/**
* Recurrence mode for a pricing phase
*/
export enum RECURRENCE_MODE {
/**
* Pricing phase repeats infinitely until cancellation
*/
INFINITE_RECURRING = 1,
/**
* Pricing phase repeats for a fixed number of billing periods
*/
FINITE_RECURRING = 2,
/**
* Pricing phase does not repeat
*/
NON_RECURRING = 3,
}
/**
* Payment mode for offer pricing phases. Google Play only.
*/
export enum OFFER_PAYMENT_MODE {
/**
* Subscribers don't pay until the specified period ends
*/
FREE_TRIAL = 'FREE_TRIAL',
/**
* Subscribers pay up front for a specified period
*/
SINGLE_PAYMENT = 'SINGLE_PAYMENT',
/**
* Subscribers pay a discounted amount for a specified number of periods
*/
DISCOUNTED_RECURRING_PAYMENT = 'DISCOUNTED_RECURRING_PAYMENT',
}
/**
* Time duration unit for Period.
*/
export enum PERIOD_UNIT {
DAY = 'DAY',
WEEK = 'WEEK',
MONTH = 'MONTH',
YEAR = 'YEAR',
UNKNOWN = 'UNKNOWN',
}
/**
* @name Purchases
* @description
* Purchases is a cross platform solution for managing in-app subscriptions. A backend is also provided via [RevenueCat](https://www.revenuecat.com)
* *Purchases* is a client for the [RevenueCat](https://www.revenuecat.com/) subscription and purchase tracking system.
* It is an open source framework that provides a wrapper around `BillingClient`, `StoreKit` and the RevenueCat backend
* to make implementing in-app subscriptions easy - receipt validation and status tracking included!
*
* ## Features
* | | RevenueCat |
@@ -168,36 +289,30 @@ export enum INTRO_ELIGIBILITY_STATUS {
* | 📮 | Great support - [Help Center](https://revenuecat.zendesk.com) |
* | 🤩 | Awesome [new features](https://trello.com/b/RZRnWRbI/revenuecat-product-roadmap) |
*
* ## Capacitor
*
* The Cordova plugin is not guaranteed to be up to date and we are moving our efforts to the Capacitor plugin.
* Please consider using our [Capacitor plugin](https://docs.revenuecat.com/docs/capacitor) instead of the Cordova plugin and this wrapper.
*
* ## Getting Started
*
* For more detailed information, you can view our complete documentation at [docs.revenuecat.com](https://docs.revenuecat.com/docs).
* @usage
* #### 1. Get a RevenueCat API key
*
* Log in to the [RevenueCat dashboard](https://app.revenuecat.com) and obtain a free API key for your application.
*
* #### 2. Initialize the SDK
*
* You should only configure _Purchases_ once (usually on app launch) as soon as your app has a unique user id for your user. This can be when a user logs in if you have accounts or on launch if you can generate a random user identifier.
*
* ```typescript
* import { Platform } from "@ionic/angular";
* import { Purchases } from "@awesome-cordova-plugins/purchases/ngx";
*
* constructor(public platform: Platform, private purchases: Purchases) {
* platform.ready().then(() => {
* this.purchases.setDebugLogsEnabled(true); // Enable to get debug logs
* this.purchases.configure("my_api_key", "my_app_user_id");
* }
* }
* ```
*
* #### 3. Quickstart
* Please follow the [Quickstart Guide](https://docs.revenuecat.com/docs/) for more information on how to use the SDK
*
* ## Latest changes to this plugin
*
* This latest release updates the plugin to use BillingClient 6 in Android. If you come from an older version of the
* RevenueCat SDK, see [Android Native - 5.x to 6.x Migration](https://www.revenuecat.com/docs/android-native-5x-to-6x-migration)
* for a more thorough explanation of the new Google subscription model announced with BillingClient 5 and how to take advantage of it.
*
* If your app supports product changes using [DEFERRED replacement mode](https://www.revenuecat.com/docs/managing-subscriptions#google-play),
* then you can either stick with the previous major version until support for DEFERRED is re-introduced in this major version,
* or you can remove DEFERRED replacement options from your app.
*
* @usage
*
* ### Requirements
* Requires XCode 11.0+ and minimum target iOS 9.0+
* This plugin has been tested with cordova-plugin-purchases@
* Requires XCode 13.2+ and minimum target iOS 11.0+
* This plugin has been tested with cordova-plugin-purchases@5.x.x
* @interfaces
* PurchasesError
* IntroEligibility
@@ -213,7 +328,7 @@ export enum INTRO_ELIGIBILITY_STATUS {
*/
@Plugin({
pluginName: 'Purchases',
plugin: 'cordova-plugin-purchases@3.2.1',
plugin: 'cordova-plugin-purchases@5.0.0',
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']
@@ -238,6 +353,13 @@ export class Purchases extends AwesomeCordovaNativePlugin {
*/
static PURCHASE_TYPE = PURCHASE_TYPE;
/**
* Supported product categories.
* @readonly
* @enum {string}
*/
public static PRODUCT_CATEGORY = PRODUCT_CATEGORY;
/**
* Enum for billing features.
* Currently, these are only relevant for Google Play Android users:
@@ -245,6 +367,13 @@ export class Purchases extends AwesomeCordovaNativePlugin {
*/
static BILLING_FEATURE = BILLING_FEATURE;
/**
* Enum with possible return states for beginning refund request.
* @readonly
* @enum {string}
*/
static REFUND_REQUEST_STATUS = REFUND_REQUEST_STATUS;
/**
* Replace SKU's ProrationMode.
*
@@ -269,12 +398,28 @@ export class Purchases extends AwesomeCordovaNativePlugin {
*/
static INTRO_ELIGIBILITY_STATUS = INTRO_ELIGIBILITY_STATUS;
/**
* Enum of different possible log levels.
*
* @readonly
* @enum {string}
*/
static LOG_LEVEL = LOG_LEVEL;
/**
* Enum of different possible in-app message types.
*
* @readonly
* @enum {string}
*/
static IN_APP_MESSAGE_TYPE = IN_APP_MESSAGE_TYPE;
/**
* @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
* @param {string} apiKey RevenueCat API Key. Needs to be a string
* @param {string?} appUserID A unique id for identifying the user
* @param {boolean} observerMode 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
@@ -288,15 +433,15 @@ export class Purchases extends AwesomeCordovaNativePlugin {
/**
* Sets up Purchases with your API key and an app user id.
* @param {PurchasesConfiguration} Object containing configuration parameters
* @param {PurchasesConfiguration} configuration containing configuration parameters
*/
@Cordova({ sync: true })
configureWith({ apiKey, appUserID, observerMode, userDefaultsSuiteName, useAmazon }: PurchasesConfiguration): void {}
configureWith(configuration: PurchasesConfiguration): void {}
/**
* Gets the Offerings configured in the dashboard
*
* @returns {Promise<PurchasesOfferings>} Will return a [PurchasesError] if the offerings are not properly configured in RevenueCat or if there is another error retrieving them.
* @returns Will return a [PurchasesError] if the offerings are not properly configured in RevenueCat or if there is another error retrieving them.
*/
@Cordova()
getOfferings(): Promise<PurchasesOfferings> {
@@ -328,8 +473,6 @@ export class Purchases extends AwesomeCordovaNativePlugin {
* @param {UpgradeInfo} upgradeInfo Android only. Optional UpgradeInfo you wish to upgrade from containing the oldSKU
* and the optional prorationMode.
* @param {PURCHASE_TYPE} type Optional type of product, can be inapp or subs. Subs by default
* @returns {Promise<MakePurchaseResponse>} A [PurchasesError] is triggered after an error or when the user cancels the purchase.
* If user cancelled, userCancelled will be true
*/
@Cordova({
successIndex: 1,
@@ -343,14 +486,42 @@ export class Purchases extends AwesomeCordovaNativePlugin {
return;
}
/**
* Make a purchase
*
* @param {PurchasesStoreProduct} product The product you want to purchase
* @param {GoogleProductChangeInfo} googleProductChangeInfo Android only. Optional GoogleProductChangeInfo you
* wish to upgrade from containing the oldProductIdentifier and the optional prorationMode.
* @param {boolean} googleIsPersonalizedPrice Android and Google only. Optional boolean indicates personalized pricing on products available for purchase in the EU.
* For compliance with EU regulations. User will see "This price has been customized for you" in the purchase dialog when true.
* See https://developer.android.com/google/play/billing/integrate#personalized-price for more info.
*
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
purchaseStoreProduct(
product: PurchasesStoreProduct,
googleProductChangeInfo?: GoogleProductChangeInfo | null,
googleIsPersonalizedPrice = false
): Promise<{ productIdentifier: string; customerInfo: CustomerInfo }> {
return;
}
/**
* Make a purchase
*
* @param {PurchasesPackage} aPackage The Package you wish to purchase. You can get the Packages by calling getOfferings
* @param {UpgradeInfo} upgradeInfo Android only. Optional UpgradeInfo you wish to upgrade from containing the oldSKU
* and the optional prorationMode.
* @returns {Promise<MakePurchaseResponse>} A [PurchasesError] is triggered after an error or when the user cancels the purchase.
* If user cancelled, userCancelled will be true
* @param {GoogleProductChangeInfo} googleProductChangeInfo Android only. Optional GoogleProductChangeInfo you
* wish to upgrade from containing the oldProductIdentifier and the optional prorationMode.
* @param {boolean} googleIsPersonalizedPrice Android and Google only. Optional boolean indicates personalized pricing
* on products available for purchase in the EU. For compliance with EU regulations.
* User will see "This price has been customized for you" in the purchase dialog when true.
* See https://developer.android.com/google/play/billing/integrate#personalized-price for more info.
*
*/
@Cordova({
successIndex: 1,
@@ -358,7 +529,34 @@ export class Purchases extends AwesomeCordovaNativePlugin {
})
purchasePackage(
aPackage: PurchasesPackage,
upgradeInfo?: UpgradeInfo | null
upgradeInfo?: UpgradeInfo | null,
googleProductChangeInfo?: GoogleProductChangeInfo | null,
googleIsPersonalizedPrice = false
): Promise<{ productIdentifier: string; customerInfo: CustomerInfo }> {
return;
}
/**
* Google only. Make a purchase of a subscriptionOption
*
* @param {SubscriptionOption} subscriptionOption The SubscriptionOption you wish to purchase. You can get the
* SubscriptionOption from StoreProducts by calling getOfferings
* @param {GoogleProductChangeInfo} googleProductChangeInfo Android only. Optional GoogleProductChangeInfo you
* wish to upgrade from containing the oldProductIdentifier and the optional prorationMode.
* @param {boolean} googleIsPersonalizedPrice Android and Google only. Optional boolean indicates personalized pricing
* on products available for purchase in the EU. For compliance with EU regulations.
* User will see "This price has been customized for you" in the purchase dialog when true.
* See https://developer.android.com/google/play/billing/integrate#personalized-price for more info.
*
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
public static purchaseSubscriptionOption(
subscriptionOption: SubscriptionOption,
googleProductChangeInfo?: GoogleProductChangeInfo | null,
googleIsPersonalizedPrice = false
): Promise<{ productIdentifier: string; customerInfo: CustomerInfo }> {
return;
}
@@ -366,7 +564,6 @@ export class Purchases extends AwesomeCordovaNativePlugin {
/**
* Restores a user's previous purchases and links their appUserIDs to any user's also using those purchases.
*
* @returns {Promise<CustomerInfo>} Errors are of type [PurchasesError]
*/
@Cordova()
restorePurchases(): Promise<CustomerInfo> {
@@ -375,8 +572,6 @@ export class Purchases extends AwesomeCordovaNativePlugin {
/**
* Get the appUserID that is currently in placed in the SDK
*
* @returns {string}
*/
@Cordova({ sync: true })
getAppUserID(): string {
@@ -388,8 +583,6 @@ 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 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()
logIn(appUserID: string): Promise<LogInResult> {
@@ -399,8 +592,6 @@ 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<CustomerInfo>} new purchaser info after resetting.
*/
@Cordova()
logOut(): Promise<CustomerInfo> {
@@ -410,9 +601,6 @@ 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<CustomerInfo>} Errors are of type [PurchasesError] and get normally triggered if there
* is an error retrieving the purchaser info.
*/
@Cordova()
getCustomerInfo(): Promise<CustomerInfo> {
@@ -421,8 +609,6 @@ export class Purchases extends AwesomeCordovaNativePlugin {
/**
* Returns an observable that can be used to receive updates on the purchaser info
*
* @returns {Observable<CustomerInfo>}
*/
@Cordova({
eventObservable: true,
@@ -434,6 +620,8 @@ export class Purchases extends AwesomeCordovaNativePlugin {
}
/**
* @deprecated Use {@link setLogLevel} instead.
*
* Enables/Disables debugs logs
*
* @param {boolean} enabled true to enable debug logs, false to disable
@@ -441,6 +629,33 @@ export class Purchases extends AwesomeCordovaNativePlugin {
@Cordova({ sync: true })
setDebugLogsEnabled(enabled: boolean): void {}
/**
* Used to set the log level. Useful for debugging issues with the lovely team @RevenueCat.
* @param {LOG_LEVEL} level the minimum log level to enable.
*/
@Cordova({ sync: true })
setLogLevel(level: LOG_LEVEL): void {}
/**
* Set a custom log handler for redirecting logs to your own logging system.
* By default, this sends info, warning, and error messages.
* If you wish to receive Debug level messages, see [setLogLevel].
*
* @param {LogHandler} logHandler It will get called for each log event.
* Use this function to redirect the log to your own logging system
*/
@Cordova({ sync: true })
setLogHandler(logHandler: LogHandler): void {}
/**
* iOS only.
*
* @param {boolean} enabled Set this property to true *only* when testing the ask-to-buy / SCA purchases flow.
* More information: http://errors.rev.cat/ask-to-buy
*/
@Cordova({ sync: true })
setSimulatesAskToBuyInSandbox(enabled: boolean): void {}
/**
* This method will send all the purchases to the RevenueCat backend. Call this when using your own implementation
* for subscriptions anytime a sync is needed, like after a successful purchase.
@@ -451,13 +666,25 @@ export class Purchases extends AwesomeCordovaNativePlugin {
syncPurchases(): void {}
/**
* iOS only.
* This method will send a purchase to the RevenueCat backend. This function should only be called if you are
* in Amazon observer mode or performing a client side migration of your current users to RevenueCat.
*
* @param {boolean} enabled Set this property to true *only* when testing the ask-to-buy / SCA purchases flow.
* More information: http://errors.rev.cat/ask-to-buy
* The receipt IDs are cached if successfully posted so they are not posted more than once.
*
* @param {string} productID Product ID associated to the purchase.
* @param {string} receiptID ReceiptId that represents the Amazon purchase.
* @param {string} amazonUserID Amazon's userID. This parameter will be ignored when syncing a Google purchase.
* @param {(string|null|undefined)} isoCurrencyCode Product's currency code in ISO 4217 format.
* @param {(number|null|undefined)} price Product's price.
*/
@Cordova({ sync: true })
setSimulatesAskToBuyInSandbox(enabled: boolean): void {}
syncObserverModeAmazonPurchase(
productID: string,
receiptID: string,
amazonUserID: string,
isoCurrencyCode?: string | null,
price?: number | null
): void {}
/**
* Enable automatic collection of Apple Search Ads attribution. Disabled by default.
@@ -474,8 +701,6 @@ export class Purchases extends AwesomeCordovaNativePlugin {
enableAdServicesAttributionTokenCollection(): void {}
/**
* @returns {Promise<boolean>} A boolean indicating if the `appUserID` has been generated
* by RevenueCat or not.
*/
@Cordova({ sync: true })
isAnonymous(): boolean {
@@ -493,7 +718,6 @@ export class Purchases extends AwesomeCordovaNativePlugin {
* pricing, to not create a misleading situation. To avoid this, make sure you are testing with the latest version of
* iOS so that the subscription group can be collected by the SDK. Android always returns INTRO_ELIGIBILITY_STATUS_UNKNOWN.
* @param productIdentifiers Array of product identifiers for which you want to compute eligibility
* @returns { Promise<Object.<string, IntroEligibility>> } Map of IntroEligibility per productId
*/
@Cordova()
checkTrialOrIntroductoryPriceEligibility(
@@ -519,7 +743,6 @@ export class Purchases extends AwesomeCordovaNativePlugin {
* Removes a given ShouldPurchasePromoProductListener
*
* @param {ShouldPurchasePromoProductListener} listenerToRemove ShouldPurchasePromoProductListener reference of the listener to remove
* @returns {boolean} True if listener was removed, false otherwise
*/
@Cordova({ sync: true })
removeShouldPurchasePromoProductListener(listenerToRemove: ShouldPurchasePromoProductListener): boolean {
@@ -738,7 +961,7 @@ export class Purchases extends AwesomeCordovaNativePlugin {
*
* @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.
* @returns {Promise<boolean>} Or [PurchasesError] if there is an error.
*
*/
@Cordova()
canMakePayments(features: BILLING_FEATURE[] = []): Promise<boolean> {
@@ -752,6 +975,67 @@ export class Purchases extends AwesomeCordovaNativePlugin {
*/
@Cordova({ sync: true })
setProxyURL(url: string): void {}
/**
* iOS 15+ only. Presents a refund request sheet in the current window scene for
* the latest transaction associated with the active entitlement.
*
* If the request was unsuccessful, no active entitlements could be found for
* the user, or multiple active entitlements were found for the user,
* the promise will return an error.
* If called in an unsupported platform (iOS < 15), an `unsupportedError` will be sent to the callback.
*
* Important: This method should only be used if your user can only have a single active entitlement at a given time.
* If a user could have more than one entitlement at a time, use `beginRefundRequestForEntitlement` instead.
*
*/
@Cordova()
beginRefundRequestForActiveEntitlement(): Promise<REFUND_REQUEST_STATUS> {
return;
}
/**
* iOS 15+ only. Presents a refund request sheet in the current window scene for
* the latest transaction associated with the `entitlement`.
*
* If the request was unsuccessful, the promise will return an error.
* If called in an unsupported platform (iOS < 15), an `unsupportedError` will be sent to the callback.
*
* @param entitlementInfo The entitlement to begin a refund request for.
*
*/
@Cordova()
beginRefundRequestForEntitlement(entitlementInfo: PurchasesEntitlementInfo): Promise<REFUND_REQUEST_STATUS> {
return;
}
/**
* iOS 15+ only. Presents a refund request sheet in the current window scene for
* the latest transaction associated with the `product`.
*
* If the request was unsuccessful, the promise will return an error.
* If called in an unsupported platform (iOS < 15), an `unsupportedError` will be sent to the callback.
*
* @param storeProduct The StoreProduct to begin a refund request for.
*
*/
@Cordova()
beginRefundRequestForProduct(storeProduct: PurchasesStoreProduct): Promise<REFUND_REQUEST_STATUS> {
return;
}
/**
* Shows in-app messages available from the App Store or Google Play. You need to disable messages from showing
* automatically using [PurchasesConfiguration.shouldShowInAppMessagesAutomatically].
*
* Note: In iOS, this requires version 16+. In older versions the promise will be resolved successfully
* immediately.
*
* @param messageTypes An array of message types that the stores can display inside your app. Must be one of
* [IN_APP_MESSAGE_TYPE]. By default, is undefined and all message types will be shown.
*/
@Cordova({ sync: true })
showInAppMessages(messageTypes?: IN_APP_MESSAGE_TYPE[]): void {}
}
/**
* The EntitlementInfo object gives you access to all of the information about the status of a user entitlement.
@@ -767,7 +1051,6 @@ export interface PurchasesEntitlementInfo {
readonly isActive: boolean;
/**
* True if the underlying subscription is set to renew at the end of the billing period (expirationDate).
* Will always be True if entitlement is for lifetime access.
*/
readonly willRenew: boolean;
/**
@@ -834,7 +1117,6 @@ export interface PurchasesEntitlementInfos {
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 };
@@ -1002,6 +1284,7 @@ export interface PurchasesStoreProduct {
readonly priceString: string;
/**
* Currency code for price and original price.
* Contains the currency code value of defaultOption for Google Play.
*/
readonly currencyCode: string;
/**
@@ -1012,6 +1295,34 @@ export interface PurchasesStoreProduct {
* Collection of discount offers for a product. Null for Android.
*/
readonly discounts: PurchasesStoreProductDiscount[] | null;
/**
* Product category.
*/
readonly productCategory: PRODUCT_CATEGORY | null;
/**
* Subscription period, specified in ISO 8601 format. For example,
* P1W equates to one week, P1M equates to one month,
* P3M equates to three months, P6M equates to six months,
* and P1Y equates to one year.
* Note: Not available for Amazon.
*/
readonly subscriptionPeriod: string | null;
/**
* Default subscription option for a product. Google Play only.
*/
readonly defaultOption: SubscriptionOption | null;
/**
* Collection of subscription options for a product. Google Play only.
*/
readonly subscriptionOptions: SubscriptionOption[] | null;
/**
* Offering identifier the store product was presented from.
* Null if not using offerings or if fetched directly from store via getProducts.
*/
readonly presentedOfferingIdentifier: string | null;
}
/**
@@ -1050,6 +1361,13 @@ export interface PurchasesOffering {
* Offering description defined in RevenueCat dashboard.
*/
readonly serverDescription: string;
/**
* Offering metadata defined in RevenueCat dashboard. To access values, you need
* to check the type beforehand. For example:
* const my_unknown_value: unknown = offering.metadata['my_key'];
* const my_string_value: string | undefined = typeof(my_unknown_value) === 'string' ? my_unknown_value : undefined;
*/
readonly metadata: { [key: string]: unknown };
/**
* Array of `Package` objects available for purchase.
*/
@@ -1120,6 +1438,20 @@ export interface UpgradeInfo {
readonly prorationMode?: PRORATION_MODE;
}
/**
* Holds the information used when upgrading from another sku. For Android use only.
*/
export interface GoogleProductChangeInfo {
/**
* The old product identifier to upgrade from.
*/
readonly oldProductIdentifier: string;
/**
* The [PRORATION_MODE] to use when upgrading the given oldSKU.
*/
readonly prorationMode?: PRORATION_MODE;
}
/**
* Holds the introductory price status
*/
@@ -1172,10 +1504,185 @@ export interface PurchasesConfiguration {
* suite, otherwise it will use standardUserDefaults. Default is null, which will make the SDK use standardUserDefaults.
*/
userDefaultsSuiteName?: string;
/**
* iOS-only, will be ignored for Android.
* Set this to TRUE to enable StoreKit2.
* Default is FALSE.
*
* @deprecated RevenueCat currently uses StoreKit 1 for purchases, as its stability in production scenarios has
* proven to be more performant than StoreKit 2.
* We're collecting more data on the best approach, but StoreKit 1 vs StoreKit 2 is an implementation detail
* that you shouldn't need to care about.
* We recommend not using this parameter, letting RevenueCat decide for you which StoreKit implementation to use.
*/
usesStoreKit2IfAvailable?: boolean;
/**
* An optional boolean. Android only. Required to configure the plugin to be used in the Amazon Appstore.
*/
useAmazon?: boolean;
/**
* Whether we should show store in-app messages automatically. Both Google Play and the App Store provide in-app
* messages for some situations like billing issues. By default, those messages will be shown automatically.
* This allows to disable that behavior, so you can display those messages at your convenience. For more information,
* check: https://rev.cat/storekit-message and https://rev.cat/googleplayinappmessaging
*/
shouldShowInAppMessagesAutomatically?: boolean;
}
/**
* Contains all details associated with a SubscriptionOption
* Used only for Google
*/
export interface SubscriptionOption {
/**
* Identifier of the subscription option
* If this SubscriptionOption represents a base plan, this will be the basePlanId.
* If it represents an offer, it will be {basePlanId}:{offerId}
*/
readonly id: string;
/**
* Identifier of the StoreProduct associated with this SubscriptionOption
* This will be {subId}:{basePlanId}
*/
readonly storeProductId: string;
/**
* Identifer of the subscription associated with this SubscriptionOption
* This will be {subId}
*/
readonly productId: string;
/**
* Pricing phases defining a user's payment plan for the product over time.
*/
readonly pricingPhases: PricingPhase[];
/**
* Tags defined on the base plan or offer. Empty for Amazon.
*/
readonly tags: string[];
/**
* True if this SubscriptionOption represents a subscription base plan (rather than an offer).
*/
readonly isBasePlan: boolean;
/**
* The subscription period of fullPricePhase (after free and intro trials).
*/
readonly billingPeriod: Period | null;
/**
* True if the subscription is pre-paid.
*/
readonly isPrepaid: boolean;
/**
* The full price PricingPhase of the subscription.
* Looks for the last price phase of the SubscriptionOption.
*/
readonly fullPricePhase: PricingPhase | null;
/**
* The free trial PricingPhase of the subscription.
* Looks for the first pricing phase of the SubscriptionOption where amountMicros is 0.
* There can be a freeTrialPhase and an introductoryPhase in the same SubscriptionOption.
*/
readonly freePhase: PricingPhase | null;
/**
* The intro trial PricingPhase of the subscription.
* Looks for the first pricing phase of the SubscriptionOption where amountMicros is greater than 0.
* There can be a freeTrialPhase and an introductoryPhase in the same SubscriptionOption.
*/
readonly introPhase: PricingPhase | null;
/**
* Offering identifier the subscription option was presented from
*/
readonly presentedOfferingIdentifier: string | null;
}
/**
* Contains all the details associated with a PricingPhase
*/
export interface PricingPhase {
/**
* Billing period for which the PricingPhase applies
*/
readonly billingPeriod: Period;
/**
* Recurrence mode of the PricingPhase
*/
readonly recurrenceMode: RECURRENCE_MODE | null;
/**
* Number of cycles for which the pricing phase applies.
* Null for infiniteRecurring or finiteRecurring recurrence modes.
*/
readonly billingCycleCount: number | null;
/**
* Price of the PricingPhase
*/
readonly price: Price;
/**
* Indicates how the pricing phase is charged for finiteRecurring pricing phases
*/
readonly offerPaymentMode: OFFER_PAYMENT_MODE | null;
}
/**
* Contains all the details associated with a Price
*/
export interface Price {
/**
* Formatted price of the item, including its currency sign. For example $3.00
*/
readonly formatted: string;
/**
* Price in micro-units, where 1,000,000 micro-units equal one unit of the currency.
*
* For example, if price is "€7.99", price_amount_micros is 7,990,000. This value represents
* the localized, rounded price for a particular currency.
*/
readonly amountMicros: number;
/**
* Returns ISO 4217 currency code for price and original price.
*
* For example, if price is specified in British pounds sterling, price_currency_code is "GBP".
* If currency code cannot be determined, currency symbol is returned.
*/
readonly currencyCode: string;
}
/**
* Contains all the details associated with a Period
*/
export interface Period {
/**
* The number of period units: day, week, month, year, unknown
*/
readonly unit: PERIOD_UNIT;
/**
* The increment of time that a subscription period is specified in
*/
readonly value: number;
/**
* Specified in ISO 8601 format. For example, P1W equates to one week,
* P1M equates to one month, P3M equates to three months, P6M equates to six months,
* and P1Y equates to one year
*/
readonly iso8601: string;
}
export type ShouldPurchasePromoProductListener = (deferredPurchase: () => void) => void;
export type LogHandler = (logLevel: LOG_LEVEL, message: string) => void;

View File

@@ -0,0 +1,42 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name SaveDialog
* @description
* Plugin displays the native Save dialog which allows users to store a file in the selected location.
* @usage
* ```typescript
* import { SaveDialog } from '@awesome-cordova-plugins/save-dialog';
*
* constructor(private saveDialog: SaveDialog) { }
*
* ...
*
* this.saveDialog.saveFile(blob, fileName);
*
* ```
*/
@Plugin({
pluginName: 'SaveDialog',
plugin: 'cordova-plugin-save-dialog',
pluginRef: 'SaveDialog',
repo: 'https://github.com/Amphiluke/cordova-plugin-save-dialog',
platforms: ['Android', 'iOS'],
})
@Injectable({
providedIn: 'root',
})
export class SaveDialog extends AwesomeCordovaNativePlugin {
/**
* Creates a PDF using a URL, it download the document into an in memory Webkit object, and renders it into a PDF.
*
* @param url {string} URL to create a PDF from
* @param options {PDFGeneratorOptions} options for PDF generation
* @returns {Promise<string>}
*/
@Cordova({ otherPromise: true })
saveFile(blob: Blob, fileName?: string): Promise<string> {
return;
}
}

View File

@@ -0,0 +1,78 @@
import { Injectable } from '@angular/core';
import { AwesomeCordovaNativePlugin, Plugin, getPromise } from '@awesome-cordova-plugins/core';
declare const navigator: any;
/**
* @name Screenshot
* @description Captures a screen shot
* @usage
* ```typescript
* import { Screenshot } from '@ionic-native/screenshot/ngx';
*
* constructor(private screenshot: Screenshot) { }
*
* ...
*
* // Take a screenshot and save to file
* this.screenshot.save('jpg', 80, 'myscreenshot.jpg').then(onSuccess, onError);
*
* // Take a screenshot and get temporary file URI
* this.screenshot.URI(80).then(onSuccess, onError);
* ```
*/
@Plugin({
pluginName: 'Screenshot',
plugin: '@herdwatch-apps/cordova-plugin-screenshot',
pluginRef: 'navigator.screenshot',
repo: 'https://github.com/herdwatch-apps/cordova-plugin-screenshot',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class Screenshot extends AwesomeCordovaNativePlugin {
/**
* Takes screenshot and saves the image
*
* @param format {string} Format can take the value of either 'jpg' or 'png'
* On ios, only 'jpg' format is supported
* @param quality {number} Determines the quality of the screenshot.
* Default quality is set to 100.
* @param filename {string} Name of the file as stored on the storage
* @returns {Promise<any>}
*/
save(format?: string, quality?: number, filename?: string): Promise<any> {
return getPromise<any>((resolve, reject) => {
navigator.screenshot.save(
(error: any, result: any) => {
if (error) {
reject(error);
} else {
resolve(result);
}
},
format,
quality,
filename
);
});
}
/**
* Takes screenshot and returns the image as an URI
*
* @param quality {number} Determines the quality of the screenshot.
* Default quality is set to 100.
* @returns {Promise<any>}
*/
URI(quality?: number): Promise<any> {
return getPromise<any>((resolve, reject) => {
navigator.screenshot.URI((error: any, result: any) => {
if (error) {
reject(error);
} else {
resolve(result);
}
}, quality);
});
}
}

View File

@@ -0,0 +1,62 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
/**
* @name SSLCertificateChecker
* @description
* Cordova plugin to check SSL certificates on Android and iOS.
*
* @usage
* ```typescript
* import { SSLCertificateChecker } from '@awesome-cordova-plugins/ssl-certificate-checker';
*
* constructor(private sslCertificateChecker: SSLCertificateChecker) { }
*
* ...
*
* this.sslCertificateChecker.check(serverURL, allowedFingerprint)
* .then(() => console.log('Certificate is valid'))
* .catch(error => console.error('Certificate is invalid', error));
*
* ...
*
* this.sslCertificateChecker.checkInCertChain(serverURL, allowedFingerprint)
* .then(() => console.log('Certificate chain is valid'))
* .catch(error => console.error('Certificate chain is invalid', error));
*
* ```
*/
@Plugin({
pluginName: 'SSLCertificateChecker',
plugin: 'SSLCertificateChecker-PhoneGap-Plugin',
pluginRef: 'SSLCertificateChecker',
repo: 'https://github.com/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class SSLCertificateChecker extends AwesomeCordovaNativePlugin {
/**
* Checks if the SSL certificate of the specified server matches the provided fingerprint.
* @param serverURL - The URL of the server to check.
* @param allowedFingerprint - The allowed SHA-1 fingerprint.
* @return {Promise<void>} Returns a promise that resolves if the certificate is valid, otherwise rejects with an error.
*/
@Cordova()
check(serverURL: string, allowedFingerprint: string | string[]): Promise<void> {
return;
}
/**
* (Not recommended in versions higher than 4.0.0)
* Checks if the SSL certificate of the specified server is in the certificate chain
* and matches the provided fingerprint.
* @param serverURL - The URL of the server to check.
* @param allowedFingerprint - The allowed SHA-1 fingerprint.
* @return {Promise<void>} Returns a promise that resolves if the certificate chain is valid, otherwise rejects with an error.
* @deprecated This function is considered insecure.
*/
@Cordova()
checkInCertChain(serverURL: string, allowedFingerprint: string | string[]): Promise<void> {
return;
}
}

View File

@@ -0,0 +1,160 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
/**
* @name WE Cap Inbox
* @description
* This plugin provides functionalities to manage notifications in your app.
*
* @usage
* ```typescript
* import { WECapInbox } from '@awesome-cordova-plugins/we-cap-inbox';
*
* constructor(private wECapInbox: WECapInbox) { }
*
* ...
*
* this.WECapInbox.getNotificationCount()
* .then((count: number) => console.log(count))
* .catch((error: string) => console.error(error));
* ```
*/
@Plugin({
pluginName: 'WECapInbox',
plugin: 'we-notificationinbox-cordova', // npm package name, example: cordova-plugin-camera
pluginRef: 'WENotificationInboxPlugin', // the variable reference to call the plugin,
repo: 'https://github.com/WebEngage/we-ionic-notification-inbox',
platforms: ['Android', 'iOS'], // Array of platforms supported, example: ['Android', 'iOS']
})
@Injectable()
export class WECapInbox extends AwesomeCordovaNativePlugin {
/**
* Resets the notification count.
* @returns {Promise<void>}
*/
@Cordova()
resetNotificationCount(): Promise<void> {
return;
}
/**
* Retrieves the count of notifications.
* @param {function} successCallback
* @param {function} errorCallback
* @returns {Promise<number>} - The count of notifications.
*/
@Cordova()
getNotificationCount(successCallback: (count: String) => void, errorCallback: (error: string) => void): Promise<any> {
return;
}
/**-
* Retrieves Notification List
* @param {JsonObject | null} offset - Optional offset for notifications
* @param {function} successCallback
* @param {function} errorCallback
* @returns {Promise<any>}
*/
@Cordova()
getNotificationList(
offset: JsonObject | null,
successCallback: (notifications: NotificationResponse) => void,
errorCallback: (error: string) => void
): Promise<any> {
return;
}
/**
* Marks a specific notification as read.
* @param {JsonObject} notificationObject - The notification to mark as read.
* @returns {Promise<void>}
*/
@Cordova()
markRead(notificationObject: JsonObject): Promise<void> {
return;
}
/**
* Marks a specific notification as unread.
* @param {JsonObject} notificationObject - The notification to mark as unread.
* @returns {Promise<void>}
*/
@Cordova()
markUnread(notificationObject: JsonObject): Promise<void> {
return;
}
/**
* Tracks a click event on a notification.
* @param {JsonObject} notificationObject - The notification that was clicked.
* @returns {Promise<void>}
*/
@Cordova()
trackClick(notificationObject: JsonObject): Promise<void> {
return;
}
/**
* Tracks the view event of a notification.
* @param {JsonObject} notificationObject - The notification that was viewed.
* @returns {Promise<void>}
*/
@Cordova()
trackView(notificationObject: JsonObject): Promise<void> {
return;
}
/**
* Marks a specific notification as deleted.
* @param {JsonObject} notificationObject - The notification to delete.
* @returns {Promise<void>}
*/
@Cordova()
markDelete(notificationObject: JsonObject): Promise<void> {
return;
}
/**
* Marks all notifications as read.
* @param {JsonArray} notificationList - An array of notification identifiers to mark as read.
* @returns {Promise<void>}
*/
@Cordova()
readAll(notificationList: JsonArray): Promise<void> {
return;
}
/**
* Marks all notifications as unread.
* @param {JsonArray} notificationList - An array of notification identifiers to mark as unread.
* @returns {Promise<void>}
*/
@Cordova()
unReadAll(notificationList: JsonArray): Promise<void> {
return;
}
/**
* Deletes all notifications.
* @param {JsonArray} notificationList - An array of notification identifiers to delete.
* @returns {Promise<void>}
*/
@Cordova()
deleteAll(notificationList: JsonArray): Promise<void> {
return;
}
}
export type JsonValue = string | number | boolean | null | JsonObject | JsonArray;
export type NotificationResponse = {
hasNext: boolean;
messageList: JsonArray;
};
export type JsonObject = {
[key: string]: JsonValue;
};
export type JsonArray = JsonValue[];

View File

@@ -7,7 +7,7 @@ import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-pl
* Awesome Cordova Plugins wrapper that wraps Webengage Cordova plugin for Android and iOS
* @usage
* ```typescript
* import { Webengage, WebengageUser, WebengagePush, WebengageNotification } from '@awesome-cordova-plugins/webengage/ngx';
* import { Webengage, WebengageUser, WebengagePush, WebengageNotification, WebengageJwtManager } from '@awesome-cordova-plugins/webengage/ngx';
*
*
* constructor(private webengage: Webengage, private webengageUser: WebengageUser, private webengagePush: WebengagePush, private webengageNotification: WebengageNotification ) { }
@@ -28,7 +28,6 @@ import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-pl
export class Webengage extends AwesomeCordovaNativePlugin {
/**
* Initializes WebEngage SDK
*
* @param {any} [config]
* @returns {Promise<any>}
*/
@@ -37,9 +36,17 @@ export class Webengage extends AwesomeCordovaNativePlugin {
return;
}
/**
* Starts Tracking Google Advertising ID
* @returns {Promise<any>}
*/
@Cordova()
startGAIDTracking(): Promise<any> {
return;
}
/**
* Sets WebEngage SDK configuration
*
* @param {string} key
* @param {any} value
* @returns {Promise<any>}
@@ -51,7 +58,6 @@ export class Webengage extends AwesomeCordovaNativePlugin {
/**
* Tracks event
*
* @param {string} eventName
* @param {any} [attributes]
* @returns {Promise<any>}
@@ -63,7 +69,6 @@ export class Webengage extends AwesomeCordovaNativePlugin {
/**
* Tracks screen
*
* @param {string} eventName
* @param screenName
* @param {any} [screenData]
@@ -87,18 +92,26 @@ export class Webengage extends AwesomeCordovaNativePlugin {
export class WebengageUser extends AwesomeCordovaNativePlugin {
/**
* Logs user in
*
* @param {string} userId
* @returns {Promise<any>}
*/
@Cordova()
login(userId: string): Promise<any> {
login(userId: string, jwtToken?: string): Promise<any> {
return;
}
/**
* Logs user in
* @param {string} userId
* @returns {Promise<any>}
*/
@Cordova()
setSecureToken(userId: string, jwtToken: string): Promise<any> {
return;
}
/**
* Logs user out
*
* @returns {Promise<any>}
*/
@Cordova()
@@ -108,7 +121,6 @@ export class WebengageUser extends AwesomeCordovaNativePlugin {
/**
* Sets user attribute
*
* @param {string} key
* @param {any} value
* @returns {Promise<any>}
@@ -117,6 +129,59 @@ export class WebengageUser extends AwesomeCordovaNativePlugin {
setAttribute(key: string, value: any): Promise<any> {
return;
}
/**
* Sets Device optIn
* @param {boolean} optIn
* @returns {Promise<any>}
*/
@Cordova()
setDevicePushOptIn(optIn: boolean): Promise<any> {
return;
}
/**
* Sets user attribute
* @param {string} channel
* @param {any} optIn
* @returns {Promise<any>}
*/
@Cordova()
setUserOptIn(channel: string, optIn: any): Promise<any> {
return;
}
/**
* Sets user location
* @param {number} latitude
* @param {number} longitude
* @returns {Promise<any>}
*/
@Cordova()
setLocation(latitude: number, longitude: number): Promise<any> {
return;
}
}
/**
* @hidden
*/
@Plugin({
pluginName: 'Webengage',
plugin: 'cordova-plugin-webengage',
pluginRef: 'webengage.jwtManager',
})
@Injectable()
export class WebengageJwtManager extends AwesomeCordovaNativePlugin {
/**
* Callback function is invoked when a Jwt token is clicked
* @param {any} callback
* @returns {Promise<any>}
*/
@Cordova()
tokenInvalidatedCallback(callback: any): Promise<any> {
return;
}
}
/**
@@ -131,7 +196,6 @@ export class WebengageUser extends AwesomeCordovaNativePlugin {
export class WebengagePush extends AwesomeCordovaNativePlugin {
/**
* Callback function is invoked when a push notification is clicked
*
* @param {any} callback
* @returns {Promise<any>}
*/
@@ -142,7 +206,6 @@ export class WebengagePush extends AwesomeCordovaNativePlugin {
/**
* Sets push notification configuration
*
* @param {string} key
* @param {any} value
* @returns {Promise<any>}
@@ -165,7 +228,6 @@ export class WebengagePush extends AwesomeCordovaNativePlugin {
export class WebengageNotification extends AwesomeCordovaNativePlugin {
/**
* Callback function is invoked when a in-app notification is shown
*
* @param {any} callback
* @returns {Promise<any>}
*/
@@ -174,9 +236,18 @@ export class WebengageNotification extends AwesomeCordovaNativePlugin {
return;
}
/**
* Callback function is invoked before a in-app notification is shown
* @param {any} callback
* @returns {Promise<any>}
*/
@Cordova()
onPrepared(callback: any): Promise<any> {
return;
}
/**
* Callback function is invoked when a in-app notification is clicked
*
* @param {any} callback
* @returns {Promise<any>}
*/
@@ -187,7 +258,6 @@ export class WebengageNotification extends AwesomeCordovaNativePlugin {
/**
* Callback function is invoked when a in-app notification is dismissed
*
* @param {any} callback
* @returns {Promise<any>}
*/
@@ -198,7 +268,6 @@ export class WebengageNotification extends AwesomeCordovaNativePlugin {
/**
* Sets in-app notification configuration
*
* @param {string} key
* @param {any} value
* @returns {Promise<any>}