Compare commits

..

115 Commits

Author SHA1 Message Date
Daniel Sogl
499b107c21 6.13.0 2024-12-16 10:50:33 +00:00
Anush-Shand
21e3e37a0d feat(clevertap): support clevertap-cordova 3.3.0 (#4883)
* 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

* task(SDK-4148) - Add support for cordova v3.3.0

- Custom Templates
- File Variables

---------

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-12-16 10:49:19 +01:00
renovate[bot]
eca218a36f chore(deps): update dependency terser-webpack-plugin to v5.3.11 (#4889) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 10:48:55 +01:00
renovate[bot]
d38db02f92 chore(deps): update dependency eslint-plugin-jsdoc to v50.6.1 (#4888) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 10:48:45 +01:00
renovate[bot]
b6bc20cefe chore(deps): update dependency lint-staged to v15.2.11 (#4887) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 10:48:37 +01:00
renovate[bot]
0e12d1dc65 chore(deps): update dependency is-ci to v4 (#4885) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 10:48:30 +01:00
renovate[bot]
b5dc553659 chore(deps): update dependency rollup to v4.28.1 (#4884) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 10:48:21 +01:00
renovate[bot]
1337ff5c7e chore(deps): update dependency eslint-plugin-jsdoc to v50.6.0 (#4882) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-03 16:11:53 +01:00
renovate[bot]
14b04b5243 chore(deps): update dependency rollup to v4.28.0 (#4880) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-03 16:11:40 +01:00
Daniel Sogl
740268a75b 6.12.0 2024-11-21 19:23:01 +00:00
Maxim Belov
e85f761999 refactor(status-bar): remove deprecated methods (#4872) [skip ci] 2024-11-21 19:32:19 +01:00
renovate[bot]
acb6ba74fc chore(deps): update dependency rollup to v4.27.3 (#4877) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-21 19:32:01 +01:00
renovate[bot]
a5ac795ef4 chore(deps): update dependency husky to v9.1.7 (#4878) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-21 19:31:51 +01:00
renovate[bot]
e95aa9ea74 chore(deps): update dependency rollup to v4.26.0 (#4876) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 14:25:59 +01:00
renovate[bot]
74c9cd2a66 chore(deps): update dependency eslint-plugin-jsdoc to v50.5.0 (#4874) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 14:25:48 +01:00
gxolin
b20c67bf14 feat(in-app-purchase-3) new InAppPurchase3 plugin fixed (#4873)
* fix(in-app-purchase-3) typings and doc

* update return type for initialize
2024-11-14 14:25:32 +01:00
Daniel Sogl
d83b124cec 6.11.0 2024-11-11 09:14:05 +00:00
Maxim Belov
381f012402 chore: update node-version from 16 to 20 (#4845) 2024-11-11 10:10:28 +01:00
Fabio Martino
658a55bc97 feat(cordova-plugin-iroot): add plugin (#4857) 2024-11-11 10:09:00 +01:00
Fabio Martino
ac767ab219 fix(cordova-plugin-firebase-model): updated to @awesome-cordova-plugins/core (#4858) 2024-11-11 10:08:30 +01:00
renovate[bot]
4b526e4d4d fix(deps): update dependency tslib to v2.8.1 (#4856) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 10:07:48 +01:00
renovate[bot]
da7b13fbcf chore(deps): update dependency winston to v3.17.0 (#4853) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 10:07:38 +01:00
renovate[bot]
890b8b855c chore(deps): update dependency eslint-plugin-jsdoc to v50.4.3 (#4855) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 10:07:29 +01:00
renovate[bot]
9744564c8a chore(deps): update actions/checkout action to v4.2.2 (#4865) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 10:07:14 +01:00
renovate[bot]
a99ef76251 chore(deps): update actions/setup-node action to v4.1.0 (#4866) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 10:06:16 +01:00
renovate[bot]
a97314afd5 chore(deps): update dependency rollup to v4.25.0 (#4867) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 10:06:07 +01:00
Daniel Sogl
652431206c Revert "feat(in-app-purchase-3) new InAppPurchase3 plugin (#4849)" (#4871)
This reverts commit be6000f13c.
2024-11-11 10:02:23 +01:00
Daniel Sogl
68abedd15a 6.10.0 2024-10-13 14:55:34 +00:00
renovate[bot]
910af256af chore(deps): update dependency rollup to v4.24.0 (#4851) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-13 16:46:31 +02:00
renovate[bot]
3434bd5dce chore(deps): update dependency eslint-plugin-jsdoc to v50.3.2 (#4850) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-13 16:46:24 +02:00
gxolin
be6000f13c feat(in-app-purchase-3) new InAppPurchase3 plugin (#4849)
* feat(in-app-purchase-3) new InAppPurchase3 plugin

* fix(in-app-purchase-3) fix typing and es-lint
2024-10-13 16:46:14 +02:00
Maxim Belov
e830259beb feat(bluetooth-classic-serial-port): add method initialize (#4847)
* feat(bluetooth-classic-serial-port): add method initialize

* Update index.ts
2024-10-13 16:45:52 +02:00
Maxim Belov
4e817a96a8 fix(screenshot): Update plugin NPM package name (#4844) 2024-10-13 16:45:37 +02:00
Maxim Belov
61d0854f73 feat(intercom): add support cordova-intercom v14+ (#4839)
* feat(intercom): update wrapper for Cordova Intercom v14+

* update types

* intercom: update types

* intercom: update types

* fix readme generator
2024-10-13 16:45:24 +02:00
Maxim Belov
3a64cd4bcd fix(in-app-browser): remove duplicated method (#4838) 2024-10-13 16:45:14 +02:00
Maxim Belov
c40a73407d feat(sockets-udp): add plugin (#4832) 2024-10-13 16:45:01 +02:00
Maxim Belov
bb5b344100 feat(sockets-tcp): add plugin (#4833) 2024-10-13 16:44:49 +02:00
Maxim Belov
f87a73f29d feat(shortcuts-android): add plugin (#4831) 2024-10-13 16:44:30 +02:00
Maxim Belov
bff5cce125 feat(network-permission): add plugin (#4830) 2024-10-13 16:44:20 +02:00
Maxim Belov
8fc3465ed5 refactor(three-dee-touch): Replace onHomeIconPressed with registerQuickActionListener (#4829)
* refactor(three-dee-touch): Replace onHomeIconPressed with registerQuickActionListener

* fix: install option

* remove install
2024-10-13 16:44:04 +02:00
Uglješa Erceg
50287d1f5a feat(adjust): update adjust sdk index.ts api to v5.0.0 (#4826) 2024-10-13 16:43:48 +02:00
renovate[bot]
45fdf7fb3d chore(deps): update actions/checkout action to v4.2.1 (#4843) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-13 16:43:11 +02:00
renovate[bot]
7b24fa8478 chore(deps): update dependency rollup to v4.22.4 [security] (#4841) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-13 16:42:58 +02:00
dependabot[bot]
12d6baed90 build(deps-dev): bump rollup from 4.22.0 to 4.22.4 (#4840) [skip ci]
Bumps [rollup](https://github.com/rollup/rollup) from 4.22.0 to 4.22.4.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.22.0...v4.22.4)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-13 16:42:47 +02:00
renovate[bot]
4c2af62bfa chore(deps): update actions/setup-node action to v4.0.4 (#4835) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-13 16:42:35 +02:00
renovate[bot]
f53aea0a47 chore(deps): update dependency eslint-plugin-jsdoc to v50.2.4 (#4825) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-19 11:23:40 +02:00
renovate[bot]
621c5842b9 chore(deps): update dependency eslint to v8.57.1 (#4828) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-19 11:23:30 +02:00
renovate[bot]
04550843e5 chore(deps): update dependency rollup to v4.22.0 (#4834) [skip ci]
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-19 11:23:15 +02:00
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
36 changed files with 9454 additions and 5690 deletions

View File

@@ -8,12 +8,12 @@ jobs:
strategy:
matrix:
node-version: [16.x]
node-version: [20.x]
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.2.2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.1
uses: actions/setup-node@v4.1.0
with:
node-version: ${{ matrix.node-version }}

View File

@@ -9,10 +9,10 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/setup-node@v4.0.1
- uses: actions/checkout@v4.2.2
- uses: actions/setup-node@v4.1.0
with:
node-version: 16
node-version: 20
- name: Install dependencies
run: npm ci
- name: Build
@@ -24,10 +24,10 @@ jobs:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/setup-node@v4.0.1
- uses: actions/checkout@v4.2.2
- uses: actions/setup-node@v4.1.0
with:
node-version: 16
node-version: 20
registry-url: https://registry.npmjs.org/
- run: npm ci
- run: npm run shipit

View File

@@ -1,3 +1,125 @@
# [6.13.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.12.0...v6.13.0) (2024-12-16)
### Features
* **clevertap:** support clevertap-cordova 3.3.0 ([#4883](https://github.com/danielsogl/awesome-cordova-plugins/issues/4883)) ([21e3e37](https://github.com/danielsogl/awesome-cordova-plugins/commit/21e3e37a0df0b099e857ff5eb0330a1ee5b6fe12)), closes [#3491](https://github.com/danielsogl/awesome-cordova-plugins/issues/3491)
# [6.12.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.11.0...v6.12.0) (2024-11-21)
# [6.11.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.10.0...v6.11.0) (2024-11-11)
### Bug Fixes
* **cordova-plugin-firebase-model:** updated to @awesome-cordova-plugins/core ([#4858](https://github.com/danielsogl/awesome-cordova-plugins/issues/4858)) ([ac767ab](https://github.com/danielsogl/awesome-cordova-plugins/commit/ac767ab2198ab55d3cfcc20fafab838301e6f051))
* **deps:** update dependency tslib to v2.8.1 ([#4856](https://github.com/danielsogl/awesome-cordova-plugins/issues/4856)) [skip ci] ([4b526e4](https://github.com/danielsogl/awesome-cordova-plugins/commit/4b526e4d4d96651baf126724909b034c7b25eac2))
### Features
* **cordova-plugin-iroot:** add plugin ([#4857](https://github.com/danielsogl/awesome-cordova-plugins/issues/4857)) ([658a55b](https://github.com/danielsogl/awesome-cordova-plugins/commit/658a55bc97dd4247ed8e8672ae08c23df2fdb185))
### Reverts
* Revert "feat(in-app-purchase-3) new InAppPurchase3 plugin (#4849)" (#4871) ([6524312](https://github.com/danielsogl/awesome-cordova-plugins/commit/652431206c51f5f66e88786d4bffa4ccca6331b3)), closes [#4849](https://github.com/danielsogl/awesome-cordova-plugins/issues/4849) [#4871](https://github.com/danielsogl/awesome-cordova-plugins/issues/4871)
# [6.10.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/v6.9.0...v6.10.0) (2024-10-13)
### Bug Fixes
* **in-app-browser:** remove duplicated method ([#4838](https://github.com/danielsogl/awesome-cordova-plugins/issues/4838)) ([3a64cd4](https://github.com/danielsogl/awesome-cordova-plugins/commit/3a64cd4bcdf18b9a776ab90b45faf59c9a3ca10c))
* **screenshot:** Update plugin NPM package name ([#4844](https://github.com/danielsogl/awesome-cordova-plugins/issues/4844)) ([4e817a9](https://github.com/danielsogl/awesome-cordova-plugins/commit/4e817a96a876d9adb6ffdbe6163f7e19ec1670d2))
### Features
* **adjust:** update adjust sdk index.ts api to v5.0.0 ([#4826](https://github.com/danielsogl/awesome-cordova-plugins/issues/4826)) ([50287d1](https://github.com/danielsogl/awesome-cordova-plugins/commit/50287d1f5a94b8e311f541040f3034568646b3b3))
* **bluetooth-classic-serial-port:** add method initialize ([#4847](https://github.com/danielsogl/awesome-cordova-plugins/issues/4847)) ([e830259](https://github.com/danielsogl/awesome-cordova-plugins/commit/e830259bebdb20a5dfef9d8bde4dde7cb84cfae2))
* **intercom:** add support cordova-intercom v14+ ([#4839](https://github.com/danielsogl/awesome-cordova-plugins/issues/4839)) ([61d0854](https://github.com/danielsogl/awesome-cordova-plugins/commit/61d0854f73ec0c59cd528951b168cc7f3e88c8d0))
* **network-permission:** add plugin ([#4830](https://github.com/danielsogl/awesome-cordova-plugins/issues/4830)) ([bff5cce](https://github.com/danielsogl/awesome-cordova-plugins/commit/bff5cce12555292d678539ed4690ec6ac79b8481))
* **shortcuts-android:** add plugin ([#4831](https://github.com/danielsogl/awesome-cordova-plugins/issues/4831)) ([f87a73f](https://github.com/danielsogl/awesome-cordova-plugins/commit/f87a73f29d28dd0a0b3236540945bc97e4db5ddd))
* **sockets-tcp:** add plugin ([#4833](https://github.com/danielsogl/awesome-cordova-plugins/issues/4833)) ([bb5b344](https://github.com/danielsogl/awesome-cordova-plugins/commit/bb5b3441005f9b564390de75cec8313eea9db50a))
* **sockets-udp:** add plugin ([#4832](https://github.com/danielsogl/awesome-cordova-plugins/issues/4832)) ([c40a734](https://github.com/danielsogl/awesome-cordova-plugins/commit/c40a73407d7dde06e1e450c5c658220e275b643b))
# [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)

View File

@@ -0,0 +1,36 @@
# IRoot
```text
$ ionic cordova plugin add cordova-plugin-iroot
$ npm install @awesome-cordova-plugins/i-root
```
## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/iroot/)
Plugin Repo: [https://github.com/WuglyakBolgoink/cordova-plugin-iroot](https://github.com/WuglyakBolgoink/cordova-plugin-iroot)
Use this plugin to add an extra layer of security for your app by detecting if the device was rooted (on android) or jailbreaked (on iOS).
## Supported platforms
* Android
* iOS
## Original Plugin Notes
### iOS - Postinstall
To avoid errors like
> -canOpenURL: failed for URL: "cydia://package/com.example.package" - error: "This app is not allowed to query for scheme cydia"
dont forget to add `"cydia"` in `LSApplicationQueriesSchemes` key of `info.plist`. Otherwise `canOpenURL` will always return `false`.
```xml
<xxx>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>cydia</string>
</array>
</xxx>
```

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

7718
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.5.0",
"version": "6.13.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,7 +24,7 @@
"prettier": "prettier --write --ignore-unknown \"**/*\""
},
"dependencies": {
"tslib": "2.6.2"
"tslib": "2.8.1"
},
"devDependencies": {
"@angular/common": "12.2.17",
@@ -34,41 +34,41 @@
"@types/cordova": "11.0.3",
"@types/fs-extra": "11.0.4",
"@types/jest": "27.5.2",
"@types/lodash": "4.14.202",
"@types/node": "20.10.5",
"@types/rimraf": "3.0.2",
"@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": "4.1.0",
"conventional-changelog-cli": "5.0.0",
"cz-conventional-changelog": "3.3.0",
"dgeni": "0.4.14",
"dgeni-packages": "0.16.10",
"eslint": "8.56.0",
"eslint": "8.57.1",
"eslint-config-prettier": "8.10.0",
"eslint-plugin-jsdoc": "46.9.1",
"eslint-plugin-jsdoc": "50.6.1",
"fs-extra": "11.2.0",
"gulp": "4.0.2",
"gulp": "5.0.0",
"gulp-rename": "2.0.0",
"gulp-replace": "1.1.4",
"husky": "8.0.3",
"is-ci": "3.0.1",
"husky": "9.1.7",
"is-ci": "4.1.0",
"jest": "27.5.1",
"lint-staged": "15.2.0",
"lint-staged": "15.2.11",
"lodash": "4.17.21",
"minimist": "1.2.8",
"prettier": "2.8.8",
"rimraf": "5.0.5",
"rollup": "4.9.1",
"rollup": "4.28.1",
"rxjs": "6.6.7",
"terser-webpack-plugin": "5.3.9",
"terser-webpack-plugin": "5.3.11",
"ts-jest": "27.1.5",
"ts-node": "10.9.2",
"typescript": "4.2.4",
"unminified-webpack-plugin": "3.0.0",
"webpack": "5.74.0",
"winston": "3.11.0",
"winston": "3.17.0",
"zone.js": "0.11.8"
},
"jest": {

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

@@ -1,11 +1,225 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
export class AdjustConfig {
private appToken: string;
private environment: AdjustEnvironment;
private sdkPrefix: string;
private logLevel: AdjustLogLevel = null;
private defaultTracker: string = null;
private externalDeviceId: string = null;
private isSendingInBackgroundEnabled: boolean = null;
private isDeferredDeeplinkOpeningEnabled: boolean = null;
private isCostDataInAttributionEnabled: boolean = null;
private isCoppaComplianceEnabled: boolean = null;
private isDeviceIdsReadingOnceEnabled: boolean = null;
private eventDeduplicationIdsMaxSize: number = null;
private urlStrategyDomains: string[] = [];
private useSubdomains: boolean = null;
private isDataResidency: boolean = null;
// android only
private processName: string = null;
private isPreinstallTrackingEnabled: boolean = null;
private preinstallFilePath: string = null;
private isPlayStoreKidsComplianceEnabled: boolean = null;
private fbAppId: string = null;
// ios only
private isAdServicesEnabled: boolean = null;
private isIdfaReadingEnabled: boolean = null;
private isIdfvReadingEnabled: boolean = null;
private isSkanAttributionEnabled: boolean = null;
private isLinkMeEnabled: boolean = null;
private attConsentWaitingInterval: number = null;
// callbacks
private attributionCallback: (attribution: AdjustAttribution) => void = null;
private eventTrackingSucceededCallback: (event: AdjustEventSuccess) => void = null;
private eventTrackingFailedCallback: (event: AdjustEventFailure) => void = null;
private sessionTrackingSucceededCallback: (session: AdjustSessionSuccess) => void = null;
private sessionTrackingFailedCallback: (session: AdjustSessionFailure) => void = null;
private deferredDeeplinkCallback: (deeplink: string) => void = null;
private skanUpdatedCallback: (skanData: AdjustSkanData) => void = null;
constructor(appToken: string, environment: AdjustEnvironment) {
this.appToken = appToken;
this.environment = environment;
}
setLogLevel(logLevel: AdjustLogLevel): void {
this.logLevel = logLevel;
}
setDefaultTracker(defaultTracker: string): void {
this.defaultTracker = defaultTracker;
}
setExternalDeviceId(externalDeviceId: string): void {
this.externalDeviceId = externalDeviceId;
}
setUrlStrategy(urlStrategyDomains: string[], useSubdomains: boolean, isDataResidency: boolean): void {
this.urlStrategy = urlStrategy;
}
enableSendingInBackground(): void {
this.isSendingInBackgroundEnabled = true;
}
disableDeferredDeeplinkOpening(): void {
this.isDeferredDeeplinkOpeningEnabled = false;
}
enableCoppaCompliance(): void {
this.isCoppaComplianceEnabled = true;
}
enableDeviceIdsReadingOnce(): void {
this.isDeviceIdsReadingOnceEnabled = true;
}
enablePlayStoreKidsCompliance(): void {
this.isPlayStoreKidsComplianceEnabled = true;
}
enableCostDataInAttribution(): void {
this.isCostDataInAttributionEnabled = true;
}
setProcessName(processName: string) {
this.processName = processName;
}
enablePreinstallTracking(): void {
this.isPreinstallTrackingEnabled = true;
}
setPreinstallFilePath(preinstallFilePath: string): void {
this.preinstallFilePath = preinstallFilePath;
}
setFbAppId(fbAppId: string): void {
this.fbAppId = fbAppId;
}
disableIdfaReading(): void {
this.isIdfaReadingEnabled = false;
}
disableIdfvReading(): void {
this.isIdfvReadingEnabled = false;
}
disableAdServices(): void {
this.isAdServicesEnabled = false;
}
enableLinkMe(): void {
this.isLinkMeEnabled = true;
}
disableSkanAttribution(): void {
this.isSkanAttributionEnabled = false;
}
setAttConsentWaitingInterval(attConsentWaitingInterval: number): void {
this.attConsentWaitingInterval = attConsentWaitingInterval;
}
setAttributionCallback(attributionCallback: (attribution: AdjustAttribution) => void): void {
this.attributionCallback = attributionCallback;
}
setEventTrackingSucceededCallback(eventTrackingSucceededCallback: (event: AdjustEventSuccess) => void): void {
this.eventTrackingSucceededCallback = eventTrackingSucceededCallback;
}
setEventTrackingFailedCallback(eventTrackingFailedCallback: (event: AdjustEventFailure) => void): void {
this.eventTrackingFailedCallback = eventTrackingFailedCallback;
}
setSessionTrackingSucceededCallback(sessionTrackingSucceededCallback: (session: AdjustSessionSuccess) => void): void {
this.sessionTrackingSucceededCallback = sessionTrackingSucceededCallback;
}
setSessionTrackingFailedCallback(sessionTrackingFailedCallback: (session: AdjustSessionFailure) => void): void {
this.sessionTrackingFailedCallback = sessionTrackingFailedCallback;
}
setDeferredDeeplinkCallback(deferredDeeplinkCallback: (deeplink: string) => void): void {
this.deferredDeeplinkCallback = deferredDeeplinkCallback;
}
setSkanUpdatedCallback(skanUpdatedCallback: (skanData: AdjustSkanData) => void): void {
this.skanUpdatedCallback = skanUpdatedCallback;
}
private getAttributionCallback(): void {
return this.attributionCallback;
}
private getEventTrackingSucceededCallback(): void {
return this.eventTrackingSucceededCallback;
}
private getEventTrackingFailedCallback(): void {
return this.eventTrackingFailedCallback;
}
private getSessionTrackingSucceededCallback(): void {
return this.sessionTrackingSucceededCallback;
}
private getSessionTrackingFailedCallback(): void {
return this.sessionTrackingFailedCallback;
}
private getDeferredDeeplinkCallback(): void {
return this.deferredDeeplinkCallback;
}
private getSkanUpdatedCallback(): void {
return this.skanUpdatedCallback;
}
private hasAttributionCallback(): void {
return this.attributionCallback !== null;
}
private hasEventTrackingSucceededCallback(): void {
return this.eventTrackingSucceededCallback !== null;
}
private hasEventTrackingFailedCallback(): void {
return this.eventTrackingFailedCallback !== null;
}
private hasSessionTrackingSucceededCallback(): void {
return this.sessionTrackingSucceededCallback !== null;
}
private hasSessionTrackingFailedCallback(): void {
return this.sessionTrackingFailedCallback !== null;
}
private hasDeferredDeeplinkCallback(): void {
return this.deferredDeeplinkCallback !== null;
}
private hasSkanUpdatedCallback(): void {
return this.skanUpdatedCallback !== null;
}
}
export class AdjustEvent {
private eventToken: string;
private revenue: number;
private currency: string;
private productId: string;
private transactionId: string;
private deduplicationId: string;
private purchaseToken: string;
private callbackId: string;
private callbackParameters: string[] = [];
private partnerParameters: string[] = [];
@@ -29,235 +243,24 @@ export class AdjustEvent {
this.partnerParameters.push(value);
}
setTransactionId(transactionId: string) {
setTransactionId(transactionId: string): void {
this.transactionId = transactionId;
}
setCallbackId(callbackId: string) {
setDeduplicationId(deduplicationId: string): void {
this.deduplicationId = deduplicationId;
}
setCallbackId(callbackId: string): void {
this.callbackId = callbackId;
}
}
export class AdjustConfig {
private appToken: string;
private environment: AdjustEnvironment;
private sdkPrefix: string;
private delayStart = 0.0;
private logLevel: AdjustLogLevel = null;
private defaultTracker: string = null;
private urlStrategy: AdjustUrlStrategy = null;
private externalDeviceId: string = null;
private sendInBackground: boolean = null;
private shouldLaunchDeeplink: boolean = null;
private eventBufferingEnabled: boolean = null;
private userAgent: string = null;
private isDeviceKnown: boolean = null;
private needsCost: boolean = null;
private secretId: number = null;
private info1: number = null;
private info2: number = null;
private info3: number = null;
private info4: number = null;
private processName: string = null; // Android only
private preinstallTrackingEnabled: boolean = null; // Android only
private preinstallFilePath: 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 playStoreKidsAppEnabled: boolean = null; // Android only
private linkMeEnabled: boolean = null; // iOS only
private attributionCallback: (attribution: AdjustAttribution) => void = null;
private eventTrackingSucceededCallback: (event: AdjustEventSuccess) => void = null;
private eventTrackingFailedCallback: (event: AdjustEventFailure) => void = null;
private sessionTrackingSucceededCallback: (session: AdjustSessionSuccess) => void = null;
private sessionTrackingFailedCallback: (session: AdjustSessionFailure) => void = null;
private deferredDeeplinkCallback: (uri: string) => void = null;
private conversionValueUpdatedCallback: (conversionValue: number) => void = null;
constructor(appToken: string, environment: AdjustEnvironment) {
this.appToken = appToken;
this.environment = environment;
setProductId(productId: string): void {
this.productId = productId;
}
setAppSecret(secretId: number, info1: number, info2: number, info3: number, info4: number): void {
this.secretId = secretId;
this.info1 = info1;
this.info2 = info2;
this.info3 = info3;
this.info4 = info4;
}
setDelayStart(delayStart: number) {
this.delayStart = delayStart;
}
setLogLevel(logLevel: AdjustLogLevel) {
this.logLevel = logLevel;
}
setDefaultTracker(defaultTracker: string) {
this.defaultTracker = defaultTracker;
}
setExternalDeviceId(externalDeviceId: string) {
this.externalDeviceId = externalDeviceId;
}
setUrlStrategy(urlStrategy: AdjustUrlStrategy) {
this.urlStrategy = urlStrategy;
}
setSendInBackground(sendInBackground: boolean) {
this.sendInBackground = sendInBackground;
}
setShouldLaunchDeeplink(shouldLaunchDeeplink: boolean) {
this.shouldLaunchDeeplink = shouldLaunchDeeplink;
}
setEventBufferingEnabled(eventBufferingEnabled: boolean) {
this.eventBufferingEnabled = eventBufferingEnabled;
}
setCoppaCompliantEnabled(coppaCompliantEnabled: boolean) {
this.coppaCompliantEnabled = coppaCompliantEnabled;
}
setPlayStoreKidsAppEnabled(playStoreKidsAppEnabled: boolean) {
this.playStoreKidsAppEnabled = playStoreKidsAppEnabled;
}
setUserAgent(userAgent: string) {
this.userAgent = userAgent;
}
setDeviceKnown(isDeviceKnown: boolean) {
this.isDeviceKnown = isDeviceKnown;
}
setNeedsCost(needsCost: boolean) {
this.needsCost = needsCost;
}
setProcessName(processName: string) {
this.processName = processName;
}
setPreinstallTrackingEnabled(preinstallTrackingEnabled: boolean) {
this.preinstallTrackingEnabled = preinstallTrackingEnabled;
}
setPreinstallFilePath(preinstallFilePath: string) {
this.preinstallFilePath = preinstallFilePath;
}
setOaidReadingEnabled(enableOaidReading: boolean) {
this.oaidReadingEnabled = enableOaidReading;
}
setAllowiAdInfoReading(allowiAdInfoReading: boolean) {
this.allowiAdInfoReading = allowiAdInfoReading;
}
setAllowIdfaReading(allowIdfaReading: boolean) {
this.allowIdfaReading = allowIdfaReading;
}
setAllowAdServicesInfoReading(allowAdServicesInfoReading: boolean) {
this.allowAdServicesInfoReading = allowAdServicesInfoReading;
}
setLinkMeEnabled(linkMeEnabled: boolean) {
this.linkMeEnabled = linkMeEnabled;
}
setAttributionCallbackListener(attributionCallback: (attribution: AdjustAttribution) => void) {
this.attributionCallback = attributionCallback;
}
setEventTrackingSucceededCallbackListener(eventTrackingSucceededCallback: (event: AdjustEventSuccess) => void) {
this.eventTrackingSucceededCallback = eventTrackingSucceededCallback;
}
setEventTrackingFailedCallbackListener(eventTrackingFailedCallback: (event: AdjustEventFailure) => void) {
this.eventTrackingFailedCallback = eventTrackingFailedCallback;
}
setSessionTrackingSucceededCallbackListener(
sessionTrackingSucceededCallback: (session: AdjustSessionSuccess) => void
) {
this.sessionTrackingSucceededCallback = sessionTrackingSucceededCallback;
}
setSessionTrackingFailedCallbackListener(sessionTrackingFailedCallback: (session: AdjustSessionFailure) => void) {
this.sessionTrackingFailedCallback = sessionTrackingFailedCallback;
}
setDeferredDeeplinkCallbackListener(deferredDeeplinkCallback: (uri: string) => void) {
this.deferredDeeplinkCallback = deferredDeeplinkCallback;
}
setConversionValueUpdatedCallbackListener(conversionValueUpdatedCallback: (conversionValue: number) => void) {
this.conversionValueUpdatedCallback = conversionValueUpdatedCallback;
}
private getAttributionCallback() {
return this.attributionCallback;
}
private getEventTrackingSucceededCallback() {
return this.eventTrackingSucceededCallback;
}
private getEventTrackingFailedCallback() {
return this.eventTrackingFailedCallback;
}
private getSessionTrackingSucceededCallback() {
return this.sessionTrackingSucceededCallback;
}
private getSessionTrackingFailedCallback() {
return this.sessionTrackingFailedCallback;
}
private getDeferredDeeplinkCallback() {
return this.deferredDeeplinkCallback;
}
private getConversionValueUpdatedCallback() {
return this.conversionValueUpdatedCallback;
}
private hasAttributionListener() {
return this.attributionCallback !== null;
}
private hasEventTrackingSucceededListener() {
return this.eventTrackingSucceededCallback !== null;
}
private hasEventTrackingFailedListener() {
return this.eventTrackingFailedCallback !== null;
}
private hasSessionTrackingSucceededListener() {
return this.sessionTrackingSucceededCallback !== null;
}
private hasSessionTrackingFailedListener() {
return this.sessionTrackingFailedCallback !== null;
}
private hasDeferredDeeplinkCallbackListener() {
return this.deferredDeeplinkCallback !== null;
}
private hasConversionValueUpdatedCallbackListener() {
return this.conversionValueUpdatedCallback !== null;
setPurchaseToken(purchaseToken: string): void {
this.purchaseToken = purchaseToken;
}
}
@@ -265,17 +268,15 @@ export class AdjustAppStoreSubscription {
private price: string;
private currency: string;
private transactionId: string;
private receipt: string;
private transactionDate: string;
private salesRegion: string;
private callbackParameters: string[] = [];
private partnerParameters: string[] = [];
constructor(price: string, currency: string, transactionId: string, receipt: string) {
constructor(price: string, currency: string, transactionId: string) {
this.price = price;
this.currency = currency;
this.transactionId = transactionId;
this.receipt = receipt;
}
setTransactionDate(transactionDate: string): void {
@@ -333,11 +334,11 @@ export class AdjustPlayStoreSubscription {
}
export class AdjustThirdPartySharing {
private isEnabled: boolean;
private isEnabled: boolean | null;
private granularOptions: string[] = [];
private partnerSharingSettings: any[] = [];
constructor(isEnabled: boolean) {
constructor(isEnabled: boolean | null) {
this.isEnabled = isEnabled;
}
@@ -384,23 +385,51 @@ export class AdjustAdRevenue {
this.partnerParameters.push(value);
}
setAdImpressionsCount(adImpressionsCount: number) {
setAdImpressionsCount(adImpressionsCount: number): void {
this.adImpressionsCount = adImpressionsCount;
}
setAdRevenueNetwork(adRevenueNetwork: string) {
setAdRevenueNetwork(adRevenueNetwork: string): void {
this.adRevenueNetwork = adRevenueNetwork;
}
setAdRevenueUnit(adRevenueUnit: string) {
setAdRevenueUnit(adRevenueUnit: string): void {
this.adRevenueUnit = adRevenueUnit;
}
setAdRevenuePlacement(adRevenuePlacement: string) {
setAdRevenuePlacement(adRevenuePlacement: string): void {
this.adRevenuePlacement = adRevenuePlacement;
}
}
export class AdjustAppStorePurchase {
private productId: string;
private transactionId: string;
constructor(productId: string, transactionId: string) {
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 class AdjustDeeplink {
private deeplink: string;
constructor(deeplink: string) {
this.deeplink = deeplink;
}
}
export interface AdjustAttribution {
trackerToken: string;
trackerName: string;
@@ -413,7 +442,7 @@ export interface AdjustAttribution {
costType: string;
costAmount: string;
costCurrency: string;
fbInstallReferrer: string; // Android only
fbInstallReferrer: string; // android only
}
export interface AdjustSessionSuccess {
@@ -450,6 +479,19 @@ export interface AdjustEventFailure {
jsonResponse: string;
}
export interface AdjustSkanData {
conversionValue: number;
coarseValue: string;
lockWindow: boolean;
error: string;
}
export interface AdjustPurchaseVerificationResult {
verificationStatus: string;
code: number;
message: string;
}
export enum AdjustEnvironment {
Sandbox = 'sandbox',
Production = 'production',
@@ -465,25 +507,6 @@ export enum AdjustLogLevel {
Suppress = 'SUPPRESS',
}
export enum AdjustUrlStrategy {
India = 'india',
China = 'china',
DataResidencyEU = 'data-residency-eu',
DataResidencyTR = 'data-residency-tr',
DataResidencyUS = 'data-residency-us',
}
export enum AdjustAdRevenueSource {
AdRevenueSourceAppLovinMAX = 'applovin_max_sdk',
AdRevenueSourceMopub = 'mopub',
AdRevenueSourceAdMob = 'admob_sdk',
AdRevenueSourceIronSource = 'ironsource_sdk',
AdRevenueSourceAdMost = "admost_sdk",
AdRevenueSourceUnity = "unity_sdk",
AdRevenueSourceHeliumChartboost = "helium_chartboost_sdk",
AdRevenueSourcePublisher = "publisher_sdk",
}
/**
* @name Adjust
* @description
@@ -499,10 +522,10 @@ export enum AdjustAdRevenueSource {
*
* ...
*
* const config = new AdjustConfig('APP-TOKEN-HERE', AdjustEnvironment.Sandbox);
* config.logLevel = AdjustLogLevel.Verbose;
* // Set other config properties.
* adjust.create(config);
* const adjustConfig = new AdjustConfig('YourAppToken', AdjustEnvironment.Sandbox);
* adjustConfig.logLevel = AdjustLogLevel.Verbose;
* // set other config properties ...
* adjust.initSdk(adjustConfig);
*
* ```
* @interfaces
@@ -511,18 +534,21 @@ export enum AdjustAdRevenueSource {
* AdjustSessionFailure
* AdjustEventSuccess
* AdjustEventFailure
* AdjustSkanData
* AdjustPurchaseVerificationResult
* @classes
* AdjustEvent
* AdjustConfig
* AdjustEvent
* AdjustAppStoreSubscription
* AdjustPlayStoreSubscription
* AdjustThirdPartySharing
* AdjustAdReenue
* AdjustAdRevenue
* AdjustAppStorePurchase
* AdjustPlayStorePurchase
* AdjustDeeplink
* @enums
* AdjustEnvironment
* AdjustLogLevel
* AdjustUrlStrategy
* AdjustAdRevenueSource
*/
@Plugin({
pluginName: 'Adjust',
@@ -533,65 +559,53 @@ export enum AdjustAdRevenueSource {
})
@Injectable()
export class Adjust extends AwesomeCordovaNativePlugin {
/**
* This method initializes Adjust SDK
*
* @param {AdjustConig} config Adjust config object used as starting options
* @param {AdjustConig} adjustConfig Adjust config object used as starting options
*/
@Cordova({ sync: true })
create(config: AdjustConfig): void {}
initSdk(adjustConfig: AdjustConfig): void {}
/**
* This method tracks an event
*
* @param {AdjustEvent} event Adjust event object to be tracked
* @param {AdjustEvent} adjustEvent Adjust event object to be tracked
*/
@Cordova({ sync: true })
trackEvent(event: AdjustEvent): void {}
trackEvent(adjustEvent: AdjustEvent): void {}
/**
* This method tracks App Store subscription
*
* @param {AdjustAppStoreSubscription} subscription Adjust App Store subscription object to be tracked
* @param {AdjustAppStoreSubscription} adjustAppStoreSubscription Adjust App Store subscription object to be tracked
*/
@Cordova({ sync: true })
trackAppStoreSubscription(subscription: AdjustAppStoreSubscription): void {}
trackAppStoreSubscription(adjustAppStoreSubscription: AdjustAppStoreSubscription): void {}
/**
* This method tracks Play Store subscription
*
* @param {AdjustPlayStoreSubscription} subscription Adjust Play Store subscription object to be tracked
* @param {AdjustPlayStoreSubscription} adjustPlayStoreSubscription Adjust Play Store subscription object to be tracked
*/
@Cordova({ sync: true })
trackPlayStoreSubscription(subscription: AdjustPlayStoreSubscription): void {}
trackPlayStoreSubscription(adjustPlayStoreSubscription: AdjustPlayStoreSubscription): void {}
/**
* This method tracks third party sharing choice
*
* @param {AdjustThirdPartySharing} thirdPartySharing Adjust third party sharing object to be tracked
* @param {AdjustThirdPartySharing} adjustThirdPartySharing Adjust third party sharing object to be tracked
*/
@Cordova({ sync: true })
trackThirdPartySharing(thirdPartySharing: AdjustThirdPartySharing): void {}
trackThirdPartySharing(adjustThirdPartySharing: AdjustThirdPartySharing): void {}
/**
* This method tracks ad revenue data
*
* @param {AdjustAdRevenueSource} source Ad revenue source
* @param {string} payload Ad revenue JSON string payload
* @param {AdjustAdRevenue} adjustAdRevenue Adjust ad revenue object
*/
trackAdRevenue(source: AdjustAdRevenueSource, payload: string): void;
/**
* This method tracks ad revenue data
*
* @param {AdjustAdRevenue} adRevenue Adjust ad revenue object
*/
trackAdRevenue(adRevenue: AdjustAdRevenue): void;
// And typescript hides this, so the client will be able call only methods above
@Cordova({ sync: true })
trackAdRevenue(sourceOrAdRevenue: any, payload?: any): void {}
trackAdRevenue(adjustAdRevenue: AdjustAdRevenue): void {}
/**
* This method tracks measurement consent choice
@@ -602,34 +616,53 @@ export class Adjust extends AwesomeCordovaNativePlugin {
trackMeasurementConsent(measurementConsent: boolean): void {}
/**
* This method sets offline mode on or off
*
* @param {boolean} enabled set to true for offline mode on
* This method sets offline mode ON
*/
@Cordova({ sync: true })
setOfflineMode(enabled: boolean): void {}
switchToOfflineMode(): void {}
/**
* This method sets offline mode OFF
*/
@Cordova({ sync: true })
switchBackToOnlineMode(): void {}
/**
* By making this call, the Adjust SDK will try to find if there is any new attribution info inside of the deep link and if any, it will be sent to the Adjust backend.
*
* @param {string} url URL of the deeplink
* @param {AdjustDeeplink} adjustDeeplink AdjustDeeplink instance
*/
@Cordova({ sync: true })
appWillOpenUrl(url: string): void {}
processDeeplink(adjustDeeplink: AdjustDeeplink): void {}
/**
* You can disable/enable the Adjust SDK from tracking by invoking this method
* This method is used to send and potentially resolve shortened deep links
*
* @param {boolean} enabled set to false to disable SDK
* @param {AdjustDeeplink} adjustDeeplink AdjustDeeplink instance containing 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()
processAndResolveDeeplink(adjustDeeplink: AdjustDeeplink): Promise<string> {
return;
}
/**
* This method enables Adjust SDK
*/
@Cordova({ sync: true })
setEnabled(enabled: boolean): void {}
enable(): void {}
/**
* This method disables Adjust SDK
*/
@Cordova({ sync: true })
disable(): void {}
/**
* To send us the push notification token, add the following call to Adjust whenever you get your token in the app or when it gets updated.
* Push tokens are used for Audience Builder and client callbacks, and they are required for the upcoming uninstall tracking feature.
*
* @param {string} pushToken push token value
* @param {string} pushToken Push token value
*/
@Cordova({ sync: true })
setPushToken(pushToken: string): void {}
@@ -651,17 +684,10 @@ export class Adjust extends AwesomeCordovaNativePlugin {
@Cordova({ sync: true })
gdprForgetMe(): void {}
/**
* You can now notify Adjust when a user has exercised their right to stop sharing their data with partners for marketing purposes, but has allowed it to be shared for statistics purposes.
* Calling the following method will instruct the Adjust SDK to communicate the user's choice to disable data sharing to the Adjust backend
*/
@Cordova({ sync: true })
disableThirdPartySharing(): void {}
/**
* Function used to get Google AdId
*
* @returns {Promise<string>} Returns a promise with google AdId value
* @returns {Promise<string>} Returns a promise with Google advertising ID value
*/
@Cordova()
getGoogleAdId(): Promise<string> {
@@ -669,9 +695,9 @@ export class Adjust extends AwesomeCordovaNativePlugin {
}
/**
* If you need to obtain the Amazon Advertising ID, you can make a call to this function.
* If you need to obtain the Amazon Fire Advertising ID, you can make a call to this function.
*
* @returns {Promise<string>} Returns a promise with anazib adv. ID
* @returns {Promise<string>} Returns a promise with Amazon Fire advertising ID
*/
@Cordova()
getAmazonAdId(): Promise<string> {
@@ -688,6 +714,16 @@ export class Adjust extends AwesomeCordovaNativePlugin {
return;
}
/**
* To obtain the IDFV, call this function
*
* @returns {Promise<string>} Returns a promise with IDFV string value
*/
@Cordova()
getIdfv(): Promise<string> {
return;
}
/**
* For every device with your app installed on it, the Adjust backend generates a unique Adjust device identifier (adid).
* In order to obtain this identifier, call this function
@@ -699,12 +735,6 @@ export class Adjust extends AwesomeCordovaNativePlugin {
return;
}
/**
* Instruct to Adjust SDK to check current state of att_status
*/
@Cordova({ sync: true })
checkForNewAttStatus(): void {}
/**
* If you want to access information about a user's current attribution whenever you need it, you can make a call to this function
*
@@ -718,7 +748,7 @@ export class Adjust extends AwesomeCordovaNativePlugin {
/**
* Get the information about version of the SDK used
*
* @returns {Promise<string>} Returns a promise with sdk version information
* @returns {Promise<string>} Returns a promise with SDK version information
*/
@Cordova()
getSdkVersion(): Promise<string> {
@@ -726,56 +756,50 @@ export class Adjust extends AwesomeCordovaNativePlugin {
}
/**
* Method used to add session callback parameters
* Method used to add global callback parameters
*
* @param key key
* @param value value
*/
@Cordova({ sync: true })
addSessionCallbackParameter(key: string, value: string): void {}
addGlobalCallbackParameter(key: string, value: string): void {}
/**
* Remove a specific session callback parameter by passing the desiring key to this method
* Remove a specific global callback parameter by passing the desiring key to this method
*
* @param key key
*/
@Cordova({ sync: true })
removeSessionCallbackParameter(key: string): void {}
removeGlobalCallbackParameter(key: string): void {}
/**
* If all keys and values from the session callback parameters have to be removed, call this method
* If all keys and values from the global callback parameters have to be removed, call this method
*/
@Cordova({ sync: true })
resetSessionCallbackParameters(): void {}
removeGlobalCallbackParameters(): void {}
/**
* Method used to add session partner parameters
* Method used to add global partner parameters
*
* @param key key
* @param value value
*/
@Cordova({ sync: true })
addSessionPartnerParameter(key: string, value: string): void {}
addGlobalPartnerParameter(key: string, value: string): void {}
/**
* Remove a specific session partner parameter by passing the desiring key to this method
* Remove a specific global partner parameter by passing the desiring key to this method
*
* @param key key
*/
@Cordova({ sync: true })
removeSessionPartnerParameter(key: string): void {}
removeGlobalPartnerParameter(key: string): void {}
/**
* If all keys and values from the session partner parameters have to be removed, call this method
* If all keys and values from the global partner parameters have to be removed, call this method
*/
@Cordova({ sync: true })
resetSessionPartnerParameters(): void {}
/**
* This method call will make the Adjust SDK send the initial install session and any events created, if they were not sent after delay start was set and it's delay expired.
*/
@Cordova({ sync: true })
sendFirstPackages(): void {}
removeGlobalPartnerParameters(): void {}
/**
* Request Adjust SDK to show pop up dialog for asking user's consent to be tracked.
@@ -784,17 +808,19 @@ export class Adjust extends AwesomeCordovaNativePlugin {
* @returns {Promise<number>} Returns a promise with user's consent value
*/
@Cordova()
requestTrackingAuthorizationWithCompletionHandler(): Promise<number> {
requestAppTrackingAuthorization(): Promise<number> {
return;
}
/**
* You can update SKAdNetwork conversion value with calling this method
*
* @param {number} conversionValue conversion value for the user
* @param {Promise<string>} Returns a promisse with error information in case error happened
*/
@Cordova({ sync: true })
updateConversionValue(conversionValue: number): void {}
@Cordova()
updateSkanConversionValue(conversionValue: number, coarseValue: string, lockWindow: boolean): Promise<string> {
return;
}
/**
* To obtain the app tracking authorization status in iOS, call this function
@@ -807,12 +833,34 @@ export class Adjust extends AwesomeCordovaNativePlugin {
}
/**
* To obtain the last deep link which has opened your iOS app, call this function
* To obtain the last deep link which has opened your app, call this function
*
* @returns {Promise<string>} Returns a promise with iOS deep link string value
* @returns {Promise<string>} Returns a promise with last opened deep link string value
*/
@Cordova()
getLastDeeplink(): Promise<string> {
return;
}
/**
* This method is used to verify the App Store purchase
*
* @param {AdjustAppStorePurchase} adjustAppStorePurchase Adjust App Store purchase object to be verified
* @returns {Promise<AdjustPurchaseVerificationResult>} Returns a promise with purchase verification outcome
*/
@Cordova()
verifyAppStorePurchase(adjustAppStorePurchase: AdjustAppStorePurchase): Promise<AdjustPurchaseVerificationResult> {
return;
}
/**
* This method is used to verify the Play Store purchase
*
* @param {AdjustPlayStorePurchase} adjustPlayStorePurchase Adjust Play Store purchase object to be verified
* @returns {Promise<AdjustPurchaseVerificationResult>} Returns a promise with purchase verification outcome
*/
@Cordova()
verifyPlayStorePurchase(adjustPlayStorePurchase: AdjustPlayStorePurchase): Promise<AdjustPurchaseVerificationResult> {
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

@@ -63,6 +63,16 @@ export interface BluetoothClassicSerialPortDevice {
})
@Injectable()
export class BluetoothClassicSerialPort extends AwesomeCordovaNativePlugin {
/**
* Initialize
*/
@Cordova({
platforms: ['Android', 'iOS'],
})
initialize(): Promise<any> {
return;
}
/**
* Connect to a Bluetooth device
*

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

@@ -99,7 +99,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
* 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;
@@ -130,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
*
@@ -663,6 +651,39 @@ 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;
}
/**
* Deletes all types of files which are preloaded for SDK features like custom in-app templates, app functions and variables etc.
*
* @param expiredOnly {boolean} - to clear only assets which will not be needed further for inapps
* @returns {Promise<any>}
*/
@Cordova()
clearFileResources(expiredOnly: boolean): Promise<any> {
return;
}
/**
* Fetches In Apps from server.
*
* @returns {Promise<any>}
*/
@Cordova()
fetchInApps(): Promise<any> {
return;
}
/*******************
* Session
******************/
@@ -836,7 +857,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
markReadInboxMessageForId(messageId: string): Promise<any> {
return;
}
/**
* Call this to Mark Read Inbox Messages For Ids in bulk
*
@@ -857,7 +878,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
dismissInbox(): Promise<any> {
return;
}
/**
* Call this to Mark Push Inbox Notification Viewed Event for Id
*
@@ -1079,7 +1100,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
/****************************
* Product Experiences methods
****************************/
/**
*
* Uploads variables to the server. Requires Development/Debug build/configuration.
@@ -1113,7 +1134,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* Create variables.
* Create variables.
* @returns {Promise<any>}
* @param {object} variables The JSON Object specifying the varibles to be created.
*/
@@ -1122,6 +1143,16 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
return;
}
/**
* Create File Variable
* @returns {Promise<any>}
* @param {string} variable The String specifying the name of file varible to be created.
*/
@Cordova()
defineFileVariable(variable: string): Promise<any> {
return;
}
/**
* Get a variable or a group for the specified name.
* @param {string} name - name.
@@ -1131,7 +1162,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
getVariable(name: string): Promise<any> {
return;
}
/**
* Get all variables via a JSON object.
* @returns {Promise<any>}
@@ -1160,6 +1191,177 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
return;
}
/**
* Called when the value of the file variable is downloaded and ready
* @param {name} string the name of the variable
* @returns {Promise<any>}
*/
@Cordova()
onFileValueChanged(name: string): Promise<any> {
return;
}
/**
* Adds a callback to be invoked when variables are initialised with server values. Will be called only once on app start, or when added if server values are already received
* @returns {Promise<any>}
*/
@Cordova()
onOneTimeVariablesChanged(): Promise<any> {
return;
}
/**
* Adds a callback to be invoked when no files need to be downloaded or all downloads have been completed. It is called each time new values are fetched and downloads are completed.
* @returns {Promise<any>}
*/
@Cordova()
onVariablesChangedAndNoDownloadsPending(): Promise<any> {
return;
}
/**
* Adds a callback to be invoked only once for when new values are fetched and downloaded
* @returns {Promise<any>}
*/
@Cordova()
onceVariablesChangedAndNoDownloadsPending(): Promise<any> {
return;
}
/****************************
* Custom Templates methods
****************************/
/**
*
* Uploads Custom in-app templates and app functions to the server. Requires Development/Debug build/configuration.
* @returns {Promise<any>}
*/
@Cordova()
syncCustomTemplates(): Promise<any> {
return;
}
/**
* Uploads Custom in-app templates and app functions to the server.
* @param {boolean} isProduction Provide `true` if templates must be sync in Productuon build/configuration.
* @returns {Promise<any>}
*
*
* Note: This is NO-OP in Android
*/
@Cordova()
syncCustomTemplatesInProd(isProduction: boolean): Promise<any> {
return;
}
/**
* Notify the SDK that an active custom template is dismissed. The active custom template is considered to be
* visible to the user until this method is called. Since the SDK can show only one InApp message at a time, all
* other messages will be queued until the current one is dismissed.
* @param {string} templateName The name of the active template
* @returns {Promise<any>}
*/
@Cordova()
customTemplateSetDismissed(templateName: string): Promise<any> {
return;
}
/**
* Notify the SDK that an active custom template is presented to the user.
* @param {string} templateName The name of the active template
* @returns {Promise<any>}
*/
@Cordova()
customTemplateSetPresented(templateName: string): Promise<any> {
return;
}
/**
* Trigger a custom template action argument by name.
*
* @param {string} templateName The name of an active template for which the action is defined
* @param {string} argName The action argument na
* @returns {Promise<any>}
*/
@Cordova()
customTemplateRunAction(templateName: string, argName: string): Promise<any> {
return;
}
/**
* Retrieve a string argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
@Cordova()
customTemplateGetStringArg(templateName: string, argName: string): Promise<any> {
return;
}
/**
* Retrieve a number argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
@Cordova()
customTemplateGetNumberArg(templateName: string, argName: string): Promise<any> {
return;
}
/**
* Retrieve a boolean argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
@Cordova()
customTemplateGetBooleanArg(templateName: string, argName: string): Promise<any> {
return;
}
/**
* Retrieve a file argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
@Cordova()
customTemplateGetFileArg(templateName: string, argName: string): Promise<any> {
return;
}
/**
* Retrieve an object argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
@Cordova()
customTemplateGetObjectArg(templateName: string, argName: string): Promise<any> {
return;
}
/**
* Get a string representation of an active's template context with information about all arguments.
* @param {string} templateName The name of an active template
* @returns {Promise<any>}
*/
@Cordova()
customTemplateContextToString(templateName: string): Promise<any> {
return;
}
/****************************
* Android 13 Push Primer
****************************/
@@ -1194,7 +1396,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
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

@@ -1,12 +1,5 @@
import { Injectable } from '@angular/core';
import {
Plugin,
Cordova,
CordovaProperty,
CordovaInstance,
InstanceProperty,
IonicNativePlugin,
} from '@ionic-native/core';
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
export enum FirebaseModelStatus {
@@ -93,7 +86,7 @@ export class FirebaseModelInput {
platforms: ['iOS'], // Array of platforms supported, example: ['Android', 'iOS']
})
@Injectable()
export class FirebaseModel extends IonicNativePlugin {
export class FirebaseModel extends AwesomeCordovaNativePlugin {
/**
* This function configure the Firebase TFLite model and downloads.
* @param {string} arg1 Name of the TFLite model which is uploaded in the Firebase console

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

@@ -0,0 +1,54 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
/**
* @name IRoot
* @description
* Use this plugin to add an extra layer of security for your app by detecting if the device was rooted (on android) or jailbreaked (on iOS).
*
* @usage
* ```typescript
* import { IRoot } from '@awesome-cordova-plugins/i-root';
*
* constructor(private iRoot: IRoot) { }
*
* ...
*
* this.iRoot.isRooted()
* .then((res: boolean) => console.log('is rooted?', res))
* .catch((error: string) => console.error(error));
*
* this.iRoot.isRootedWithBusyBox()
* .then((res: boolean) => console.log('is rooted?', res))
* .catch((error: string) => console.error(error));
* ```
*/
@Plugin({
pluginName: 'IRoot',
plugin: 'cordova-plugin-IRoot',
pluginRef: 'IRoot',
repo: 'https://github.com/WuglyakBolgoink/cordova-plugin-IRoot',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class IRoot extends AwesomeCordovaNativePlugin {
/**
* Checks if the device is rooted/jailbroken.
* @return {Promise<boolean>} Resolves to true if the device is Jailbroken/rooted, otherwise false.
*/
@Cordova()
isRooted(): Promise<boolean> {
return;
}
/**
* Android only! Checks if the device was rooted via busybox.
* @return {Promise<boolean>} Resolves to true if the device is Jailbroken/rooted, otherwise false.
*/
@Cordova({
platforms: ['android'],
})
isRootedWithBusyBox(): Promise<boolean> {
return;
}
}

View File

@@ -125,7 +125,8 @@ export type InAppBrowserEventType =
| 'exit'
| 'beforeload'
| 'message'
| 'customscheme';
| 'customscheme'
| string
export interface InAppBrowserEvent extends Event {
/** the event name */
@@ -245,19 +246,6 @@ export class InAppBrowserObject {
});
}
/**
* A method that allows you to listen to events happening in the browser.
*
* @param event {string} Name of the event
* @returns {Observable<InAppBrowserEvent>} Returns back an observable that will listen to the event on subscribe, and will stop listening to the event on unsubscribe.
*/
@InstanceCheck()
on(event: string): Observable<InAppBrowserEvent> {
return new Observable<InAppBrowserEvent>((observer: Observer<InAppBrowserEvent>) => {
this._objectInstance.addEventListener(event, observer.next.bind(observer));
return () => this._objectInstance.removeEventListener(event, observer.next.bind(observer));
});
}
}
/**

View File

@@ -248,6 +248,9 @@ export class IAPError {
* - **macOS** version 10
* - **Xbox One**
* - (and any platform supporting Microsoft's UWP)
* - **cordova-plugin-purchase** version 12 or lower.
* @see https://github.com/j3k0/cordova-plugin-purchase/wiki/HOWTO:-Migrate-to-v13 For cordova-plugin-purchase versions
* 13 and higher, use awesome cordova plugin InAppPurchase3 instead
* @usage
* ```typescript
* import { InAppPurchase2 } from '@awesome-cordova-plugins/in-app-purchase-2/ngx';

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@ import { Injectable } from '@angular/core';
* @name Intercom
* @description
* This is a plugin that allows your Ionic app to use Intercom for iOS and/or Intercom for Android.
* Follow the offical documentation to setup this plugin correctly: https://developers.intercom.com/docs/cordova-phonegap-configuration
* Follow the offical documentation to setup this plugin correctly: https://developers.intercom.com/installing-intercom/cordova-phonegap/installation
* @usage
* ```typescript
* import { Intercom } from '@awesome-cordova-plugins/intercom/ngx';
@@ -31,196 +31,282 @@ import { Injectable } from '@angular/core';
@Injectable()
export class Intercom extends AwesomeCordovaNativePlugin {
/**
* Register a identified user
*
* @param options {any} Options
* @returns {Promise<any>} Returns a promise
* Login a user with identifiable information.
* Valid identifiers are `userId` and `email` which must be set in an object.
* @param options The object that contains the user's `email` or `userId`.
*/
@Cordova()
registerIdentifiedUser(options: any): Promise<any> {
loginUserWithUserAttributes(options: IntercomLoginUserAttributes): Promise<void> {
return;
}
/**
* Register a unidentified user
*
* @param options {any} Options
* @returns {Promise<any>} Returns a promise
* Login a unidentified user.
* This is a user that doesn't have any identifiable information such as a `userId` or `email`.
*/
@Cordova()
registerUnidentifiedUser(options: any): Promise<any> {
loginUnidentifiedUser(options: { [key: string]: number | string }): Promise<void> {
return;
}
/**
* This resets the Intercom integration's cache of your user's identity and wipes the slate clean.
*
* @returns {Promise<any>} Returns a promise
* Log a user out of their Intercom session.
* This will dismiss any Intercom UI and clear Intercom's local cache.
*/
@Cordova()
reset(): Promise<any> {
logout(): Promise<void> {
return;
}
/**
* Set `hash` string if you are using Identity Verification for your Intercom workspace.
* @note This should be called before any user login takes place.
*
* @returns {Promise<any>} Returns a promise
* Identity Verification helps to make sure that conversations between you and your users are kept private, and that one
* user can't impersonate another. If Identity Verification is enabled for your app, Intercom will sign all requests
* going to the Intercom servers with tokens. It requires your mobile application to have its own server which authenticates the app's users,
* and which can store a secret.
*
* @see More information on Identity Verification can be found {@link https://developers.intercom.com/installing-intercom/cordova-phonegap/identity-verification/ here}
* @param secureHash A HMAC digest of the user ID or email.
*/
@Cordova()
logout(): Promise<any> {
setUserHash(secureHash: string): Promise<void> {
return;
}
/**
* Update a user in Intercom with data specified in an object.
*
* @param secureHash {string}
* @param secureData {any}
* @returns {Promise<any>} Returns a promise
* @deprecated Use setUserHash instead as of Intercom Cordova 4.0.0 and higher https://github.com/intercom/intercom-cordova/blob/master/CHANGELOG.md#400-2017-08-29
* @param attributes The object with the user data.
*/
@Cordova()
setSecureMode(secureHash: string, secureData: any): Promise<any> {
updateUser(attributes: IntercomUserAttributes): Promise<void> {
return;
}
/**
* Log an event with a given name and metaData.
* You can log events in Intercom based on user actions in your app.
*
* @param secureHash {string}
* @returns {Promise<any>} Returns a promise
* @param eventName The name of the event.
* @param metaData Metadata Objects support a few simple types that Intercom can present on your behalf,
* @see https://developers.intercom.com/docs/references/rest-api/api.intercom.io/Data-Events/data_event/ Intercom API docs
*/
@Cordova()
setUserHash(secureHash: string): Promise<any> {
logEvent(eventName: string, metaData: IntercomEventMetaData): Promise<void> {
return;
}
/**
*
* @param attributes {any}
* @returns {Promise<any>} Returns a promise
* Present Intercom as a modal overlay in your app.
* The `Home` space is displayed by default.
*/
@Cordova()
updateUser(attributes: any): Promise<any> {
present(): Promise<void> {
return;
}
/**
* Present an Intercom `space` as a modal overlay in your app
* @see {@link Space} for a list of valid spaces.
*
* @param eventName {string}
* @param metaData {any}
* @returns {Promise<any>} Returns a promise
* @param space The Intercom space to be presented.
*/
@Cordova()
logEvent(eventName: string, metaData: any): Promise<any> {
presentSpace(space: IntercomSpace): Promise<void> {
return;
}
/**
* Present Intercom content.
*
* @returns {Promise<any>} Returns a promise
* An IntercomContent object.
*/
@Cordova()
displayMessenger(): Promise<any> {
presentContent(content: IntercomPresentContent): Promise<void> {
return;
}
/**
* Present the message composer.
*
* @returns {Promise<any>} Returns a promise
* @param initialMessage An optional message that is used to pre-populate the composer with some text.
*/
@Cordova()
displayMessageComposer(): Promise<any> {
presentMessageComposer(initialMessage: string): Promise<void> {
return;
}
/**
* Fetch all Help Center collections.
*
* @param initialMessage {string}
* @returns {Promise<any>} Returns a promise
* @return An array of HelpCenterCollection objects.
*/
@Cordova()
displayMessageComposerWithInitialMessage(initialMessage: string): Promise<any> {
fetchHelpCenterCollections(): Promise<IntercomHelpCenterCollectionContent[]> {
return;
}
/**
* Fetch the contents of a Help Center collection.
*
* @returns {Promise<any>} Returns a promise
* @param collectionId The ID of the Help Center collection.
*
* @return A HelpCenterCollectionContent object.
*/
@Cordova()
displayConversationsList(): Promise<any> {
fetchHelpCenterCollection(collectionId: string): Promise<IntercomHelpCenterCollectionContent> {
return;
}
/**
* Search the Help Center.
*
* @returns {Promise<any>} Returns a promise
* @param searchTerm The search term.
*
* @return An array of HelpCenterArticleSearchResult objects.
*/
@Cordova()
displayHelpCenter(): Promise<any> {
searchHelpCenter(searchTerm: string): Promise<IntercomHelpCenterArticleSearchResult> {
return;
}
/**
*
* @returns {Promise<any>} Returns a promise
* Fetch the current number of unread conversations for the logged in User.
* @return The number of unread conversations.
*/
@Cordova()
unreadConversationCount(): Promise<any> {
unreadConversationCount(): Promise<number> {
return;
}
/**
* Show or hide the Intercom Launcher in your app.
* @note The Launcher is hidden by default.
*
* @param visibility {string}
* @returns {Promise<any>} Returns a promise
* @param visibility A boolean indicating if the Intercom Launcher should be visible.
*/
@Cordova()
setLauncherVisibility(visibility: string): Promise<any> {
setLauncherVisibility(visibility: IntercomVisibility): Promise<void> {
return;
}
/**
* Show or hide the Intercom InApp Messages in your app.
* @note All InApp Messages are visible by default.
*
* @param visibility {string}
* @returns {Promise<any>} Returns a promise
* @param visibility A boolean indicating if the InApps should be visible.
*/
@Cordova()
setInAppMessageVisibility(visibility: string): Promise<any> {
setInAppMessageVisibility(visibility: IntercomVisibility): Promise<void> {
return;
}
/**
*
* @returns {Promise<any>} Returns a promise
* Hide all Intercom windows that are currently displayed.
* This will hide the Messenger, Help Center, Articles, and in-product messages (eg. Mobile Carousels, chats, and posts).
*/
@Cordova()
hideMessenger(): Promise<any> {
hideIntercom(): Promise<void> {
return;
}
/**
*
* @returns {Promise<any>} Returns a promise
* Set a fixed bottom padding for in app messages and the Intercom Launcher.
* @param bottomPadding The size of the bottom padding in points.
*/
@Cordova()
registerForPush(): Promise<any> {
setBottomPadding(bottomPadding: number): Promise<void> {
return;
}
/**
*
* @param token {string}
* @returns {Promise<any>} Returns a promise
* Register for push notifications
* @note This function is only available for iOS.
*/
@Cordova()
sendPushTokenToIntercom(token: string): Promise<any> {
registerForPush(): Promise<void> {
return;
}
/**
* Send a device token to Intercom to enable push notifications to be sent to the User.
* @param token The device token to send to the server.
*
* @param carouselId {string}
* @returns {Promise<any>} Returns a promise
* @note This function is only available for Android.
*/
@Cordova()
sendPushTokenToIntercom(token: string): Promise<void> {
return;
}
/**
* @deprecated
*/
@Cordova()
registerIdentifiedUser(options: any): Promise<void> {
return;
}
/**
* @deprecated
*/
@Cordova()
registerUnidentifiedUser(options: any): Promise<void> {
return;
}
/**
* @deprecated
*/
@Cordova()
reset(): Promise<void> {
return;
}
/**
* @deprecated
*/
@Cordova()
displayMessenger(): Promise<void> {
return;
}
/**
* @deprecated
*/
@Cordova()
displayHelpCenter(): Promise<void> {
return;
}
/**
* @deprecated
*/
@Cordova()
displayMessageComposerWithInitialMessage(initialMessage: string): Promise<void> {
return;
}
/**
* @deprecated
*/
@Cordova()
displayMessageComposer(): Promise<void> {
return;
}
/**
* @deprecated
*/
@Cordova()
displayHelpCenterCollections(collectionIds: string[]): Promise<any> {
return;
}
/**
* @deprecated
*/
@Cordova()
displayCarousel(carouselId: string): Promise<any> {
@@ -228,9 +314,7 @@ export class Intercom extends AwesomeCordovaNativePlugin {
}
/**
*
* @param articleId {string}
* @returns {Promise<any>} Returns a promise
* @deprecated
*/
@Cordova()
displayArticle(articleId: string): Promise<any> {
@@ -238,22 +322,80 @@ export class Intercom extends AwesomeCordovaNativePlugin {
}
/**
*
* @param bottomPadding {string | number}
* @returns {Promise<any>} Returns a promise
*/
@Cordova()
setBottomPadding(bottomPadding: string | number): Promise<any> {
return;
}
/**
* Programmatically display a Survey
* @param surveyId {string}
* @returns {Promise<any>} Returns a promise
* @deprecated
*/
@Cordova()
displaySurvey(surveyId: string): Promise<any> {
return;
}
}
export enum IntercomVisibility {
VISIBLE = 'VISIBLE',
GONE = 'GONE',
}
export enum IntercomSpace {
Home = 'HOME',
HelpCenter = 'HELP_CENTER',
Messages = 'MESSAGES',
Tickets = 'TICKETS',
}
export interface IntercomHelpCenterCollectionContent {
collectionId: string;
title: string;
summary: string;
articles: any[];
sections: any[];
}
export enum IntercomPresentContentType {
Article = 'ARTICLE',
Carousel = 'CAROUSEL',
Survey = 'SURVEY',
HelpCenterCollections = 'HELP_CENTER_COLLECTIONS',
Conversation = 'CONVERSATION',
}
export type IntercomPresentContent =
| { id: string; type: IntercomPresentContentType }
| { ids: string[]; type: IntercomPresentContentType };
export interface IntercomUserAttributes {
email?: string;
user_id?: string;
name?: string;
phone?: string;
language_override?: string;
signed_up_at?: string;
unsubscribed_from_emails?: string;
custom_attributes?: string;
companies?: string[];
}
export interface IntercomEventMetaData {
created_at: string;
type?: string;
metadata?: any;
[key: string]: number | string | { [key: string]: number | string };
}
export type IntercomLoginUserAttributes =
| {
email: string;
}
| {
userId: string;
}
| {
email: string;
userId: string;
};
export interface IntercomHelpCenterArticleSearchResult {
articleId: string;
title: string;
summary: string;
matchingSnippet: 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

@@ -0,0 +1,44 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
/**
* @name Network Permission
* @description
* Requires Cordova plugin: cordova-plugin-network-permission. For more info, please see the [Network permission plugin docs](https://github.com/j5int/cordova-plugin-network-permission).
* @usage
* ```typescript
* import { NetworkPermission } from '@awesome-cordova-plugins/network-permission/ngx';
*
* constructor(private networkPermission: NetworkPermission) { }
*
* ...
*
* this.networkPermission.requestLocalNetworkPermission()
* .then(() => {
* console.log('Permission was granted successful');
* })
* .catch(() => {
* console.log('Permission declined');
* });
*
* ```
*/
@Plugin({
pluginName: 'NetworkPermission',
plugin: 'cordova-plugin-network-permission',
pluginRef: 'localNetworkPermission',
repo: 'https://github.com/j5int/cordova-plugin-network-permission',
platforms: ['iOS'],
})
@Injectable()
export class NetworkPermission extends AwesomeCordovaNativePlugin {
/**
* Request local network permission
*
* @returns {Promise<boolean>}
*/
@Cordova()
requestLocalNetworkPermission(): Promise<boolean> {
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/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,144 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
export interface Intent {
// Defaults to currently running activity
activityClass?: string;
// Defaults to currently running package
activityPackage?: string;
// Defaults to ACTION_VIEW
action?: string;
// Defaults to FLAG_ACTIVITY_NEW_TASK + FLAG_ACTIVITY_CLEAR_TOP
flags?: number;
categories?: string[];
data?: string;
extras?: { [key: string]: any };
}
export interface Shortcut {
id: string;
shortLabel?: string;
longLabel?: string;
iconFromResource?: string;
iconBitmap?: string;
intent?: Intent;
}
/**
* @name ShortcutsAndroid
* @description
* Use this plugin to create shortcuts in Android. Use this plugin to handle Intents on your application.
* For more information on Android App Shortcuts: https://developer.android.com/guide/topics/ui/shortcuts.html
* For more information on Android Intents: https://developer.android.com/guide/components/intents-filters.html
*
* The work that went into creating this plug-in was inspired by the existing plugins: cordova-plugin-shortcut and cordova-plugin-webintent2.
*
* @usage
* Please do refer to the original plugin's repo for detailed usage. The usage example here might not be sufficient.
*
* ```typescript
* import { ShortcutsAndroid } from '@ionic-native/shortcuts-android/ngx';
*
*
* constructor(private shortcutsAndroid: ShortcutsAndroid) { }
*
* ...
*
* this.shortcutsAndroid.supportsDynamic()
* .then((supported: boolean) => console.log(`Dynamic shortcuts are ${supported ? '' : 'not'} supported`))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'ShortcutsAndroid',
plugin: 'cordova-plugin-shortcuts-android',
pluginRef: 'plugins.Shortcuts',
repo: 'https://github.com/avargaskun/cordova-plugin-shortcuts-android',
platforms: ['Android'],
})
@Injectable()
export class ShortcutsAndroid extends AwesomeCordovaNativePlugin {
/**
* Checking if Dynamic Shortcuts are supported
*
* Dynamic shortcuts require SDK 25 or later. Use supportsDynamic to check whether the current device meets those requirements.
* @return {Promise<boolean>} returns a promise that resolves with a boolean that indicates if dynamic shortcuts are supported
*/
@Cordova()
supportsDynamic(): Promise<boolean> {
return;
}
/**
* Checking if Pinned Shortcuts are supported
*
* Pinned shortcuts require SDK 26 or later. Use supportsPinned to check whether the current device meets those requirements.
* @return {Promise<boolean>} returns a promise that resolves with a boolean that indicates if pinned shortcuts are supported
*/
@Cordova()
supportsPinned(): Promise<boolean> {
return;
}
/**
* Setting the application Dynamic Shortcuts
*
* Use `setDynamic` to set the Dynamic Shortcuts for the application, all at once. The shortcuts provided as a parameter will override any existing shortcut. Use an empty array to clear out existing shortcuts.
* @return {Promise<void>}
* @param shortcuts
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
setDynamic(shortcuts: Shortcut[]): Promise<void> {
return;
}
/**
* Adding a Pinned Shortcut to the launcher
*
* Use `addPinned` to add a new Pinned Shortcut to the launcher.
* @param {Shortcut[]} [shortcut] Array of shortcuts to add.
* @return {Promise<void>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
addPinned(shortcut: Shortcut): Promise<void> {
return;
}
/**
* Querying current Intent
*
* Use `getIntent` to get the Intent that was used to launch the current instance of the Cordova activity.
* @return {Promise<Intent>} returns the Intent that was used to launch the current instance of the Cordova activity
*/
@Cordova()
getIntent(): Promise<Intent> {
return;
}
/**
* Subscribe to new Intents
*
* Use onNewIntent to trigger your code every time a new Intent is sent to your Cordova activity. Note that in some conditions this subscription may not be executed.
* @return {Observable<Intent>} emits the new Intent each time a shortcut is activated
*/
@Cordova({
observable: true,
})
onNewIntent(): Observable<Intent> {
return;
}
}

View File

@@ -0,0 +1,269 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, AwesomeCordovaNativePlugin, CordovaProperty } from '@awesome-cordova-plugins/core';
import { Observable, fromEventPattern } from 'rxjs';
import { filter, map } from 'rxjs/operators';
/**
* @name SocketsTcp
* @description
* This plugin provides TCP client sockets for Android and iOS.
* @usage
* ```typescript
* import { SocketsTcp } from '@awesome-cordova-plugins/sockets-tcp/ngx';
*
* constructor(private socketsTcp: SocketsTcp) { }
*
* ...
*
* this.platform.ready().then(() => {
* this.socketsTcp.getSockets()
* .then((result: any) => console.log(res))
* .catch((error: any) => console.error(error));
* })
*
* ```
*/
@Plugin({
pluginName: 'SocketsTcp',
plugin: 'cordova-plugin-chrome-apps-sockets-tcp',
pluginRef: 'chrome.sockets.tcp',
repo: 'https://github.com/KoenLav/cordova-plugin-chrome-apps-sockets-tcp',
install: 'ionic cordova plugin add https://github.com/KoenLav/cordova-plugin-chrome-apps-sockets-tcp',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class SocketsTcp extends AwesomeCordovaNativePlugin {
@CordovaProperty()
onReceive: SocketTcpEvent;
@CordovaProperty()
onReceiveError: SocketTcpEvent;
/**
* @param properties
*/
@Cordova()
create(properties: any): Promise<SocketTcpInfo> {
return;
}
/**
*
* @param socketId
* @param properties
*/
@Cordova()
update(socketId: number, properties: any): Promise<any> {
return;
}
/**
*
* @param socketId
* @param paused
*/
@Cordova()
setPaused(socketId: number, paused: boolean): Promise<any> {
return;
}
/**
*
* @param socketId
* @param enabled
* @param delay
*/
@Cordova()
setKeepAlive(socketId: number, enabled: boolean, delay: any): Promise<any> {
return;
}
/**
*
* @param socketId
* @param noDelay
*/
@Cordova({
platforms: ['Android'],
})
setNoDelay(socketId: number, noDelay: any): Promise<any> {
return;
}
/**
*
* @param socketId
* @param peerAddress
* @param peerPort
*/
@Cordova()
connect(socketId: number, peerAddress: string, peerPort: number): Promise<any> {
return;
}
/**
*
* @param socketId
*/
@Cordova()
disconnect(socketId: number): Promise<any> {
return;
}
/**
*
* @param socketId
* @param options
*/
@Cordova()
secure(socketId: number, options: any): Promise<any> {
return;
}
/**
*
* @param socketId
* @param data
*/
@Cordova()
send(socketId: number, data: ArrayBuffer): Promise<any> {
return;
}
/**
*
* @param socketId
*/
@Cordova()
close(socketId: number): Promise<any> {
return;
}
/**
*
* @param socketId
*/
@Cordova()
getInfo(socketId: number): Promise<any> {
return;
}
/**
*
*/
@Cordova()
getSockets(): Promise<SocketTcpInfo[]> {
return;
}
/**
*
* @param socketId
* @param options
*/
@Cordova()
pipeToFile(socketId: number, options: any): Promise<any> {
return;
}
/**
* Watch all incoming data event
*/
public onReceiveData(): Observable<SocketTcpDataInfo> {
return fromEventPattern(
(eventHandler) => this.onReceive.addListener(eventHandler),
(errorEventHandler) => this.onReceive.removeListener(errorEventHandler)
).pipe(
map((socketUdpDataInfo: SocketTcpDataInfo) => {
socketUdpDataInfo.dataAsSting = socketUdpDataInfo.data
? new TextDecoder().decode(socketUdpDataInfo.data).trim()
: null;
return socketUdpDataInfo;
})
);
}
/**
* Watch socket incoming data
* @param socketId
*/
public onReceiveDataBySocketId(socketId: number) {
return this.onReceiveData().pipe(filter((socketDataInfo) => socketDataInfo.socketId === socketId));
}
/**
* Watch all sockets incoming error event listener
*/
public onReceiveDataError(): Observable<SocketTcpErrorInfo> {
return fromEventPattern(
(eventHandler) => this.onReceiveError.addListener(eventHandler),
(errorEventHandler) => this.onReceiveError.removeListener(errorEventHandler)
);
}
/**
* Watch socket incoming error event listener
* @param socketId
*/
public onReceiveDataErrorBySocketId(socketId: number) {
return this.onReceiveDataError().pipe(filter((socketDataInfo) => socketDataInfo.socketId === socketId));
}
}
export interface SocketTcpInfo {
socketId: number;
persistent?: boolean;
bufferSize?: number;
connected?: boolean;
name?: string;
paused?: boolean;
localAddress?: string;
localPort?: number;
peerAddress?: string;
peerPort?: number;
[key: string]: any;
}
export interface SocketTcpDataInfo {
socketId: number;
uri: string;
bytesRead: number;
data: ArrayBuffer;
dataAsSting: string;
}
export interface SocketTcpErrorInfo {
message: string;
resultCode: SocketTcpErrorResultCode;
socketId: number;
e?: boolean;
}
export enum SocketTcpErrorResultCode {
SocketClosedByServer = 1,
ConnectionTimedOut = 2,
GenericSocketError = 3,
SocketNotConnected = 4,
ConnectionRefused = 5,
}
interface SocketTcpEvent {
addListener(cb: (...args: any[]) => void): void;
removeListener(cb: (...args: any[]) => void): void;
fire(): void;
hasListener(): boolean;
hasListeners(): boolean;
// Stub
addRules(): void;
// Stub
getRules(): void;
// Stub
removeRules(): void;
}

View File

@@ -0,0 +1,266 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, AwesomeCordovaNativePlugin, CordovaProperty } from '@awesome-cordova-plugins/core';
import { Observable, fromEventPattern } from 'rxjs';
import { filter, map } from 'rxjs/operators';
/**
* @name SocketsUdp
* @description
* This plugin provides UDP sockets for Android and iOS.
* @usage
* ```typescript
* import { SocketsUdp } from '@awesome-cordova-plugins/sockets-udp/ngx';
*
* constructor(private socketsUdp: SocketsUdp) { }
*
* ...
*
* this.platform.ready().then(() => {
* this.socketsUdp.getSockets()
* .then((result: any) => console.log(res))
* .catch((error: any) => console.error(error));
* })
*
* ```
*/
@Plugin({
pluginName: 'SocketsUdp',
plugin: 'cordova-plugin-chrome-apps-sockets-udp',
pluginRef: 'chrome.sockets.udp',
repo: 'https://github.com/herdwatch-apps/cordova-plugin-chrome-apps-sockets-udp',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class SocketsUdp extends AwesomeCordovaNativePlugin {
@CordovaProperty()
onReceive: SocketUdpEvent;
@CordovaProperty()
onReceiveError: SocketUdpEvent;
/**
*
* @param properties
*/
@Cordova()
create(properties: { persistent?: number; name?: string; bufferSize?: number }): Promise<number> {
return;
}
/**
*
* @param socketId
* @param properties
*/
@Cordova()
update(socketId: number, properties: any): Promise<any> {
return;
}
/**
*
* @param socketId
* @param paused
*/
@Cordova()
setPaused(socketId: number, paused: boolean): Promise<any> {
return;
}
/**
*
* @param socketId
* @param address
* @param port
*/
@Cordova()
bind(socketId: number, address: string, port: number): Promise<any> {
return;
}
/**
*
* @param socketId
* @param data
* @param address
* @param port
*/
@Cordova()
send(socketId: number, data: ArrayBuffer, address: string, port: number): Promise<any> {
return;
}
/**
*
* @param socketId
*/
@Cordova()
close(socketId: number): Promise<void> {
return;
}
/**
*
* @param socketId
*/
@Cordova()
getInfo(socketId: number): Promise<SocketUdpInfo> {
return;
}
/**
*
*/
@Cordova()
getSockets(): Promise<SocketUdpInfo[]> {
return;
}
/**
*
* @param socketId
* @param enabled
*/
@Cordova()
setBroadcast(socketId: number, enabled: any): Promise<any> {
return;
}
/**
*
* @param socketId
* @param address
*/
@Cordova()
joinGroup(socketId: number, address: number): Promise<any> {
return;
}
/**
*
* @param socketId
* @param address
*/
@Cordova()
leaveGroup(socketId: number, address: string): Promise<any> {
return;
}
/**
*
* @param socketId
* @param ttl
*/
@Cordova()
setMulticastTimeToLive(socketId: number, ttl: any): Promise<any> {
return;
}
/**
*
* @param socketId
* @param enabled
*/
@Cordova()
setMulticastLoopbackMode(socketId: number, enabled: boolean): Promise<any> {
return;
}
/**
*
* @param socketId
*/
@Cordova()
getJoinedGroups(socketId: number): Promise<any> {
return;
}
/**
* Watch all incoming data event
*/
public onReceiveData(): Observable<SocketUdpDataInfo> {
return fromEventPattern(
(eventHandler) => this.onReceive.addListener(eventHandler),
(errorEventHandler) => this.onReceive.removeListener(errorEventHandler)
).pipe(
map((socketUdpDataInfo: SocketUdpDataInfo) => {
socketUdpDataInfo.dataAsString = socketUdpDataInfo.data
? new TextDecoder().decode(socketUdpDataInfo.data).trim()
: null;
return socketUdpDataInfo;
})
);
}
/**
* Watch socket incoming data
* @param socketId
*/
public onReceiveDataBySocketId(socketId: number): Observable<SocketUdpDataInfo> {
return this.onReceiveData().pipe(filter((socketDataInfo) => socketDataInfo.socketId === socketId));
}
/**
* Watch all sockets incoming error event listener
*/
public onReceiveDataError(): Observable<SocketUdpErrorInfo> {
return fromEventPattern(
(eventHandler) => this.onReceiveError.addListener(eventHandler),
(errorEventHandler) => this.onReceiveError.removeListener(errorEventHandler)
);
}
/**
* Watch socket incoming error event listener
* @param socketId
*/
public onReceiveDataErrorBySocketId(socketId: number): Observable<SocketUdpErrorInfo> {
return this.onReceiveDataError().pipe(filter((socketUdpErrorInfo) => socketUdpErrorInfo.socketId === socketId));
}
}
export interface SocketUdpInfo {
socketId: number;
persistent?: boolean;
bufferSize?: number;
name?: string;
paused?: boolean;
localAddress?: string;
localPort?: number;
[key: string]: any;
}
export interface SocketUdpDataInfo {
socketId: number;
data: ArrayBuffer;
dataAsString: string;
remoteAddress: string;
remotePort: number;
}
export interface SocketUdpErrorInfo {
message: string;
resultCode: number;
socketId: number;
}
interface SocketUdpEvent {
addListener(cb: (...args: any[]) => void): void;
removeListener(cb: (...args: any[]) => void): void;
fire(): void;
hasListener(): boolean;
hasListeners(): boolean;
// Stub
addRules(): void;
// Stub
getRules(): void;
// Stub
removeRules(): void;
}

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

@@ -66,22 +66,6 @@ export class StatusBar extends AwesomeCordovaNativePlugin {
})
styleLightContent() {}
/**
* Use the blackTranslucent statusbar (light text, for dark backgrounds).
*/
@Cordova({
sync: true,
})
styleBlackTranslucent() {}
/**
* Use the blackOpaque statusbar (light text, for dark backgrounds).
*/
@Cordova({
sync: true,
})
styleBlackOpaque() {}
/**
* Set the status bar to a specific named color. Valid options:
* black, darkGray, lightGray, white, gray, red, green, blue, cyan, yellow, magenta, orange, purple, brown.

View File

@@ -1,10 +1,10 @@
import { Injectable } from '@angular/core';
import { Cordova, CordovaFunctionOverride, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Observable } from 'rxjs';
export interface ThreeDeeTouchQuickAction {
/**
* Type that can be used in the onHomeIconPressed callback
* Type that can be used in the registerQuickActionListener callback
*/
type?: string;
@@ -105,7 +105,7 @@ export interface ThreeDeeTouchForceTouch {
*
* this.threeDeeTouch.configureQuickActions(actions);
*
* this.threeDeeTouch.onHomeIconPressed().subscribe(
* this.threeDeeTouch.registerQuickActionListener().subscribe(
* (payload) => {
* // returns an object that is the button you presed
* console.log('Pressed the ${payload.title} button')
@@ -120,9 +120,9 @@ export interface ThreeDeeTouchForceTouch {
*/
@Plugin({
pluginName: 'ThreeDeeTouch',
plugin: 'cordova-plugin-3dtouch',
plugin: '@herdwatch/cordova-plugin-3dtouch',
pluginRef: 'ThreeDeeTouch',
repo: 'https://github.com/EddyVerbruggen/cordova-plugin-3dtouch',
repo: 'https://github.com/herdwatch-apps/cordova-plugin-3dtouch',
platforms: ['iOS'],
})
@Injectable()
@@ -169,8 +169,10 @@ export class ThreeDeeTouch extends AwesomeCordovaNativePlugin {
*
* @returns {Observable<any>} returns an observable that notifies you when he user presses on the home screen icon
*/
@CordovaFunctionOverride()
onHomeIconPressed(): Observable<any> {
@Cordova({
observable: true,
})
registerQuickActionListener(): Observable<ThreeDeeTouchQuickAction> {
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>}