Compare commits

..
50 Commits
Author SHA1 Message Date
Daniel Sogl a2f5acb48c chore(): update changelog 2019-07-12 20:27:59 +02:00
Daniel Sogl 3a3e9338e7 5.10.0 2019-07-12 20:27:53 +02:00
8badd2943a feat(anyline): add plugin (#3101)
closes: #3074
Co-authored-by: niconaso
2019-07-12 20:26:22 +02:00
Daniel Sogl 9a46ab1a6d chore(build): remove "default" 2019-07-12 20:12:54 +02:00
Daniel Sogl 952a5c8e11 Merge remote-tracking branch 'origin/master' 2019-07-12 20:11:42 +02:00
Daniel Sogl 2a995d94ec chore(build): upgrate to node 12 and gulp 4 2019-07-12 20:11:26 +02:00
Daniel Sogl 941d394da9 chore(build): upgrate to node 12 and gulp 4 2019-07-12 20:09:33 +02:00
Daniel Sogl cc1f25c38c chore(package): bump deps 2019-07-12 11:45:30 +02:00
nrikijiandDaniel Sogl 7aa08109ce fix(line-login): add missing email prop (#3098) 2019-07-12 11:41:35 +02:00
reymavandDaniel Sogl 8ce541ff9a fix(barcode-scanner): add missing shouldAutorotate property (#3096)
* Disable or enable Autorotate camera into barcode scanner plugin

* fix asterisks in jsdoc must be aligned
2019-07-12 11:40:52 +02:00
Patrick BußmannandDaniel Sogl 75190f5166 docs(deeplinks): Added informations about AASA (iOS) and Asset Links (Android) to documentation (#3094) 2019-07-12 11:40:36 +02:00
SrinidhiandDaniel Sogl c697139089 doc(unvired-cordova-sdk): doc update (#3090)
* feat(unvired-cordova-sdk): add plugin

* style(unvired-cordova-sdk): fix style

* doc(unvired-cordova-sdk): add doc

* doc(unvired-cordova-sdk): update doc

* style(unvired-cordova-sdk): fix style

* doc(unvired-cordova-sdk): fix readme errors

* doc(unvired-cordova-sdk): update doc
2019-07-12 11:40:19 +02:00
Anton ZagrebelnyandDaniel Sogl 717f6864f3 fix(biocatch): added android platform and updated repo (#3086) 2019-07-12 11:39:42 +02:00
Marius BackesandDaniel Sogl e9fa3ee6f2 feat(theme-detection): add plugin (#3082) 2019-07-12 11:39:23 +02:00
Daniel Sogl 2b684fadb1 chore(): update changelog 2019-07-01 19:34:57 +02:00
Daniel Sogl 7f2da56a28 5.9.0 2019-07-01 19:34:23 +02:00
Daniel Sogl 4a546bd11a 5.8.0 2019-07-01 19:34:20 +02:00
Daniel Sogl a0f5254988 Revert "chore(build): use node 12"
This reverts commit 8521b32306.
2019-07-01 19:32:24 +02:00
Daniel Sogl 8521b32306 chore(build): use node 12 2019-07-01 19:30:30 +02:00
Daniel Sogl d52278b2d1 chore(package): bump deps 2019-07-01 19:29:32 +02:00
TimoandDaniel Sogl 2fadb6b0e1 fix(firebase): add missing decorator to clearAllNotifications (#3059) 2019-07-01 19:27:03 +02:00
Lars MikkelsenandDaniel Sogl ad11ed21ac refactor(core): allow rxjs 5.5 as peer dependency (#3068)
This would allow Ionic v3 apps to use Ionic Native v5 wrappers.
2019-07-01 19:26:20 +02:00
WasenshiandDaniel Sogl 5857b9654c feat(calendar): add deleteEventById function (#3075)
* Update index.ts

Please add this function

* Update index.ts
2019-07-01 19:24:40 +02:00
jing-zhouandDaniel Sogl 92d5764e01 fix(alipay): use correct pluginRef (#3081) 2019-07-01 19:20:22 +02:00
Marius BackesandDaniel Sogl a4db080786 feat(sum-up): add plugin (#3080) 2019-07-01 19:19:44 +02:00
Szymon StasikandDaniel Sogl 54ac2bfdf5 feat(diagnostic): add DENIED_ONCE introduced by diagnostic v5 (#3071)
cordova.plugins.diagnostic@5.0.0 introduced breaking change moving from `DENIED` to `DENIED_ONCE` and make the statuses semantically equal for iOS and Android. For backward compatibility `DENIED` is untouched in this PR but marked as deprecated
2019-07-01 19:18:11 +02:00
SrinidhiandDaniel Sogl 9274083b24 feat(unvired-cordova-sdk): add plugin (#3061)
* feat(unvired-cordova-sdk): add plugin

* style(unvired-cordova-sdk): fix style
2019-07-01 19:17:38 +02:00
Cam WiegertandGitHub d04396e631 chore(scripts): add installVariables to docs-json output (#3079) 2019-06-28 14:23:28 -05:00
perry c4b4584d2d couchbase depreciation warning 2019-06-19 11:02:40 -05:00
Eliran ElnasiandDaniel Sogl 1fc09098fe fix(in-app-purchase-2): add missing option to register function (#3063)
* Update TS type for register() method

It should accept also a list of IAPProductOptions

* Update index.ts
2019-06-17 14:52:19 +02:00
Zahid MahmoodandDaniel Sogl b217bdb62a docs(launch-review): add missing bracket (#3062) 2019-06-15 08:14:48 +02:00
Daniel Sogl 09ca1a1843 chore(package): bump deps 2019-06-10 20:12:32 +02:00
hanatharesh2712andDaniel Sogl 6cbb226ed2 feat(sms-retriever): add plugin (#3052)
* created index.ts file for sms retriver plugin wrapper for ionic native

created index.ts file for sms retriver plugin wrapper for ionic native
Plugin name : cordova-plugin-sms-retriever-manager

* resolved tslint errors

resolved tslint errors

* Update index.ts

* Update index.ts
2019-06-10 20:04:43 +02:00
Jean-Christophe HoeltandDaniel Sogl ed80933b6c feat(in-app-purchase-2): add documentation (#3055)
Ported to typescript from the repo's README and API documentation.
2019-06-10 20:04:26 +02:00
Gyula IsoóandDaniel Sogl 300d7c229c fix(music-control): use correct input type (#3054) 2019-06-10 20:03:34 +02:00
HatemandDaniel Sogl 43442ac4ea feat(apple-wallet): support plugin version 3.0 (#3053)
BREAKING: Requires `cordova-apple-wallet@3.0`
2019-06-10 20:00:44 +02:00
Szymon StasikandDaniel Sogl 12f2782fef feat(diagnostic): add requestRemoteNotificationsAuthorization method (#3051)
solves #3050

while diagnostic plugin docs may be confusing, the `requestRemoteNotificationsAuthorization(successCallback, errorCallback, types, omitRegistration)` signature is available in the sources:

https://github.com/dpa99c/cordova-diagnostic-plugin/blob/0fac4a59d1f246c872c05f513b09f0e9c93abb51/www/ios/diagnostic.notifications.js#L162
2019-06-10 19:55:26 +02:00
Daniel Sogl a586734b92 chore(): update changelog 2019-06-03 07:09:54 +02:00
Daniel Sogl f58183260d 5.7.0 2019-06-03 07:09:06 +02:00
Daniel Sogl a3c49fd17a chore(package): bump deps 2019-06-03 07:08:38 +02:00
Daniel Sogl 6ee94b93ba refactor(core): set rxjs version to 6.5
BREAKING: rxjs@6.5 is required
2019-06-03 07:06:55 +02:00
Anup SharmaandDaniel Sogl a0ec1252e0 feat(onesignal): add missing "setExternalUserId" and "removeExternalUserId" functions (#3049)
* Adding missing functions to index.ts file

The functions were missing, Please refer to the issue #2909 
https://github.com/ionic-team/ionic-native/issues/2909

* Updated comments

Updated comments which were failing tslint test

* removed trailing whitespace

removed trailing whitespace
2019-06-03 06:56:36 +02:00
Michael FornaroandDaniel Sogl dfb0aa3d5d feat(device-accounts): add "getPermissionsByType" function (#3048) 2019-06-03 06:56:23 +02:00
Adam DurenandDaniel Sogl 312c126cc8 docs(firebase-messaging): update docs to support requestPermission forceShow and getToken tokenType options (#3047) 2019-06-03 06:56:00 +02:00
Robert CoieandDaniel Sogl b79c8b1ea0 feat(ocr): add plugin (#3044) 2019-06-03 06:55:49 +02:00
Robert CoieandDaniel Sogl 49e81cc414 feat(document-scanner): add plugin (#3043) 2019-06-03 06:55:40 +02:00
Jeff JulianandDaniel Sogl 2942ebfae4 feat(blinkid): added support for card overlay (#3041) 2019-06-03 06:55:30 +02:00
Jean-Christophe HoeltandDaniel Sogl 4ae35cba9a feat(in-app-purchase-2): update TypeScript definitions (#3037) 2019-06-03 06:55:17 +02:00
Daniel PereiraandDaniel Sogl bb7b516c50 feat(full-screen-image): add plugin (#3026)
* feat(full-screen-image): add plugin

* Update index.ts
2019-06-03 06:55:00 +02:00
pranav9kandDaniel Sogl c0b092b242 feat(biometric-wrapper): add plugin (#3025) 2019-06-03 06:54:50 +02:00
33 changed files with 5312 additions and 1119 deletions
+92 -23
View File
@@ -1,3 +1,72 @@
# [5.10.0](https://github.com/ionic-team/ionic-native/compare/v5.9.0...v5.10.0) (2019-07-12)
### Bug Fixes
* **barcode-scanner:** add missing shouldAutorotate property ([#3096](https://github.com/ionic-team/ionic-native/issues/3096)) ([8ce541f](https://github.com/ionic-team/ionic-native/commit/8ce541f))
* **biocatch:** added android platform and updated repo ([#3086](https://github.com/ionic-team/ionic-native/issues/3086)) ([717f686](https://github.com/ionic-team/ionic-native/commit/717f686))
* **line-login:** add missing email prop ([#3098](https://github.com/ionic-team/ionic-native/issues/3098)) ([7aa0810](https://github.com/ionic-team/ionic-native/commit/7aa0810))
### Features
* **anyline:** add plugin ([#3101](https://github.com/ionic-team/ionic-native/issues/3101)) ([8badd29](https://github.com/ionic-team/ionic-native/commit/8badd29)), closes [#3074](https://github.com/ionic-team/ionic-native/issues/3074)
* **theme-detection:** add plugin ([#3082](https://github.com/ionic-team/ionic-native/issues/3082)) ([e9fa3ee](https://github.com/ionic-team/ionic-native/commit/e9fa3ee))
# [5.9.0](https://github.com/ionic-team/ionic-native/compare/v5.8.0...v5.9.0) (2019-07-01)
### Bug Fixes
* **alipay:** use correct pluginRef ([#3081](https://github.com/ionic-team/ionic-native/issues/3081)) ([92d5764](https://github.com/ionic-team/ionic-native/commit/92d5764))
* **firebase:** add missing decorator to clearAllNotifications ([#3059](https://github.com/ionic-team/ionic-native/issues/3059)) ([2fadb6b](https://github.com/ionic-team/ionic-native/commit/2fadb6b))
* **in-app-purchase-2:** add missing option to register function ([#3063](https://github.com/ionic-team/ionic-native/issues/3063)) ([1fc0909](https://github.com/ionic-team/ionic-native/commit/1fc0909))
### Features
* **calendar:** add deleteEventById function ([#3075](https://github.com/ionic-team/ionic-native/issues/3075)) ([5857b96](https://github.com/ionic-team/ionic-native/commit/5857b96))
* **diagnostic:** add DENIED_ONCE introduced by diagnostic v5 ([#3071](https://github.com/ionic-team/ionic-native/issues/3071)) ([54ac2bf](https://github.com/ionic-team/ionic-native/commit/54ac2bf))
* **sum-up:** add plugin ([#3080](https://github.com/ionic-team/ionic-native/issues/3080)) ([a4db080](https://github.com/ionic-team/ionic-native/commit/a4db080))
* **unvired-cordova-sdk:** add plugin ([#3061](https://github.com/ionic-team/ionic-native/issues/3061)) ([9274083](https://github.com/ionic-team/ionic-native/commit/9274083))
# [5.8.0](https://github.com/ionic-team/ionic-native/compare/v5.7.0...v5.8.0) (2019-06-10)
### Bug Fixes
* **music-control:** use correct input type ([#3054](https://github.com/ionic-team/ionic-native/issues/3054)) ([300d7c2](https://github.com/ionic-team/ionic-native/commit/300d7c2))
### Features
* **apple-wallet:** support plugin version 3.0 ([#3053](https://github.com/ionic-team/ionic-native/issues/3053)) ([43442ac](https://github.com/ionic-team/ionic-native/commit/43442ac))
* **diagnostic:** add requestRemoteNotificationsAuthorization method ([#3051](https://github.com/ionic-team/ionic-native/issues/3051)) ([12f2782](https://github.com/ionic-team/ionic-native/commit/12f2782)), closes [#3050](https://github.com/ionic-team/ionic-native/issues/3050) [/github.com/dpa99c/cordova-diagnostic-plugin/blob/0fac4a59d1f246c872c05f513b09f0e9c93abb51/www/ios/diagnostic.notifications.js#L162](https://github.com//github.com/dpa99c/cordova-diagnostic-plugin/blob/0fac4a59d1f246c872c05f513b09f0e9c93abb51/www/ios/diagnostic.notifications.js/issues/L162)
* **in-app-purchase-2:** add documentation ([#3055](https://github.com/ionic-team/ionic-native/issues/3055)) ([ed80933](https://github.com/ionic-team/ionic-native/commit/ed80933))
* **sms-retriever:** add plugin ([#3052](https://github.com/ionic-team/ionic-native/issues/3052)) ([6cbb226](https://github.com/ionic-team/ionic-native/commit/6cbb226))
# [5.7.0](https://github.com/ionic-team/ionic-native/compare/v5.6.1...v5.7.0) (2019-06-03)
### Features
* **biometric-wrapper:** add plugin ([#3025](https://github.com/ionic-team/ionic-native/issues/3025)) ([c0b092b](https://github.com/ionic-team/ionic-native/commit/c0b092b))
* **blinkid:** added support for card overlay ([#3041](https://github.com/ionic-team/ionic-native/issues/3041)) ([2942ebf](https://github.com/ionic-team/ionic-native/commit/2942ebf))
* **device-accounts:** add "getPermissionsByType" function ([#3048](https://github.com/ionic-team/ionic-native/issues/3048)) ([dfb0aa3](https://github.com/ionic-team/ionic-native/commit/dfb0aa3))
* **document-scanner:** add plugin ([#3043](https://github.com/ionic-team/ionic-native/issues/3043)) ([49e81cc](https://github.com/ionic-team/ionic-native/commit/49e81cc))
* **full-screen-image:** add plugin ([#3026](https://github.com/ionic-team/ionic-native/issues/3026)) ([bb7b516](https://github.com/ionic-team/ionic-native/commit/bb7b516))
* **in-app-purchase-2:** update TypeScript definitions ([#3037](https://github.com/ionic-team/ionic-native/issues/3037)) ([4ae35cb](https://github.com/ionic-team/ionic-native/commit/4ae35cb))
* **ocr:** add plugin ([#3044](https://github.com/ionic-team/ionic-native/issues/3044)) ([b79c8b1](https://github.com/ionic-team/ionic-native/commit/b79c8b1))
* **onesignal:** add missing "setExternalUserId" and "removeExternalUserId" functions ([#3049](https://github.com/ionic-team/ionic-native/issues/3049)) ([a0ec125](https://github.com/ionic-team/ionic-native/commit/a0ec125)), closes [#2909](https://github.com/ionic-team/ionic-native/issues/2909)
## [5.6.1](https://github.com/ionic-team/ionic-native/compare/v5.6.0...v5.6.1) (2019-05-27)
@@ -70,18 +139,21 @@
### Features
* updating device account wrapper with maintained fork with android 8.0 compatibility ([354af9f](https://github.com/ionic-team/ionic-native/commit/354af9f))
* **google-play-games-services:** add getPlayerScore function ([#2949](https://github.com/ionic-team/ionic-native/issues/2949)) ([767d3b3](https://github.com/ionic-team/ionic-native/commit/767d3b3))
* **in-app-purchase-2:** add manageSubscriptions() ([#2980](https://github.com/ionic-team/ionic-native/issues/2980)) ([f874185](https://github.com/ionic-team/ionic-native/commit/f874185))
* **in-app-purchase-2:** add missing property ([#2961](https://github.com/ionic-team/ionic-native/issues/2961)) ([029f82f](https://github.com/ionic-team/ionic-native/commit/029f82f))
* **nativegeocoder:** update plugin to v3.2.0 ([#2958](https://github.com/ionic-team/ionic-native/issues/2958)) ([4de49c3](https://github.com/ionic-team/ionic-native/commit/4de49c3))
* **purchases:** add new plugin for purchases ([#2940](https://github.com/ionic-team/ionic-native/issues/2940)) ([39be275](https://github.com/ionic-team/ionic-native/commit/39be275))
* updating device account wrapper with maintained fork with android 8.0 compatibility ([354af9f](https://github.com/ionic-team/ionic-native/commit/354af9f))
# [5.3.0](https://github.com/ionic-team/ionic-native/compare/v5.2.0...v5.3.0) (2019-03-19)
* Revert "refactor(template): update Inject decorator" ([d827db2](https://github.com/ionic-team/ionic-native/commit/d827db2))
### Bug Fixes
* **scripts:** check for TypeDoc tags when selecting plugin class ([#2963](https://github.com/ionic-team/ionic-native/issues/2963)) ([06654af](https://github.com/ionic-team/ionic-native/commit/06654af))
@@ -97,9 +169,6 @@
* **scripts:** add docs-json script ([#2947](https://github.com/ionic-team/ionic-native/issues/2947)) ([b0dea6d](https://github.com/ionic-team/ionic-native/commit/b0dea6d))
* Revert "refactor(template): update Inject decorator" ([d827db2](https://github.com/ionic-team/ionic-native/commit/d827db2))
### BREAKING CHANGES
* This reverts commit c5ae6362d7771b62ae35a6b8ddc6e866aa9964a9.
@@ -183,14 +252,14 @@
### Features
* add analytics-firebase plugin ([e374b52](https://github.com/ionic-team/ionic-native/commit/e374b52))
* **adjust:** add adjust sdk plugin ([#2872](https://github.com/ionic-team/ionic-native/issues/2872)) ([9e6705d](https://github.com/ionic-team/ionic-native/commit/9e6705d))
* **admob:** add plugin ([#2864](https://github.com/ionic-team/ionic-native/issues/2864)) ([707ce1c](https://github.com/ionic-team/ionic-native/commit/707ce1c))
* **analytics-firebase:** add plugin ([#2862](https://github.com/ionic-team/ionic-native/issues/2862)) ([5df3de7](https://github.com/ionic-team/ionic-native/commit/5df3de7))
* **audio-management:** add plugin for audio streams ([#2877](https://github.com/ionic-team/ionic-native/issues/2877)) ([34ecd29](https://github.com/ionic-team/ionic-native/commit/34ecd29))
* **baidu-push:** add plugin ([#2838](https://github.com/ionic-team/ionic-native/issues/2838)) ([c3de8df](https://github.com/ionic-team/ionic-native/commit/c3de8df))
* **blinkid:** add plugin ([#2833](https://github.com/ionic-team/ionic-native/issues/2833)) ([8e405cc](https://github.com/ionic-team/ionic-native/commit/8e405cc))
* **firebase:** add clearAllNotifications method ([#2867](https://github.com/ionic-team/ionic-native/issues/2867)) ([7c46d8c](https://github.com/ionic-team/ionic-native/commit/7c46d8c))
* add analytics-firebase plugin ([e374b52](https://github.com/ionic-team/ionic-native/commit/e374b52))
* **blinkid:** add plugin ([#2833](https://github.com/ionic-team/ionic-native/issues/2833)) ([8e405cc](https://github.com/ionic-team/ionic-native/commit/8e405cc))
* **gao-de-location:** add plugin ([#2857](https://github.com/ionic-team/ionic-native/issues/2857)) ([e2b25de](https://github.com/ionic-team/ionic-native/commit/e2b25de))
* **in-app-browser:** add 'beforeload' as option ([#2863](https://github.com/ionic-team/ionic-native/issues/2863)) ([d33bcb0](https://github.com/ionic-team/ionic-native/commit/d33bcb0))
@@ -514,10 +583,6 @@
### Bug Fixes
* build errors ([f70eaea](https://github.com/ionic-team/ionic-native/commit/f70eaea))
* fix lint ([b36a1f9](https://github.com/ionic-team/ionic-native/commit/b36a1f9))
* fix more lint errors ([0b3d299](https://github.com/ionic-team/ionic-native/commit/0b3d299))
* fix rxjs 6 imports ([e0b0687](https://github.com/ionic-team/ionic-native/commit/e0b0687))
* **android-fingerprint-auth:** ensure ERRORS array is defined ([#2508](https://github.com/ionic-team/ionic-native/issues/2508)) ([714114d](https://github.com/ionic-team/ionic-native/commit/714114d))
* **background-geolocation:** watchLocationMode returns observable ([#2547](https://github.com/ionic-team/ionic-native/issues/2547)) ([3f8a6f2](https://github.com/ionic-team/ionic-native/commit/3f8a6f2))
* **calendar:** Fixes createCalendar parameter typing ([84e0aa1](https://github.com/ionic-team/ionic-native/commit/84e0aa1))
@@ -526,7 +591,6 @@
* **ibeacon:** correct Type {Region} in some params ([#2453](https://github.com/ionic-team/ionic-native/issues/2453)) ([300db62](https://github.com/ionic-team/ionic-native/commit/300db62))
* **in-app-purchase-2:** fix ready method signature ([#2043](https://github.com/ionic-team/ionic-native/issues/2043)) ([a018381](https://github.com/ionic-team/ionic-native/commit/a018381))
* **linting:** Fixing misc linting errors that typedoc complains about ([#2476](https://github.com/ionic-team/ionic-native/issues/2476)) ([d3c2859](https://github.com/ionic-team/ionic-native/commit/d3c2859))
* fix tealium jsdoc ([f34b6e6](https://github.com/ionic-team/ionic-native/commit/f34b6e6))
* **native-geocoder:** set response type to an array ([#2505](https://github.com/ionic-team/ionic-native/issues/2505)) ([defb276](https://github.com/ionic-team/ionic-native/commit/defb276))
* **onesignal:** make params optional ([#2507](https://github.com/ionic-team/ionic-native/issues/2507)) ([e6db281](https://github.com/ionic-team/ionic-native/commit/e6db281))
* **onesignal:** update OSPermissionState interface ([#2561](https://github.com/ionic-team/ionic-native/issues/2561)) ([fc088f8](https://github.com/ionic-team/ionic-native/commit/fc088f8))
@@ -535,6 +599,11 @@
* **stripe:** fixed casing of postal code param ([#2520](https://github.com/ionic-team/ionic-native/issues/2520)) ([d6a9ed1](https://github.com/ionic-team/ionic-native/commit/d6a9ed1))
* **themeable-browser:** allow hidden and clear cache ([a4cc7f7](https://github.com/ionic-team/ionic-native/commit/a4cc7f7))
* **v5-builder:** stop transforming "declare" classes ([#2503](https://github.com/ionic-team/ionic-native/issues/2503)) ([6662234](https://github.com/ionic-team/ionic-native/commit/6662234))
* build errors ([f70eaea](https://github.com/ionic-team/ionic-native/commit/f70eaea))
* fix lint ([b36a1f9](https://github.com/ionic-team/ionic-native/commit/b36a1f9))
* fix more lint errors ([0b3d299](https://github.com/ionic-team/ionic-native/commit/0b3d299))
* fix rxjs 6 imports ([e0b0687](https://github.com/ionic-team/ionic-native/commit/e0b0687))
* fix tealium jsdoc ([f34b6e6](https://github.com/ionic-team/ionic-native/commit/f34b6e6))
* **web-intent:** fix options param ([#2450](https://github.com/ionic-team/ionic-native/issues/2450)) ([23b760b](https://github.com/ionic-team/ionic-native/commit/23b760b))
* **web-intent:** registerBroadcastReceiver as Observable ([#2491](https://github.com/ionic-team/ionic-native/issues/2491)) ([47f7397](https://github.com/ionic-team/ionic-native/commit/47f7397))
@@ -623,9 +692,9 @@
* **one-signal:** add clearOneSignalNotifications function ([fc0338a](https://github.com/ionic-team/ionic-native/commit/fc0338a))
* **plugin:** Add google nearby plugin ([eb1bcdd](https://github.com/ionic-team/ionic-native/commit/eb1bcdd))
* **plugin:** add iOS File Picker ([571df3a](https://github.com/ionic-team/ionic-native/commit/571df3a))
* **plugin:** add Microdoft App Center Analytics plugin ([b65946b](https://github.com/ionic-team/ionic-native/commit/b65946b))
* **plugin:** add Microdoft App Center Analytics plugin ([7a5bee9](https://github.com/ionic-team/ionic-native/commit/7a5bee9))
* **plugin:** add Microdoft App Center Analytics plugin ([84c9bfb](https://github.com/ionic-team/ionic-native/commit/84c9bfb))
* **plugin:** add Microdoft App Center Analytics plugin ([b65946b](https://github.com/ionic-team/ionic-native/commit/b65946b))
* **plugin:** add Microsoft App Center Crashes plugin ([44e0e24](https://github.com/ionic-team/ionic-native/commit/44e0e24))
* **plugin:** add Microsoft App Center Push plugin ([cdabebd](https://github.com/ionic-team/ionic-native/commit/cdabebd))
* **plugin:** add OpenALPR plugin ([e27fbf4](https://github.com/ionic-team/ionic-native/commit/e27fbf4))
@@ -1147,8 +1216,8 @@ renamed to `FileTransfer`. Also, `TransferObject` class has been renamed to `Fil
### Features
* **keychain:** add Keychain plugin ([#1420](https://github.com/ionic-team/ionic-native/issues/1420)) ([16dc71a](https://github.com/ionic-team/ionic-native/commit/16dc71a))
* add IonicNativePlugin base class ([#1425](https://github.com/ionic-team/ionic-native/issues/1425)) ([17366a2](https://github.com/ionic-team/ionic-native/commit/17366a2))
* **keychain:** add Keychain plugin ([#1420](https://github.com/ionic-team/ionic-native/issues/1420)) ([16dc71a](https://github.com/ionic-team/ionic-native/commit/16dc71a))
@@ -1517,12 +1586,12 @@ renamed to `FileTransfer`. Also, `TransferObject` class has been renamed to `Fil
### Bug Fixes
* add clearAllNotifications() ([8c021bc](https://github.com/ionic-team/ionic-native/commit/8c021bc))
* **battery-status:** add missing pluginRef ([3da0efe](https://github.com/ionic-team/ionic-native/commit/3da0efe))
* **core:** fix exception in CordovaProperty ([#998](https://github.com/ionic-team/ionic-native/issues/998)) ([cb29363](https://github.com/ionic-team/ionic-native/commit/cb29363)), closes [#992](https://github.com/ionic-team/ionic-native/issues/992)
* **core:** fix plugin check ([da7a370](https://github.com/ionic-team/ionic-native/commit/da7a370))
* **googlemaps:** fix GoogleMapsLaLngBounds ([c3127d3](https://github.com/ionic-team/ionic-native/commit/c3127d3)), closes [#972](https://github.com/ionic-team/ionic-native/issues/972)
* **plugin:** adds subscribe() and unsubscribe() ([94025a7](https://github.com/ionic-team/ionic-native/commit/94025a7))
* add clearAllNotifications() ([8c021bc](https://github.com/ionic-team/ionic-native/commit/8c021bc))
### Features
@@ -1680,8 +1749,8 @@ renamed to `FileTransfer`. Also, `TransferObject` class has been renamed to `Fil
### Bug Fixes
* add return ([3fdc4a8](https://github.com/ionic-team/ionic-native/commit/3fdc4a8))
* **card-io:** fix typo in options ([e6700a3](https://github.com/ionic-team/ionic-native/commit/e6700a3))
* add return ([3fdc4a8](https://github.com/ionic-team/ionic-native/commit/3fdc4a8))
* **globalization:** add missing parameter to numberToString function ([1072ab1](https://github.com/ionic-team/ionic-native/commit/1072ab1)), closes [#835](https://github.com/ionic-team/ionic-native/issues/835)
* **headercolor:** solve typo in usage and chore ([bab2971](https://github.com/ionic-team/ionic-native/commit/bab2971))
@@ -1934,6 +2003,7 @@ renamed to `FileTransfer`. Also, `TransferObject` class has been renamed to `Fil
### Bug Fixes
* remove CanvasCamera plugin ([c75f898](https://github.com/ionic-team/ionic-native/commit/c75f898))
* **base64togallery:** fixes callbacks ([#513](https://github.com/ionic-team/ionic-native/issues/513)) ([1db1374](https://github.com/ionic-team/ionic-native/commit/1db1374))
* **diagnostic:** Add DENIED_ALWAYS to permissionStatus, also some code formatting ([9d573a9](https://github.com/ionic-team/ionic-native/commit/9d573a9))
* **diagnostic:** Fix diagnostic objects ([cb176aa](https://github.com/ionic-team/ionic-native/commit/cb176aa))
@@ -1947,7 +2017,6 @@ renamed to `FileTransfer`. Also, `TransferObject` class has been renamed to `Fil
* **mixpanel:** Make eventProperties optional ([#501](https://github.com/ionic-team/ionic-native/issues/501)) ([51364f8](https://github.com/ionic-team/ionic-native/commit/51364f8))
* **ng1:** fail gracefully when angular 1 promises can't be retrieved ([d135dc2](https://github.com/ionic-team/ionic-native/commit/d135dc2))
* **ng1:** grab injector from app. [#451](https://github.com/ionic-team/ionic-native/issues/451) ([2dc68a4](https://github.com/ionic-team/ionic-native/commit/2dc68a4))
* remove CanvasCamera plugin ([c75f898](https://github.com/ionic-team/ionic-native/commit/c75f898))
* **social-sharing:** shareViaEmail now resolves/rejects when not providing optional args ([c76de34](https://github.com/ionic-team/ionic-native/commit/c76de34))
* **social-sharing:** various fixes ([#520](https://github.com/ionic-team/ionic-native/issues/520)) ([4f97164](https://github.com/ionic-team/ionic-native/commit/4f97164))
@@ -2024,11 +2093,11 @@ renamed to `FileTransfer`. Also, `TransferObject` class has been renamed to `Fil
### Bug Fixes
* add the reject function at the expected errorIndex position in the args array ([#436](https://github.com/ionic-team/ionic-native/issues/436)) ([4e87ac7](https://github.com/ionic-team/ionic-native/commit/4e87ac7))
* **camera-preview:** changes implementation to match Cordova plugin ([#441](https://github.com/ionic-team/ionic-native/issues/441)) ([55ba65a](https://github.com/ionic-team/ionic-native/commit/55ba65a))
* **file:** fixes exclusive option ([#459](https://github.com/ionic-team/ionic-native/issues/459)) ([14e41a3](https://github.com/ionic-team/ionic-native/commit/14e41a3))
* **file:** initialize writeFile options ([#468](https://github.com/ionic-team/ionic-native/issues/468)) ([16628a4](https://github.com/ionic-team/ionic-native/commit/16628a4))
* **nativeaudio:** fix plugin reference ([2510c5f](https://github.com/ionic-team/ionic-native/commit/2510c5f))
* add the reject function at the expected errorIndex position in the args array ([#436](https://github.com/ionic-team/ionic-native/issues/436)) ([4e87ac7](https://github.com/ionic-team/ionic-native/commit/4e87ac7))
### Features
@@ -2227,12 +2296,12 @@ renamed to `FileTransfer`. Also, `TransferObject` class has been renamed to `Fil
### Bug Fixes
* remove unnecessary decorator ([#257](https://github.com/ionic-team/ionic-native/issues/257)) ([25fab64](https://github.com/ionic-team/ionic-native/commit/25fab64))
* **actionsheet:** add missing optional parameter for hide function ([#262](https://github.com/ionic-team/ionic-native/issues/262)) ([644e999](https://github.com/ionic-team/ionic-native/commit/644e999))
* **background-geolocation:** fix pluginref again ([b8a5133](https://github.com/ionic-team/ionic-native/commit/b8a5133))
* **geolocation:** fix plugin reference ([4f0cd24](https://github.com/ionic-team/ionic-native/commit/4f0cd24)), closes [#258](https://github.com/ionic-team/ionic-native/issues/258)
* **googlemaps:** use correct methods for addGroundOverlay and addKmlOverlay ([#268](https://github.com/ionic-team/ionic-native/issues/268)) ([b8be1de](https://github.com/ionic-team/ionic-native/commit/b8be1de))
* **socialsharing:** all methods return Promises now ([e150224](https://github.com/ionic-team/ionic-native/commit/e150224)), closes [#275](https://github.com/ionic-team/ionic-native/issues/275)
* remove unnecessary decorator ([#257](https://github.com/ionic-team/ionic-native/issues/257)) ([25fab64](https://github.com/ionic-team/ionic-native/commit/25fab64))
### Features
@@ -2368,8 +2437,8 @@ renamed to `FileTransfer`. Also, `TransferObject` class has been renamed to `Fil
* **datepicker:** datepicker options are optional ([c3cfd14](https://github.com/ionic-team/ionic-native/commit/c3cfd14))
* **datepicker:** dates are Dates ([ce6adcc](https://github.com/ionic-team/ionic-native/commit/ce6adcc))
* **datepicker:** fix plugin functionality ([91de971](https://github.com/ionic-team/ionic-native/commit/91de971))
* **datepicker:** fix plugin functionality ([1a778e7](https://github.com/ionic-team/ionic-native/commit/1a778e7))
* **datepicker:** fix plugin functionality ([91de971](https://github.com/ionic-team/ionic-native/commit/91de971))
* **devicemotion:** combine watch and clear into one function ([d17f62d](https://github.com/ionic-team/ionic-native/commit/d17f62d))
* **geolocation:** set callback order to reverse on getCurrentPosition ([1fac387](https://github.com/ionic-team/ionic-native/commit/1fac387))
* **imagepicker:** pluginRef ([01d7972](https://github.com/ionic-team/ionic-native/commit/01d7972))
@@ -2427,18 +2496,15 @@ renamed to `FileTransfer`. Also, `TransferObject` class has been renamed to `Fil
### Bug Fixes
* datepicker plugin, pluginref, and @Cordova wrapper ([499ead3](https://github.com/ionic-team/ionic-native/commit/499ead3))
* **calendar:** make getCalendarOptions sync ([78c5408](https://github.com/ionic-team/ionic-native/commit/78c5408))
* **geolocation:** call correct clearFunction ([9e86a40](https://github.com/ionic-team/ionic-native/commit/9e86a40))
* **plugin:** return originalMethod return value ([240f0f8](https://github.com/ionic-team/ionic-native/commit/240f0f8))
* **plugin:** use call for id based clearFunction ([c2fdf39](https://github.com/ionic-team/ionic-native/commit/c2fdf39))
* datepicker plugin, pluginref, and @Cordova wrapper ([499ead3](https://github.com/ionic-team/ionic-native/commit/499ead3))
### Features
* **DatePicker:** Added DatePicker ([5afa58f](https://github.com/ionic-team/ionic-native/commit/5afa58f))
* **plugin:** add sync option to @Cordova for sync functions ([17e3827](https://github.com/ionic-team/ionic-native/commit/17e3827))
* **plugin:** call clearFunction with original fn args ([8f27fc9](https://github.com/ionic-team/ionic-native/commit/8f27fc9))
* add app version plugin ([20cb01f](https://github.com/ionic-team/ionic-native/commit/20cb01f))
* add app version plugin ([8b78521](https://github.com/ionic-team/ionic-native/commit/8b78521))
* add apprate ([0dd4fec](https://github.com/ionic-team/ionic-native/commit/0dd4fec))
@@ -2446,6 +2512,9 @@ renamed to `FileTransfer`. Also, `TransferObject` class has been renamed to `Fil
* add badge plugin ([3088df4](https://github.com/ionic-team/ionic-native/commit/3088df4))
* add clipboard plugin ([0b6cca7](https://github.com/ionic-team/ionic-native/commit/0b6cca7))
* add clipboard plugin ([fa4c266](https://github.com/ionic-team/ionic-native/commit/fa4c266))
* **DatePicker:** Added DatePicker ([5afa58f](https://github.com/ionic-team/ionic-native/commit/5afa58f))
* **plugin:** add sync option to @Cordova for sync functions ([17e3827](https://github.com/ionic-team/ionic-native/commit/17e3827))
* **plugin:** call clearFunction with original fn args ([8f27fc9](https://github.com/ionic-team/ionic-native/commit/8f27fc9))
+1 -1
View File
@@ -3,7 +3,7 @@ jobs:
build:
working_directory: ~/ionic-native/
docker:
- image: node:10
- image: node:12
steps:
- checkout
- restore_cache:
+2676 -936
View File
File diff suppressed because it is too large Load Diff
+13 -13
View File
@@ -1,6 +1,6 @@
{
"name": "ionic-native",
"version": "5.6.1",
"version": "5.10.0",
"description": "Native plugin wrappers for Cordova and Ionic with TypeScript, ES6+, Promise and Observable support",
"homepage": "https://ionicframework.com/",
"author": "Ionic Team <hi@ionic.io> (https://ionic.io)",
@@ -28,38 +28,38 @@
"@angular/compiler-cli": "^7.2.15",
"@angular/core": "^7.2.15",
"@types/cordova": "0.0.34",
"@types/fs-extra": "^7.0.0",
"@types/jest": "^24.0.13",
"@types/lodash": "^4.14.132",
"@types/node": "^10.14.7",
"@types/fs-extra": "^8.0.0",
"@types/jest": "^24.0.15",
"@types/lodash": "^4.14.136",
"@types/node": "^12.6.2",
"@types/rimraf": "^2.0.2",
"@types/webpack": "^4.4.32",
"ajv": "^6.10.0",
"@types/webpack": "^4.4.34",
"ajv": "^6.10.1",
"async-promise-queue": "^1.0.5",
"conventional-changelog-cli": "^2.0.21",
"cz-conventional-changelog": "^2.1.0",
"dgeni": "^0.4.12",
"dgeni-packages": "0.16.10",
"fs-extra": "^8.0.1",
"gulp": "3.9.1",
"fs-extra": "^8.1.0",
"gulp": "^4.0.2",
"gulp-rename": "^1.4.0",
"gulp-replace": "^1.0.0",
"gulp-tslint": "^8.1.4",
"jest": "^24.8.0",
"lodash": "^4.17.11",
"lodash": "^4.17.14",
"minimist": "1.2.0",
"natives": "^1.1.6",
"rimraf": "^2.6.3",
"rxjs": "^6.5.2",
"ts-jest": "^24.0.2",
"ts-node": "^8.2.0",
"tslint": "^5.16.0",
"ts-node": "^8.3.0",
"tslint": "^5.18.0",
"tslint-ionic-rules": "0.0.21",
"typedoc": "^0.14.2",
"typescript": "3.2.4",
"uglifyjs-webpack-plugin": "^2.1.3",
"unminified-webpack-plugin": "^2.0.0",
"webpack": "^4.32.2",
"webpack": "^4.35.3",
"winston": "^3.2.1",
"zone.js": "^0.8.29"
},
+2
View File
@@ -10,6 +10,7 @@ interface Plugin {
platforms: string[];
usage: string;
repo: string;
installVariables: string[];
cordovaPlugin: {
name: string;
};
@@ -56,6 +57,7 @@ function processPlugin(pluginModule): Plugin {
usage,
platforms: decorator.platforms,
repo: decorator.repo,
installVariables: decorator.installVariables,
cordovaPlugin: {
name: decorator.plugin
}
+6 -14
View File
@@ -6,35 +6,27 @@ const config = require('./config.json'),
Dgeni = require('dgeni');
module.exports = gulp => {
gulp.task('docs', [], () => {
gulp.task('docs', () => {
try {
const ionicPackage = require('./dgeni/dgeni-config')(
projectPackage.version
),
const ionicPackage = require('./dgeni/dgeni-config')(projectPackage.version),
dgeni = new Dgeni([ionicPackage]);
return dgeni
.generate()
.then(docs => console.log(docs.length + ' docs generated'));
return dgeni.generate().then(docs => console.log(docs.length + ' docs generated'));
} catch (err) {
console.log(err.stack);
}
});
gulp.task('readmes', [], function() {
gulp.task('readmes', () => {
fs.copySync(
path.resolve(__dirname, '..', '..', 'README.md'),
path.resolve(__dirname, '..', '..', config.pluginDir, 'core', 'README.md')
);
try {
const ionicPackage = require('./dgeni/dgeni-readmes-config')(
projectPackage.version
),
const ionicPackage = require('./dgeni/dgeni-readmes-config')(projectPackage.version),
dgeni = new Dgeni([ionicPackage]);
return dgeni
.generate()
.then(docs => console.log(docs.length + ' README files generated'));
return dgeni.generate().then(docs => console.log(docs.length + ' README files generated'));
} catch (err) {
console.log(err.stack);
}
+1 -1
View File
@@ -30,7 +30,7 @@ const DIST = path.resolve(ROOT, 'dist/@ionic-native');
const PACKAGES = [];
const MIN_CORE_VERSION = '^5.1.0';
const RXJS_VERSION = '^6.3.0';
const RXJS_VERSION = '^5.5.0 || ^6.5.0';
const PLUGIN_PEER_DEPENDENCIES = {
'@ionic-native/core': MIN_CORE_VERSION,
+1 -1
View File
@@ -30,7 +30,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
@Plugin({
pluginName: 'Alipay',
plugin: 'cordova-plugin-gubnoi-alipay',
pluginRef: 'Alipay',
pluginRef: 'cordova.plugins.alipay',
repo: 'https://github.com/jing-zhou/cordova-plugin-alipay',
install: 'ionic cordova plugin add cordova-plugin-gubnoi-alipay --variable APP_ID=your_app_id',
installVariables: ['APP_ID'],
@@ -0,0 +1,51 @@
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
export interface AnylineOptions {
// Valid License Key
licenseKey: string;
// Scanning options
config: any;
}
/**
* @name Anyline
* @description
* Anyline provides an easy-to-use SDK for applications to enable Optical Character Recognition (OCR) on mobile devices.
*
* @usage
* ```typescript
* import { Anyline } from '@ionic-native/anyline/ngx';
*
*
* constructor(private anyline: Anyline) { }
*
* ...
*
*
* this.anyline.scan(options)
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'Anyline',
plugin: 'cordova-plugin-anyline',
pluginRef: 'Anyline',
repo: 'https://github.com/niconaso/anyline-ocr-cordova-module',
platforms: ['Android', 'iOS']
})
@Injectable()
export class Anyline extends IonicNativePlugin {
/**
* Scan
* @param options {AnylineOptions} Scanning options
* @return {Promise<any>} Returns a promise that resolves when Code is captured
*/
@Cordova()
scan(options: AnylineOptions): Promise<any> {
return;
}
}
+59 -19
View File
@@ -21,7 +21,7 @@ export interface CardData {
paymentNetwork?: string;
}
export interface EligibilityData {
export interface PairedDevicesFlags {
isInWallet: boolean;
isInWatch: boolean;
FPANID: string;
@@ -31,10 +31,6 @@ export interface WatchExistData {
isWatchPaired: boolean;
}
export interface CardPrimarySuffixData {
primaryAccountSuffix: string;
}
/**
* @name Apple Wallet
* @description
@@ -60,14 +56,13 @@ export interface CardPrimarySuffixData {
* // Catch {{err}} here
* });
*
*
* ...
*
*
* // Simple call to check existence and ellibagility to add a card
* this.appleWallet.isCardExistInWalletOrWatch(data: CardPrimarySuffixData)
* .then((res: EligibilityData) => {
* // object contains boolean values that ensure that card is already exists in wallet or paired-watch
* // Simple call to check Card Eligibility
* this.appleWallet.checkCardEligibility(primaryAccountIdentifier: string)
* .then((res: boolean) => {
* // Expect res to be boolean
* })
* .catch((err) => {
* // Catch {{err}} here
@@ -77,10 +72,36 @@ export interface CardPrimarySuffixData {
* ...
*
*
* // Simple call to checkCardEligibilityBySuffix
* this.appleWallet.checkCardEligibilityBySuffix(cardSuffix: string)
* .then((res: boolean) => {
* // Expect res to be boolean
* })
* .catch((err) => {
* // Catch {{err}} here
* });
*
*
* ...
*
* // Simple call to check out if there is any paired Watches so that you can toggle visibility of 'Add to Watch' button
* this.appleWallet.isPairedWatchExist()
* this.appleWallet.checkPairedDevices()
* .then((res: WatchExistData) => {
* // object contains boolean value that ensure that there is already a paired Watch
* // object contains boolean flags showing paired devices
* })
* .catch((err) => {
* // Catch {{err}} here
* });
*
*
* ...
*
*
*
* // Simple call to check paired devices with a card by its suffix
* this.appleWallet.checkPairedDevicesBySuffix(cardSuffix: string)
* .then((res: PairedDevicesFlags) => {
* // object contains boolean values that ensure that card is already exists in wallet or paired-watch
* })
* .catch((err) => {
* // Catch {{err}} here
@@ -121,9 +142,8 @@ export interface CardPrimarySuffixData {
* EncryptedCardData
* SignatureCertificatesData
* CardData
* EligibilityData
* PairedDevicesFlags
* WatchExistData
* CardPrimarySuffixData
*/
@Plugin({
pluginName: 'AppleWallet',
@@ -144,12 +164,22 @@ export class AppleWallet extends IonicNativePlugin {
}
/**
* Simple call to check existence and ellibagility to add a card
* @param {CardPrimarySuffixData} data
* @return {Promise<EligibilityData>}
* Simple call to check Card Eligibility
* @param {string} primaryAccountIdentifier
* @return {Promise<boolean>}
*/
@Cordova()
isCardExistInWalletOrWatch(data: CardPrimarySuffixData): Promise<EligibilityData> {
checkCardEligibility(primaryAccountIdentifier: string): Promise<boolean> {
return;
}
/**
* Simple call to checkCardEligibilityBySuffix
* @param {string} cardSuffix
* @return {Promise<PairedDevicesFlags>}
*/
@Cordova()
checkCardEligibilityBySuffix(cardSuffix: string): Promise<boolean> {
return;
}
@@ -158,7 +188,17 @@ export class AppleWallet extends IonicNativePlugin {
* @return {Promise<WatchExistData>}
*/
@Cordova()
isPairedWatchExist(): Promise<WatchExistData> {
checkPairedDevices(): Promise<WatchExistData> {
return;
}
/**
* Simple call to check paired devices with a card by its suffix
* @param {string} cardSuffix
* @return {Promise<PairedDevicesFlags>}
*/
@Cordova()
checkPairedDevicesBySuffix(cardSuffix: string): Promise<PairedDevicesFlags> {
return;
}
@@ -27,6 +27,11 @@ export interface BarcodeScannerOptions {
*/
disableSuccessBeep?: boolean;
/**
* Disable or enable Autorotate. Supported on IOS only.
*/
shouldAutorotate?: boolean;
/**
* Prompt text. Supported on Android only.
*/
@@ -55,22 +60,22 @@ export interface BarcodeScannerOptions {
export interface BarcodeScanResult {
format:
| 'QR_CODE'
| 'DATA_MATRIX'
| 'UPC_E'
| 'UPC_A'
| 'EAN_8'
| 'EAN_13'
| 'CODE_128'
| 'CODE_39'
| 'CODE_93'
| 'CODABAR'
| 'ITF'
| 'RSS14'
| 'RSS_EXPANDED'
| 'PDF_417'
| 'AZTEC'
| 'MSI';
| 'QR_CODE'
| 'DATA_MATRIX'
| 'UPC_E'
| 'UPC_A'
| 'EAN_8'
| 'EAN_13'
| 'CODE_128'
| 'CODE_39'
| 'CODE_93'
| 'CODABAR'
| 'ITF'
| 'RSS14'
| 'RSS_EXPANDED'
| 'PDF_417'
| 'AZTEC'
| 'MSI';
cancelled: boolean;
text: string;
}
@@ -116,11 +121,11 @@ export class BarcodeScanner extends IonicNativePlugin {
PHONE_TYPE: string;
SMS_TYPE: string;
} = {
TEXT_TYPE: 'TEXT_TYPE',
EMAIL_TYPE: 'EMAIL_TYPE',
PHONE_TYPE: 'PHONE_TYPE',
SMS_TYPE: 'SMS_TYPE'
};
TEXT_TYPE: 'TEXT_TYPE',
EMAIL_TYPE: 'EMAIL_TYPE',
PHONE_TYPE: 'PHONE_TYPE',
SMS_TYPE: 'SMS_TYPE'
};
/**
* Open the barcode scanner.
+2 -2
View File
@@ -26,8 +26,8 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
pluginName: 'BioCatch',
plugin: 'cordova-plugin-biocatch',
pluginRef: 'BioCatch',
repo: 'https://bitbucket.org/whisprnd/biocatch-cordova-plugin',
platforms: ['iOS'],
repo: 'https://bitbucket.org/carlos_orellana/ionic-plugin',
platforms: ['iOS', 'Android'],
})
@Injectable()
export class BioCatch extends IonicNativePlugin {
@@ -0,0 +1,59 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
/**
* @name BiometricWrapper
* @description
* This plugin capture biometric(Iris and Fingerprint) and validate the user.
* May be used in Banking domain
*
* @usage
* ```typescript
* import { BiometricWrapper } from '@ionic-native/biometric-wrapper/ngx';
*
*
* constructor(private biometricWrapper: BiometricWrapper) { }
*
* ...
*
*
* this.biometricWrapper.activateIris({'PID_XML': '<pid-xml/>'})
* .then((res: any) => )
* .catch((error: any) => );
*
* ```
*/
@Plugin({
pluginName: 'BiometricWrapper',
plugin: 'cordova-plugin-biometric',
pluginRef: 'cordova.plugins.BiometricWrapper',
repo: '',
install: '',
installVariables: [],
platforms: ['Android']
})
@Injectable()
export class BiometricWrapper extends IonicNativePlugin {
/**
* This function activate iris activity
* @return {Promise<any>} Returns a promise that resolves when iris data captured
*/
@Cordova()
activateIris(args: any): Promise<any> {
return;
}
/**
* This function activate fingerprint activity
* @return {Promise<any>} Returns a promise that resolves when FP data captured
*/
@Cordova()
activateFingerprint(args: any): Promise<any> {
return;
}
}
+43 -1
View File
@@ -198,6 +198,13 @@ export interface DocumentVerificationOverlaySettingsCtor {
new(): DocumentVerificationOverlaySettings;
}
export interface BlinkCardOverlaySettings extends OverlaySettings {
glareMessage: string;
}
export interface BlinkCardOverlaySettingsCtor {
new(): BlinkCardOverlaySettings;
}
export interface RecognizerResult {
resultState: RecognizerResultState;
}
@@ -2670,6 +2677,40 @@ export interface UsdlCombinedRecognizerCtor extends RecognizerCtor<UsdlCombinedR
* this.barcodeStringData = barcodeRecognizer.result.stringData;
* }
* }
*
* ...
*
* const overlaySettings = new this.blinkId.BlinkCardOverlaySettings();
* const recognizer = new this.blinkId.BlinkCardRecognizer();
* recognizer.returnFullDocumentImage = false;
* recognizer.detectGlare = true;
* recognizer.extractCvv = true;
* recognizer.extractValidThru = true;
* recognizer.extractOwner = true;
*
* const recognizerCollection = new this.blinkId.RecognizerCollection([recognizer]);
* const canceled = await this.blinkId.scanWithCamera(
* overlaySettings,
* recognizerCollection,
* {
* ios: '', //iOS License Key
* android: '' //Android License Key
* },
* );
*
* if (!canceled) {
* if (recognizer.result.resultState === RecognizerResultState.valid) {
* const results = recognizer.result;
*
* if (results.resultState === RecognizerResultState.valid) {
* const ccInfo = {
* cardNumber: Number(results.cardNumber),
* expirationMonth: Number(results.validThru.month),
* expirationYear: Number(results.validThru.year),
* cvv: Number(results.cvv)
* };
* }
* }
* ```
*/
@Plugin({
@@ -2685,7 +2726,7 @@ export interface UsdlCombinedRecognizerCtor extends RecognizerCtor<UsdlCombinedR
export class BlinkId extends IonicNativePlugin {
/**
* Opens the camera dialog and attempts to scan a barcode/document
* @param overlaySettings {OverlaySettings} for camera overla customization
* @param overlaySettings {OverlaySettings} for camera overlay customization
* @param recognizerCollection {RecognizerCollection} collection of recognizers to scan with
* @returns {Promise<boolean>}
*/
@@ -2705,6 +2746,7 @@ export class BlinkId extends IonicNativePlugin {
@CordovaProperty() BarcodeOverlaySettings: BarcodeOverlaySettingsCtor;
@CordovaProperty() DocumentOverlaySettings: DocumentOverlaySettingsCtor;
@CordovaProperty() DocumentVerificationOverlaySettings: DocumentVerificationOverlaySettingsCtor;
@CordovaProperty() BlinkCardOverlaySettings: BlinkCardOverlaySettingsCtor;
@CordovaProperty() RecognizerCollection: RecognizerCollectionCtor;
@@ -475,6 +475,21 @@ export class Calendar extends IonicNativePlugin {
return;
}
/**
* Delete an event by id.
*
* @param {string} [id] The event id
* @param {Date} [fromDate] The date where it start deleting from
* @return Returns a Promise
*/
@Cordova()
deleteEventById(
id: string,
fromDate?: Date
): Promise<any> {
return;
}
/**
* Open the calendar at the specified date.
* @param {Date} date The date you want to open the calendar on
@@ -4,7 +4,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
/**
* @name Couchbase Lite
* @description
* Plugin to install Couchbase Lite in your PhoneGap app on iOS or Android
* Plugin to install Couchbase Lite in your PhoneGap app on iOS or Android <docs-card href="https://ionicframework.com/integrations/couchbase-lite" ionicon="alert">This Plugin is no longer supported by Couchbase. Please see our Couchbase Lite Integration</docs-card>
*
* @usage
* ```typescript
@@ -33,6 +33,9 @@ export interface DeeplinkOptions {
* @description This plugin handles deeplinks on iOS and Android for both custom URL scheme links
* and Universal App Links.
*
* Please read the [ionic plugin deeplinks docs](https://github.com/ionic-team/ionic-plugin-deeplinks) for iOS and Android integration.
* You must add `universal-links` to your `config.xml` and set up Apple App Site Association (AASA) for iOS and Asset Links for Android.
*
* @usage
* ```typescript
* import { Deeplinks } from '@ionic-native/deeplinks/ngx';
@@ -37,7 +37,7 @@ export interface AndroidAccount {
pluginName: 'DeviceAccounts',
plugin: 'cordova-device-accounts-v2',
pluginRef: 'DeviceAccounts',
repo: 'https://github.com/xUnholy/cordova-device-accounts',
repo: 'https://github.com/xUnholy/cordova-device-accounts-v2',
platforms: ['Android']
})
@Injectable()
@@ -87,4 +87,14 @@ export class DeviceAccounts extends IonicNativePlugin {
getPermissions(): Promise<string> {
return;
}
/**
* Get permissions for access to email registered on Android device 8.0+ for requested type
* @param {string} type
* @returns {Promise<string>}
*/
@Cordova()
getPermissionsByType(type: string): Promise<string> {
return;
}
}
@@ -73,7 +73,11 @@ export class Diagnostic extends IonicNativePlugin {
@CordovaProperty()
permissionStatus: {
GRANTED: string;
/**
* @deprecated cordova.plugins.diagnostic@5.0.0 uses DENIED_ONCE to unify DENIED* statuses across iOS/Android
*/
DENIED: string;
DENIED_ONCE: string;
NOT_REQUESTED: string;
DENIED_ALWAYS: string;
RESTRICTED: string;
@@ -812,6 +816,15 @@ export class Diagnostic extends IonicNativePlugin {
return;
}
/**
* Requests reminders authorization for the application.
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['iOS'] })
requestRemoteNotificationsAuthorization(types?: string[], omitRegistration?: boolean): Promise<string> {
return;
}
/**
* Indicates the current setting of notification types for the app in the Settings app.
* Note: on iOS 8+, if "Allow Notifications" switch is OFF, all types will be returned as disabled.
@@ -0,0 +1,79 @@
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
export enum DocumentScannerSourceType {
/**
* Scan directly from device camera.
* This is the default.
*/
CAMERA = 1,
/**
* Scan from an image already stored on device.
*/
GALLERY = 0
}
export interface DocumentScannerOptions {
/**
* Choose to scan from camera or existing image file. Only valid for Android.
*/
sourceType?: DocumentScannerSourceType;
/**
* Filename to save scanned image to (minus extension, which is always ".png").
* Only valid for iOS. Caller is responsible for cleaning up any files created
* if this parameter is set to anything other than the default value,
* which is "image".
*/
fileName?: string;
}
/**
* @name Document Scanner
* @description
* This plugin processes images of documents, compensating for perspective.
*
* @usage
* ```typescript
* import { DocumentScanner, DocumentScannerOptions } from '@ionic-native/document-scanner';
*
*
* constructor(private documentScanner: DocumentScanner) { }
*
* ...
*
* let opts: DocumentScannerOptions = {};
* this.documentScanner.scanDocument(opts)
* .then((res: string) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*
* @interfaces
* DocumentScannerOptions
* @enums
* DocumentScannerSourceType
*/
@Plugin({
pluginName: 'DocumentScanner',
plugin: 'cordova-plugin-document-scanner',
pluginRef: 'scan',
repo: 'https://github.com/NeutrinosPlatform/cordova-plugin-document-scanner',
platforms: ['Android', 'iOS']
})
@Injectable()
export class DocumentScanner extends IonicNativePlugin {
/**
* Scan a document
* @param opts {DocumentScannerOptions} optional parameter for controlling scanning
* @return {Promise<string>} file URL of scanned document image
*/
@Cordova({
callbackOrder: 'reverse'
})
scanDoc(opts?: DocumentScannerOptions): Promise<string> {
return;
}
}
@@ -31,6 +31,12 @@ export interface IFirebaseAPSMessage {
export type IFirebaseMessage = IFirebaseAPSMessage | IFirebaseGCMMessage;
export interface IRequestPermissionOptions {
forceShow?: boolean;
}
export type FirebaseMessagingTokenType = 'apns-buffer' | 'apns-string';
/**
* @beta
* @name Firebase Messaging
@@ -85,22 +91,27 @@ export class FirebaseMessaging extends IonicNativePlugin {
}
/**
* Grant permission to recieve push notifications (will trigger prompt on iOS).
* Grant permission to receive push notifications (will trigger prompt on iOS).
*
* @param {IRequestPermissionOptions} [options]
* @returns {Promise<string>}
*/
@Cordova({ sync: true })
requestPermission(): Promise<string> {
requestPermission(options?: { forceShow?: boolean }): Promise<string> {
return;
}
/**
* Returns a promise that fulfills with the current FCM token
*
* This method also accepts optional argument type.
* Currently iOS implementation supports values "apns-buffer" and "apns-string" that defines presentation of resolved APNS token.
*
* @param {FirebaseMessagingTokenType} [type] iOS only. Defines presentation of resolved APNS token
* @returns {Promise<string>}
*/
@Cordova({ sync: true })
getToken(): Promise<string> {
getToken(type?: FirebaseMessagingTokenType): Promise<string> {
return;
}
@@ -343,6 +343,9 @@ export class Firebase extends IonicNativePlugin {
* Clear all pending notifications from the drawer
* @return {Promise<any>}
*/
@Cordova({
platforms: ['Android']
})
clearAllNotifications(): Promise<any> {
return;
}
@@ -0,0 +1,61 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
/**
* @name Full Screen Image
* @description
* This plugin does something
*
* @usage
* ```typescript
* import { FullScreenImage } from '@ionic-native/full-screen-image';
*
*
* constructor(private fullScreenImage: FullScreenImage) { }
*
* ...
*
* this.fullScreenImage.showImageURL('/assets/...')
* .then((data: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ...
*
* this.fullScreenImage.showImageBase64('iVBORw0KGgoAAAANSUhEUgAAA...')
* .then((data: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'FullScreenImage',
plugin: 'es.keensoft.fullscreenimage',
pluginRef: 'FullScreenImage',
repo: 'https://github.com/keensoft/FullScreenImage-Cordova-Plugin',
platforms: ['Android', 'iOS']
})
@Injectable()
export class FullScreenImage extends IonicNativePlugin {
/**
* Opens an image from a URL or path
* @param url {string} url or image path
* @return {Promise<any>}
*/
@Cordova({ sync: true })
showImageURL(url: string): Promise<any> {
return;
}
/**
* Opens an image from a base64 string
* @param base64String {string} base64 string
* @param name? {string} image name
* @param type? {string} image extension
* @return {Promise<any>}
*/
@Cordova({ sync: true })
showImageBase64(base64String: string, name?: string, type?: string): Promise<any> {
return;
}
}
@@ -1,75 +1,6 @@
import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core';
import { Injectable } from '@angular/core';
/**
* @name In App Purchase 2
* @description
* In-App Purchase for Cordova on iOS, Android and Windows
*
* @usage
* ```typescript
* import { InAppPurchase2 } from '@ionic-native/in-app-purchase-2/ngx';
*
* constructor(private store: InAppPurchase2) { }
*
* ...
* ```
*
* * @advanced
*
* ```typescript
* // After Platform Ready
* this.store.verbosity = this.store.DEBUG;
* this.store.register({
* id: productId,
* alias: productId,
* type: this.store.NON_RENEWING_SUBSCRIPTION
* });
*
* // Register Event Handlers for the specific product
* this.store.when(productId).registered( (product: IAPProduct) => {
* console.log('Registered: ' + JSON.stringify(product));
* });
*
* // Updated
* this.store.when(productId).updated( (product: IAPProduct) => {
* console.log('Loaded' + JSON.stringify(product));
* });
*
* // Issue with buying
* this.store.when(productId).cancelled( (product) => {
* alert('Purchase was Cancelled');
* });
*
* // Track All Store Errors
* this.store.error( (err) => {
* alert('Store Error ' + JSON.stringify(err));
* });
*
* this.store.ready(() => {
* console.log(JSON.stringify(this.store.get(productId)));
* console.log('Store is Ready: ' + JSON.stringify(status));
* console.log('Products: ' + JSON.stringify(this.store.products));
* });
*
*
* // Errors
* this.store.when(productId).error( (error) => {
* this.loader.dismiss();
* alert('An Error Occured' + JSON.stringify(error));
* });
* // Refresh Starts Handlers
* console.log('Refresh Store');
* this.store.refresh();
*
* ...
*
* // To Purchase
* this.store.order(productId);
*
* ```
*
*/
export interface IAPProductOptions {
id: string;
@@ -98,7 +29,7 @@ export interface IAPProduct {
id: string;
alias: string;
alias?: string;
type: string;
@@ -122,16 +53,91 @@ export interface IAPProduct {
owned: boolean;
downloading: boolean;
downloading?: boolean;
downloaded: boolean;
downloaded?: boolean;
additionalData: any;
lastRenewalDate?: Date;
transaction: any;
expiryDate?: Date;
introPrice?: string;
introPriceMicros?: number;
introPriceNumberOfPeriods?: number;
introPriceSubscriptionPeriod?: string;
introPricePaymentMode?: string;
ineligibleForIntroPrice?: boolean;
billingPeriod?: number;
billingPeriodUnit?: string;
trialPeriod?: number;
trialPeriodUnit?: string;
additionalData?: any;
transaction?: any;
/**
* Call `product.finish()` to confirm to the store that an approved order has been delivered.
*
* This will change the product state from `APPROVED` to `FINISHED` (see product life-cycle).
*
* As long as you keep the product in state `APPROVED`:
*
* - the money may not be in your account (i.e. user isn't charged)
* - you will receive the `approved` event each time the application starts,
* where you should try again to finish the pending transaction.
*
* **example use**
*
* ```js
* store.when("product.id").approved(function(product){
* // synchronous
* app.unlockFeature();
* product.finish();
* });
* ```
*
* ```js
* store.when("product.id").approved(function(product){
* // asynchronous
* app.downloadFeature(function() {
* product.finish();
* });
* });
* ```
*/
finish(): void;
/**
* Initiate purchase validation as defined by the `store.validator` attribute.
*
* **return value**
*
* A Promise with the following methods:
*
* - `done(function(product){})`
* - called whether verification failed or succeeded.
* - `expired(function(product){})`
* - called if the purchase expired.
* - `success(function(product, purchaseData){})`
* - called if the purchase is valid and verified.
* - `purchaseData` is the device dependent transaction details
* returned by the validator, which you can most probably ignore.
* - `error(function(err){})`
* - validation failed, either because of expiry or communication
* failure.
* - `err` is a store.Error object, with a code expected to be
* `store.ERR_PAYMENT_EXPIRED` or `store.ERR_VERIFICATION_FAILED`.
*/
verify(): any;
set(key: string, value: any): void;
@@ -149,23 +155,41 @@ export interface IAPProduct {
}
export interface IAPProductEvents {
/** Called when product data is loaded from the store. */
loaded: (callback: IAPQueryCallback) => void;
/** Called when any change occured to a product. */
updated: (callback: IAPQueryCallback) => void;
/** Called when an order failed. The `err` parameter is an IAPError object. */
error: (callback: IAPQueryCallback) => void;
/** Called when a product order is approved. */
approved: (callback: IAPQueryCallback) => void;
/** Called when a non-consumable product or subscription is owned. */
owned: (callback: IAPQueryCallback) => void;
/** Called when a product order is cancelled by the user. */
cancelled: (callback: IAPQueryCallback) => void;
/** Called when an order is refunded by the user. */
refunded: (callback: IAPQueryCallback) => void;
/** Called when product has just been registered. */
registered: (callback: IAPQueryCallback) => void;
/** Called when the product details have been successfully loaded. */
valid: (callback: IAPQueryCallback) => void;
/** Called when the product cannot be loaded from the store. */
invalid: (callback: IAPQueryCallback) => void;
/** Called when an order has just been requested. */
requested: (callback: IAPQueryCallback) => void;
/** Called when the purchase process has been initiated. */
initiated: (callback: IAPQueryCallback) => void;
/** Called when the purchase process has completed. */
finished: (callback: IAPQueryCallback) => void;
/** Called when receipt validation successful. */
verified: (callback: IAPQueryCallback) => void;
/** Called when receipt verification failed. */
unverified: (callback: IAPQueryCallback) => void;
/** Called when validation find a subscription to be expired. */
expired: (callback: IAPQueryCallback) => void;
/** Called when content download is started. */
downloading: (product: IAPProduct, progress: any, time_remaining: any) => void;
/** Called when content download has successfully completed. */
downloaded: (callback: IAPQueryCallback) => void;
}
@@ -180,18 +204,343 @@ export class IAPError {
/**
* @name In App Purchase 2
* @description
* In-App Purchase on iOS, Android, Windows, macOS and XBox.
*
* ## Features
*
* | | ios | android | win-8 | win-10/uwp | mac |
* |--|--|--|--|--|--|
* | consumables | | | | | |
* | non consumables | | | | | |
* | subscriptions | | | | | |
* | restore purchases | | | | | |
* | receipt validations | | | | | |
* | downloadable content | | | | | |
* | introductory prices | | | | | |
*
* Supports:
*
* - **iOS** version 7.0 or higher.
* - **Android** version 2.2 (API level 8) or higher
* - with Google Play client version 3.9.16 or higher
* - **Windows** Store/Phone 8.1 or higher
* - **Windows 10 Mobile**
* - **macOS** version 10
* - **Xbox One**
* - (and any platform supporting Microsoft's UWP)
*
* @usage
* ```
* ```typescript
* import { InAppPurchase2 } from '@ionic-native/in-app-purchase-2/ngx';
*
*
* constructor(private inAppPurchase2: InAppPurchase2) { }
* constructor(public platform: Platform, private store: InAppPurchase2) {
* platform.ready().then(() => {
* this.store.register({
* id: "my_product_id",
* type: this.store.NON_RENEWING_SUBSCRIPTION,
* });
* this.store.when("my_product_id")
* .approved(p => p.verify())
* .verified(p => p.finish());
* this.store.refresh();
* });
* }
*
* ...
*
* this.store.order("my_product_id");
*
* ```
*
* ## Full example
*
* ```typescript
* // After platform ready
* this.store.verbosity = this.store.DEBUG;
* this.store.register({
* id: "my_product_id",
* type: this.store.PAID_SUBSCRIPTION,
* });
*
* // Register event handlers for the specific product
* this.store.when("my_product_id").registered( (product: IAPProduct) => {
* console.log('Registered: ' + JSON.stringify(product));
* });
*
* // Updated
* this.store.when("my_product_id").updated( (product: IAPProduct) => {
* console.log('Updated' + JSON.stringify(product));
* });
*
* // User closed the native purchase dialog
* this.store.when("my_product_id").cancelled( (product) => {
* console.error('Purchase was Cancelled');
* });
*
* // Track all store errors
* this.store.error( (err) => {
* console.error('Store Error ' + JSON.stringify(err));
* });
*
* // Run some code only when the store is ready to be used
* this.store.ready(() => {
* console.log('Store is ready');
* console.log('Products: ' + JSON.stringify(this.store.products));
* console.log(JSON.stringify(this.store.get("my_product_id")));
* });
*
* // Refresh the status of in-app products
* this.store.refresh();
*
* ...
*
* // To make a purchase
* this.store.order("my_product_id");
*
* ```
*
* ## Philosophy
*
* The API is mostly events based. As a user of this plugin,
* you will have to register listeners to changes happening to the products
* you register.
*
* The core of the listening mechanism is the `when()` method. It allows you to
* be notified of changes to one or a set of products using a query mechanism:
* ```typescript
* this.store.when("product").updated(refreshScreen); // match any product
* this.store.when("full_version").owned(unlockApp); // match a specific product
* this.store.when("subscription").approved(serverCheck); // match all subscriptions
* this.store.when("downloadable content").downloaded(showContent);
* ```
*
* The `updated` event is fired whenever one of the fields of a product is
* changed (its `owned` status for instance).
*
* This event provides a generic way to track the statuses of your purchases,
* to unlock features when needed and to refresh your views accordingly.
*
* ## Registering products
*
* The store needs to know the type and identifiers of your products before you
* can use them in your code.
*
* Use `store.register()` to define them before your first call to `store.refresh()`.
*
* Once registered, you can use `store.get()` to retrieve an `IAPProduct` object.
*
* ```typescript
* this.store.register({
* id: "my_consumable1",
* type: this.store.CONSUMABLE
* });
* ...
* const p = this.store.get("my_consumable1");
* ```
*
* The product `id` and `type` have to match products defined in your
* Apple, Google or Microsoft developer consoles.
*
* Learn more about it [from the wiki](https://github.com/j3k0/cordova-plugin-purchase/wiki).
*
* ## Displaying products
*
* Right after you registered your products, nothing much is known about them
* except their `id`, `type` and an optional `alias`.
*
* When you perform the initial call to `store.refresh()`, the platforms' server will
* be contacted to load informations about the registered products: human
* readable `title` and `description`, `price`, etc.
*
* This isn't an optional step, store owners require you
* to display information about a product exactly as retrieved from their server: no
* hard-coding of price and title allowed! This is also convenient for you
* as you can change the price of your items knowing that it'll be reflected instantly
* on your clients' devices.
*
* Note that the information may not be available when the first view that needs
* them appears on screen. For you, the best option is to have your view monitor
* changes made to the product.
*
* ## Purchasing
*
* #### initiate a purchase
*
* Purchases are initiated using the `store.order("some_product_id")` method.
*
* The store will manage the internal purchase flow. It'll end:
*
* - with an `approved` event. The product enters the `APPROVED` state.
* - with a `cancelled` event. The product gets back to the `VALID` state.
* - with an `error` event. The product gets back to the `VALID` state.
*
* See the product life-cycle section for details about product states.
*
* #### finish a purchase
*
* Once the transaction is approved, the product still isn't owned: the store needs
* confirmation that the purchase was delivered before closing the transaction.
*
* To confirm delivery, you'll use the `product.finish()` method.
*
* #### example usage
*
* During initialization:
* ```typescript
* this.store.when("extra_chapter").approved((product: IAPProduct) => {
* // download the feature
* app.downloadExtraChapter()
* .then(() => product.finish());
* });
* ```
*
* When the purchase button is clicked:
* ```typescript
* this.store.order("extra_chapter");
* ```
*
* #### un-finished purchases
*
* If your app wasn't able to deliver the content, `product.finish()` won't be called.
*
* Don't worry: the `approved` event will be re-triggered the next time you
* call `store.refresh()`, which can very well be the next time
* the application starts. Pending transactions are persistant.
*
* #### simple case
*
* In the most simple case, where:
*
* - delivery of purchases is only local ;
* - you don't want (or need) to implement receipt validation ;
*
* You may just want to finish all purchases automatically. You can do it this way:
* ```js
* this.store.when("product").approved((p: IAPProduct) => p.finish());
* ```
*
* NOTE: the "product" query will match any purchases (see "queries" to learn more details about queries).
*
* ## Receipt validation
*
* To get the most up-to-date information about purchases (in case a purchase have been canceled, or a subscription renewed),
* you should implement server side receipt validation.
*
* This also protects you against fake "purchases", made by some users using
* "free in-app purchase" apps on their devices.
*
* When a purchase has been approved by the store, it's enriched with
* transaction information (see `product.transaction` attribute).
*
* To verify a purchase you'll have to do three things:
*
* - configure the validator.
* - call `product.verify()` from the `approved` event, before finishing the transaction.
* - finish the transaction when transaction is `verified`.
*
* **Shameless Plug**: this is a feature many users struggle with, so as the author of this plugin, we can provide it to you as-a-service: https://billing.fovea.cc/
* (which is free until you start making serious money)
*
* #### example using a validation URL
*
* ```js
* this.store.validator = "https://billing.fovea.cc/";
*
* this.store.when("my stuff")
* .approved((p: IAPProduct) => p.verify())
* .verified((p: IAPProduct) => p.finish());
* ```
*
* ## Subscriptions
*
* For subscription, you MUST implement remote receipt validation.
*
* When the receipt validator returns a `store.PURCHASE_EXPIRED` error code, the subscription will
* automatically loose its `owned` status.
*
* Typically, you'll enable and disable access to your content this way.
* ```typescript
* this.store.when("my_subcription").updated((product: IAPProduct) => {
* if (product.owned)
* app.subscriberMode();
* else
* app.guestMode();
* });
* ```
*
* ## Product life-cycle
*
* A product will change state during the application execution.
*
* Find below a diagram of the different states a product can pass by.
*
* ```
* REGISTERED +--> INVALID
* |
* +--> VALID +--> REQUESTED +--> INITIATED +-+
* |
* ^ +------------------------------+
* | |
* | | +--> DOWNLOADING +--> DOWNLOADED +
* | | | |
* | +--> APPROVED +--------------------------------+--> FINISHED +--> OWNED
* | |
* +-------------------------------------------------------------+
*
* #### Notes
*
* - When finished, a consumable product will get back to the `VALID` state, while other will enter the `OWNED` state.
* - Any error in the purchase process will bring a product back to the `VALID` state.
* - During application startup, products may go instantly from `REGISTERED` to `APPROVED` or `OWNED`, for example if they are purchased non-consumables or non-expired subscriptions.
* - Non-Renewing Subscriptions are iOS products only. Please see the [iOS Non Renewing Subscriptions documentation](https://github.com/j3k0/cordova-plugin-purchase/blob/master/doc/ios.md#non-renewing) for a detailed explanation.
*
* ## events
*
* - `loaded(IAPProduct)`
* - Called when product data is loaded from the store.
* - `updated(IAPProduct)`
* - Called when any change occured to a product.
* - `error(err)`
* - Called when an order failed.
* - The `err` parameter is an error object
* - `approved(IAPProduct)`
* - Called when a product order is approved.
* - `owned(IAPProduct)`
* - Called when a non-consumable product or subscription is owned.
* - `cancelled(IAPProduct)`
* - Called when a product order is cancelled by the user.
* - `refunded(IAPProduct)`
* - Called when an order is refunded by the user.
* - Actually, all other product states have their promise
* - `registered`, `valid`, `invalid`, `requested`,
* `initiated` and `finished`
* - `verified(IAPProduct)`
* - Called when receipt validation successful
* - `unverified(IAPProduct)`
* - Called when receipt verification failed
* - `expired(IAPProduct)`
* - Called when validation find a subscription to be expired
* - `downloading(IAPProduct, progress, time_remaining)`
* - Called when content download is started
* - `downloaded(IAPProduct)`
* - Called when content download has successfully completed
*
* ## Learn More
*
* - [GitHub](https://github.com/j3k0/cordova-plugin-purchase)
* - [GitBook](https://purchase.cordova.fovea.cc/)
* - [Wiki](https://github.com/j3k0/cordova-plugin-purchase/wiki)
* - [API reference](https://github.com/j3k0/cordova-plugin-purchase/blob/master/doc/api.md)
*
* ## Technical Support or Questions
*
* If you have questions or need help integrating In-App Purchase, [Open an Issue on GitHub](https://github.com/j3k0/cordova-plugin-purchase/issues) or email us at _support@fovea.cc_.
*
* @interfaces
* IAPProduct
* IAPProductOptions
* IAPProductEvents
* ```
*/
@Plugin({
pluginName: 'InAppPurchase2',
@@ -238,6 +587,13 @@ export class InAppPurchase2 extends IonicNativePlugin {
@CordovaProperty()
sandbox: boolean;
/**
* Set to true to disable downloading of hosted content. (Apple only).
* Useful in development or when migrating your app away from Apple Hosted Content.
*/
@CordovaProperty()
disableHostedContent: boolean;
@CordovaProperty()
FREE_SUBSCRIPTION: string;
@@ -349,6 +705,8 @@ export class InAppPurchase2 extends IonicNativePlugin {
DOWNLOADED: string;
/* validation error codes */
@CordovaProperty()
INVALID_PAYLOAD: number;
@@ -358,11 +716,20 @@ export class InAppPurchase2 extends IonicNativePlugin {
@CordovaProperty()
PURCHASE_EXPIRED: number;
@CordovaProperty()
PURCHASE_CONSUMED: number;
@CordovaProperty()
INTERNAL_ERROR: number;
@CordovaProperty()
NEED_MORE_DATA: number;
@CordovaProperty()
products: IAPProducts;
@CordovaProperty()
validator: string | ((product: string | IAPProduct, callback: Function) => void);
validator: string | ((url: string | IAPProduct, callback: Function) => void);
@CordovaProperty()
log: {
@@ -394,7 +761,7 @@ export class InAppPurchase2 extends IonicNativePlugin {
* @param product {IAPProductOptions}
*/
@Cordova({ sync: true })
register(product: IAPProductOptions): void {}
register(product: IAPProductOptions | IAPProductOptions[]): void {}
/**
*
@@ -428,6 +795,29 @@ export class InAppPurchase2 extends IonicNativePlugin {
off(callback: Function): void {
}
/**
* Initiate the purchase of a product.
*
* The `product` argument can be either:
*
* - the `IAPProduct` object
* - the product `id`
* - the product `alias`
*
* The `additionalData` argument is an optional object with attributes:
* - `oldPurchasedSkus`: a string array with the old subscription to upgrade/downgrade on Android. See: [android developer](https://developer.android.com/google/play/billing/billing_reference.html#upgrade-getBuyIntentToReplaceSkus) for more info
* - `developerPayload`: string representing the developer payload as described in [billing best practices](https://developer.android.com/google/play/billing/billing_best_practices.html)
* - `applicationUsername`: the identifier of the user in your application.
*
* See the "Purchasing section" to learn more about the purchase process.
*
* **return value**
*
* `store.order()` returns a Promise with the following methods:
*
* - `then` - called when the order was successfully initiated.
* - `error` - called if the order couldn't be initiated.
*/
@Cordova({ sync: true })
order(product: string | IAPProduct, additionalData?: any): { then: Function; error: Function; } {
return;
@@ -435,11 +825,49 @@ export class InAppPurchase2 extends IonicNativePlugin {
@Cordova()
ready(callback: Function): void { return; }
/**
* After you're done registering your store's product and events handlers,
* time to call `store.refresh()`.
*
* This will initiate all the complex behind-the-scene work, to load product
* data from the servers and restore whatever already have been
* purchased by the user.
*
* Note that you can call this method again later during the application
* execution to re-trigger all that hard-work. It's kind of expensive in term of
* processing, so you'd better consider it twice.
*
* One good way of doing it is to add a "Refresh Purchases" button in your
* applications settings. This way, if delivery of a purchase failed or
* if a user wants to restore purchases he made from another device, he'll
* have a way to do just that.
*
* **example usage**
*
* ```typescript
* // ...
* // register products and events handlers here
* // ...
* //
* // then and only then, call refresh.
* this.store.refresh();
* ```
*
* **restore purchases**
*
* Add a "Refresh Purchases" button to call the `store.refresh()` method, like:
*
* `<button onclick="<pseudo_code>this.store.refresh()</pseudo_code>">Restore Purchases</button>`
*
* To make the restore purchases work as expected, please make sure that
* the "approved" event listener had be registered properly,
* and in the callback `product.finish()` should be called.
*/
@Cordova({ sync: true })
refresh(): void {
}
/** Opens the Manage Subscription page (AppStore, Play, Microsoft, ...). */
@Cordova({ sync: true })
manageSubscriptions(): void {}
@@ -18,7 +18,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
* ...
*
* this.launchReview.launch()
* .then(() => console.log('Successfully launched store app');
* .then(() => console.log('Successfully launched store app'));
*
* if(this.launchReview.isRatingSupported()){
* this.launchReview.rating()
@@ -23,6 +23,11 @@ export interface LineLoginProfile {
* Line Profile Name
*/
displayName: string;
/**
* Email
*/
email?: string;
}
export interface LineLoginAccessToken {
@@ -204,7 +204,7 @@ export class MusicControls extends IonicNativePlugin {
@Cordova({
platforms: ['iOS']
})
updateElapsed(args: { elapsed: string; isPlaying: boolean }): void {}
updateElapsed(args: { elapsed: number; isPlaying: boolean }): void {}
/**
* Toggle dismissable:
+167
View File
@@ -0,0 +1,167 @@
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
export enum OCRSourceType {
/**
* Normal processing from a file URL. This is the overall recommended choice
* for most applications. The distinction between file and native URLs is
* only relevant on iOS; under Android `NORMFILEURL` and `NORMNATIVEURL`
* are interchangeable.
*/
NORMFILEURL = 0,
/**
* Normal processing from a native URL. Since this source type uses deprecated
* OS APIs to interact with the camera plugin, it is best avoided, especially
* if ongoing forward compatibility is a concern. For further information, see
* https://github.com/NeutrinosPlatform/cordova-plugin-mobile-ocr#plugin-usage
* Under Android, this is equivalent to `NORMFILEURL`.
*/
NORMNATIVEURL = 1,
/**
* Fast processing from a file URL. As the compression done internally causes
* a significant loss in extraction quality, it should only be preferred when
* dealing with large images containing significant amounts of text, where
* the execution time required to perform normal processing is prohibitive.
* The distinction between file and native URLs is only relevant on iOS;
* under Android `FASTFILEURL` and `FASTNATIVEURL` are interchangeable.
*/
FASTFILEURL = 2,
/**
* Fast processing from a native URL. See comments above for `FASTFILEURL`
* concerning quality loss.
*
* The distinction between file and native URLs is only relevant on iOS;
* under Android `FASTFILEURL` and `FASTNATIVEURL` are interchangeable.
*/
FASTNATIVEURL = 3,
/**
* Normal processing from a base64-encoded string. Quality is equivalent
* to `NORMFILEURL`, but due to significantly higher memory requirements,
* is only appropriate for use with very small images.
*/
BASE64 = 4,
}
/**
* Four points (ordered in clockwise direction) that enclose a text
* component. May not be axis-aligned due to perspective skew.
*/
export interface OCRCorners {
x1: number;
y1: number;
x2: number;
y2: number;
x3: number;
y3: number;
x4: number;
y4: number;
}
/**
* An axis-aligned bounding rectangle. `x` and `y` represent the top left.
*/
export interface OCRRect {
x: number;
y: number;
height: number;
width: number;
}
/**
* This is the return value from the `recText` method.
*/
export interface OCRResult {
/**
* Was any text extracted? If `foundText` is false, no other fields are
* returned. If foundText is true, all other fields are reliable.
*/
foundText: boolean;
/**
* A block is the largest unit of text, which can be thought of as a paragraph.
* This field consists of several parallel arrays, so the text in `blocktext[0]`
* is bounded by `blockpoints[0]` and `blockframe[0]`.
*/
blocks: {
blocktext: string[];
blockpoints: OCRCorners[];
blockframe: OCRRect[];
};
/**
* A line is the central unit of text, containing several elements. A block
* can contain N lines. This field consists of several parallel arrays, so the
* text in `linetext[0]` is bounded by `linepoints[0]` and `lineframe[0]`.
*/
lines: {
linetext: string[];
linepoints: OCRCorners[];
lineframe: OCRRect[];
};
/**
* A word (or element) is the smallest unit of text. This field consists of
* several parallel arrays, so the text in `wordtext[0]` is bounded by
* `wordpoints[0]` and `wordframe[0]`.
*/
words: {
wordtext: string[];
wordpoints: OCRCorners[];
wordframe: OCRRect[];
};
}
/**
* @name MobileOCR
* @description
* This plugin attempts to identify and extract text from an image.
*
* @usage
* ```typescript
* import { MobileOCR, OCRSourceType } from '@ionic-native/ocr/ngx';
*
*
* constructor(private ocr: MobileOCR) { }
*
* ...
*
* this.ocr.recText(OCRSourceType.NORMFILEURL, "file://path/to/image.png")
* .then((res: OCRResult) => console.log(JSON.stringify(res)))
* .catch((error: any) => console.error(error));
*
* ```
*
* @interfaces
* OCRCorners
* OCRRect
* OCRResult
*
* @enums
* OCRSourceType
*/
@Plugin({
pluginName: 'OCR',
plugin: 'cordova-plugin-mobile-ocr',
pluginRef: 'textocr',
repo: 'https://github.com/NeutrinosPlatform/cordova-plugin-mobile-ocr',
platforms: ['Android', 'iOS']
})
@Injectable()
export class OCR extends IonicNativePlugin {
/**
* Extract text from image
* @param sourceType {OCRSourceType} type of image source
* @param source {string} image source (either file URL or base64 string)
* @return {Promise<OCRResult>} extracted text and geometry
*/
@Cordova()
recText(sourceType: OCRSourceType, source: string): Promise<OCRResult> {
return;
}
}
@@ -770,4 +770,19 @@ export class OneSignal extends IonicNativePlugin {
*/
@Cordova()
userProvidedPrivacyConsent(callback: Function): void {}
/**
* Allows you to use your own system's user ID's to send push notifications to your users.
* To tie a user to a given user ID, you can use this method.
* @param {string} externalId
*/
@Cordova()
setExternalUserId(externalId: string): void {}
/**
* Removes whatever was set as the current user's external user ID.
*/
@Cordova()
removeExternalUserId(): void {}
}
@@ -0,0 +1,56 @@
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
/**
* @name Sms Retriever
* @description
* This plugin retrives the SMS which arrive without requiring READ permissions.
*
* @usage
* ```typescript
* import { SmsRetriever } from '@ionic-native/sms-retriever';
*
*
* constructor(private smsRetriever: SmsRetriever) { }
*
* ...
*
*
* this.smsRetriever.getAppHash()
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
* this.smsRetriever.startWatching()
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'SmsRetriever',
plugin: 'cordova-plugin-sms-retriever-manager',
pluginRef: 'cordova.plugins.smsRetriever',
repo: 'https://github.com/hanatharesh2712/ionic-native-sms-retriever-plugin-master',
install: 'ionic cordova plugin add cordova-plugin-sms-retriever-manager --variable PLAY_SERVICES_VERSION="15.0.1"',
installVariables: ['PLAY_SERVICES_VERSION'],
platforms: ['Android']
})
@Injectable()
export class SmsRetriever extends IonicNativePlugin {
/**
* This function start wathching message arrive event and retrive message text.
* @return {Promise<string>} Returns a promise that resolves when retrives SMS text or TIMEOUT after 5 min.
*/
@Cordova()
startWatching(): Promise<string> {
return;
}
/**
* This function is to get hash string of APP.
* @return {Promise<string>} Returns a promise that resolves when successfully generate hash of APP.
*/
@Cordova()
getAppHash(): Promise<string> {
return;
}
}
+192
View File
@@ -0,0 +1,192 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
export interface SumUpResponse {
// Code to identify the message
code: number;
// Message for readable usage
message: string;
}
export interface SumUpLoginStatus {
// Code, to check if an error occured
code: number;
// Booleand value whether the user is logged in or not
isLoggedIn: boolean;
}
export interface SumUpPayment {
// Unique transaction code
transaction_code: string;
// Card type -> like MAESTRO
card_type: string;
// Merchant code for identification
merchant_code: string;
// Amount of the payment
amount: number;
// Tip amount -> default 0
tip_amount: number;
// Vat amount -> default 0
vat_amount: number;
// Currency code -> like EUR
currency: string;
// Payment status -> successful or error
status: string;
// Type -> Card or nfc
payment_type: string;
// Entry mode -> Like chip or contactless
entry_mode: string;
// Number of installments -> default 1
installments: number;
}
/**
* @name SumUp
* @description
* Plugin to communicate with a SumUp payment terminal
*
* @usage
* ```typescript
* import { SumUp } from '@ionic-native/sum-up';
*
*
* constructor(private sumUp: SumUp) { }
*
* this.sumUp.login("ACCESS_TOKEN")
* .then((res: SumUpResponse) => console.log(res))
* .catch((error: SumUpResponse) => console.error(error));
*
* this.sumUp.auth("ACCESS_TOKEN")
* .then((res: SumUpResponse) => console.log(res))
* .catch((error: SumUpResponse) => console.error(error));
*
* this.sumUp.getSettings()
* .then((res: SumUpResponse) => console.log(res))
* .catch((error: SumUpResponse) => console.error(error));
*
* this.sumUp.logout()
* .then((res: SumUpResponse) => console.log(res))
* .catch((error: SumUpResponse) => console.error(error));
*
* this.sumUp.isLoggedIn()
* .then((res: SumUpLoginStatus) => console.log(res))
* .catch((error: SumUpLoginStatus) => console.error(error));
*
* this.sumUp.prepare()
* .then((res: SumUpResponse) => console.log(res))
* .catch((error: SumUpResponse) => console.error(error));
*
* this.sumUp.closeConnection()
* .then((res: SumUpResponse) => console.log(res))
* .catch((error: SumUpResponse) => console.error(error));
*
* this.sumUp.pay(10.0, "EUR")
* .then((res: SumUpPayment) => console.log(res))
* .catch((error: SumUpPayment) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'SumUp',
plugin: 'cordova-sumup-plugin',
pluginRef: 'window.SumUp',
repo: 'https://github.com/mariusbackes/cordova-plugin-sumup',
install:
'cordova plugin add cordova-sumup-plugin --variable SUMUP_API_KEY=INSERT_YOUR_KEY',
installVariables: ['SUMUP_API_KEY'],
platforms: ['Android', 'iOS']
})
@Injectable()
export class SumUp extends IonicNativePlugin {
/**
* Login a user with an optional access token.
* If the access token is provided and valid, the user is logged in autmatically.
* Otherwise the user has to type in the credentials
* @param accessToken {string}
* @return {Promise<SumUpResponse>} Return a SumUpResponse object
*/
@Cordova()
login(accessToken?: string): Promise<SumUpResponse> {
return;
}
/**
* Authenticates the account with the given access token. Parameter accessToken is required.
* @param accessToken {string}
* @return {Promise<SumUpResponse>} Return a SumUpResponse object
*/
@Cordova()
auth(accessToken: string): Promise<SumUpResponse> {
return;
}
/**
* Opens a new window with the all account settings of an logged in user.
* @return {Promise<SumUpResponse>} Return a SumUpResponse object
*/
@Cordova()
getSettings(): Promise<SumUpResponse> {
return;
}
/**
* Logout a user from the account.
* @return {Promise<SumUpResponse>} Return a SumUpResponse object
*/
@Cordova()
logout(): Promise<SumUpResponse> {
return;
}
/**
* Checks whether the user is logged in or not and returns an object with the field isLoggedIn which is a boolean value.
* @return {Promise<SumUpResponse>} Return a SumUpResponse object
*/
@Cordova()
isLoggedIn(): Promise<SumUpLoginStatus> {
return;
}
/**
* Prepares the terminal for a payment. Checks whether the CardReader is ready to transmit and
* if an instance of the CardReaderManager is available.
* @return {Promise<SumUpResponse>} Return a SumUpResponse object
*/
@Cordova()
prepare(): Promise<SumUpResponse> {
return;
}
/**
* Tries to close the connection to the card terminal.
* @return {Promise<SumUpResponse>} Return a SumUpResponse object
*/
@Cordova()
closeConnection(): Promise<SumUpResponse> {
return;
}
/**
* Opens a native SumUp window to proceed a payment. Parameter amount and currencycode are required.
* If the Payment was successful it returns an SumUpPayment object with information about the payment.
* @param amount {number}
* @param currencycode {string}
* @return {Promise<SumUpResponse>} Return a SumUpResponse object
*/
@Cordova()
pay(amount: number, currencycode: string): Promise<SumUpPayment> {
return;
}
}
@@ -0,0 +1,72 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
export interface ThemeDetectionResponse {
// Boolean value about the status of the request
value: boolean;
// Message for readable usage
message: string;
}
/**
* @beta
* @name Theme Detection
* @description
* Cordova plugin to detect whether dark mode is enabled or not
*
* @usage
* ```typescript
* import { ThemeDetection } from '@ionic-native/theme-detection';
*
*
* constructor(private themeDetection: ThemeDetection) { }
*
* ...
*
* this.themeDetection.isAvailable()
* .then((res: ThemeDetectionResponse) => {
* if(res.value) {
* this.themeDetection.isDarkModeEnabled().then((res: ThemeDetectionResponse) => {
* console.log(res);
* })
* .catch((error: any) => console.error(error));
* }
* })
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'ThemeDetection',
plugin: 'cordova-plugin-theme-detection',
pluginRef: 'cordova.plugins.ThemeDetection',
repo: 'https://github.com/mariusbackes/cordova-plugin-theme-detection',
install: 'cordova plugin add cordova-plugin-theme-detection',
installVariables: [],
platforms: ['iOS']
})
@Injectable()
export class ThemeDetection extends IonicNativePlugin {
/**
*
* @return {Promise<ThemeDetectionResponse>}
* Returns a promise with an object that has a boolean property which gives information if the detection is available or not
*/
@Cordova()
isAvailable(): Promise<ThemeDetectionResponse> {
return;
}
/**
*
* @return {Promise<ThemeDetectionResponse>}
* Returns a promise with an object that has a boolean property which gives information if dark mode is enabled or not
*/
@Cordova()
isDarkModeEnabled(): Promise<ThemeDetectionResponse> {
return;
}
}
File diff suppressed because it is too large Load Diff