Compare commits

..

155 Commits

Author SHA1 Message Date
Daniel Sogl
f1c7afd583 5.33.0 2021-05-11 08:22:23 +02:00
Daniel Sogl
8d8608bbfa chore(package): bump deps 2021-05-11 08:21:55 +02:00
Srinidhi
b2da307837 fix(unvired-cordova-sdk): Update the return type for startDiscoveryService api (#3647)
* feat(unvired-cordova-sdk): support login via email

* fix(unvired-cordova-sdk): return typed promise object for user settings

* fix(unvired-cordova-sdk): change return type to string for guid()

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

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

* feat(unvired-cordova-sdk): add support for metadata JSON

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

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

* feat(unvired-cordova-sdk): add methods to get and set log level

* fix(unvired-cordova-sdk): update the return type for getLog()

* feat(unvired-cordova-sdk): return platform name

* feat(unvired-cordova-sdk): add method to get log file path

* feat(unvired-cordova-sdk): test push notifications

* fix(unvired-cordova-sdk): define return for logRead

* doc(unvired-cordova-sdk): remove mobile only restriction for some apis

* feat(unvired-cordova-sdk): add new property containing HTTP status code.

* feat(unvired-cordova-sdk): add new functions to lock & unlock sending of data

* fix(unvired-cordova-sdk): update the return type for lock and unlock functions.

* fix(unvired-cordova-sdk): change the return type for lockDataSender api

* fix(unvired-cordova-sdk): fix the data type for ResultType and OutboxLockStatus

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

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

* feat(unvired-cordova-sdk): Added new notification type

* feat(unvired-cordova-sdk): delete outbox item based on lid

* fix(unvired-cordova-sdk): Update doc

* doc(unvired-cordova-sdk): Update doc for userSettings()

* feat(unvired-cordova-sdk): add new discovery api

* fix(unvired-cordova-sdk): rename the property

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

* fix(unvired-cordova-sdk): Update the return type for startDiscoveryService api

* doc(unvired-cordova-sdk): Rename the loginParameter languageCode to loginLanguage.

* changes after doing npm install

Co-authored-by: Srinidhi Anand Rao <srinidhi.rao@unvired.io>
2021-05-11 08:06:47 +02:00
Nandan B N
da4ce96be4 feat(ble): update with setPin to allow set device pin (#3652) 2021-05-11 08:06:11 +02:00
Noah Cooper
826f8085a4 feat(facebook): add new methods (#3654)
* Add new methods

* Update reauthorizeDataAccess response type
2021-05-11 08:05:45 +02:00
MaximBelov
c05b3e9672 feat(local-backup): add plugin (#3656) 2021-05-11 08:05:18 +02:00
MaximBelov
575229412b feat(restart): add plugin (#3657) 2021-05-11 08:04:58 +02:00
MaximBelov
065e80cccf feat(background-upload): add INITIALIZED state (#3658) 2021-05-11 08:03:31 +02:00
MaximBelov
50f8a452ad feat(system-alert-window-permission): add plugin (#3659) 2021-05-11 08:03:00 +02:00
MaximBelov
443515582b feat(branch-io): add initSessionWithCallback method (#3660) 2021-05-11 08:02:23 +02:00
dependabot[bot]
380a7f77d7 chore(deps): bump ssri from 6.0.1 to 6.0.2 (#3653)
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 08:01:31 +02:00
dependabot[bot]
96162c07df chore(deps): bump hosted-git-info from 2.8.8 to 2.8.9 (#3664)
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 08:01:16 +02:00
dependabot[bot]
a2511f5994 chore(deps): bump handlebars from 4.7.6 to 4.7.7 (#3663)
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.7.6 to 4.7.7.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.7.6...v4.7.7)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 08:00:57 +02:00
Daniel Sogl
4d53d6d720 5.32.1 2021-04-15 22:48:12 +02:00
Daniel Sogl
3450399552 chore(package): bump deps 2021-04-15 22:47:57 +02:00
Hans Krywalsky
16fee2268a fix(network): onChange no longer causes error (#3651)
closes #3649
2021-04-15 22:42:29 +02:00
Daniel Sogl
6c99c3be03 5.32.0 2021-04-05 23:41:43 +02:00
Daniel Sogl
9b2374b3bc chore(package): bump deps 2021-04-05 23:41:28 +02:00
Laurent Goudet
b4227f2114 fix(build): publish Node (server) friendly bundles (#3483)
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
2021-04-05 23:38:19 +02:00
Uglješa Erceg
0932e113b2 feat(adjust): add missing wrappers for cordova api (#3528)
* feat(adjust): add missing wrappers for cordova api

* feat(adjust): add missing wrappers for Adjust Cordova v4.26.0 API
2021-04-05 23:35:22 +02:00
Olyster
bbb96ed765 feat(sqlite):add androidDatabaseLocation Support (#3564)
* Update index.ts

* Update index.ts

Fix aterisk alignment to pass test
2021-04-05 23:34:28 +02:00
timkovik
31ee7efc22 feat(network): update Network plugin (#3608)
Extends onChange Observable with types of connection to which it changed
2021-04-05 23:33:36 +02:00
sertal70
2f69dd88cb feat(shortcuts-android): add cordova-plugin-shortcuts-android (#3609)
Co-authored-by: Sergio Talente <sergio@soundsofthings.com>
2021-04-05 23:32:58 +02:00
Luca Pawlik
f32da73a87 fix(bluetooth-le): add missing status type value and add missing (optional) address property to NotifyParams interface (#3613) 2021-04-05 23:32:25 +02:00
John Borges
cc79a1edb7 refactor(keychain-touch-id): more specific return types (#3615)
* chore: fixing typescript return types

* refactor(keychain-touch-id): more specific return types
2021-04-05 23:31:59 +02:00
Dominik Schwank
4fb07fa809 fix(app-rate): add missing types for onButtonClicked callback (#3616) 2021-04-05 23:31:43 +02:00
John Borges
3d7b777b19 feat(plugin): add MS App Center shared plugin (#3618)
* feat(plugin): add MS App Center shared plugin

* docs(app-center-shared): add incompatible doc
2021-04-05 23:31:29 +02:00
John Borges
2cb5f5c010 feat(plugin): add MS App Center LowMemory plugin (#3619)
* feat(plugin): add MS App Center LowMemory plugin

* refactor(app-center-low-memory): plugin decorator
2021-04-05 23:31:14 +02:00
Nico Lueg
46d0cecb27 feat(in-app-purchase-2): adds typings for transaction (#3621) 2021-04-05 23:30:53 +02:00
Sebastiaan Pasma
ca190db829 feat(plugin): Text to Speech Advanced (#3627)
* Text to speech advanced plugin

* Add @interface

* docs update

* jsdoc fix

* jsdoc fix
2021-04-05 23:30:28 +02:00
Noel De Martin
d698d5985b feat(network): declare connection enum with strings(#3630) 2021-04-05 23:30:07 +02:00
Adam Duren
8dcb6be4ea fix(in-app-purchase-2): fix typings for refresh (#3632)
Fixes the typings for the return value of `refresh` as described [here](https://github.com/j3k0/cordova-plugin-purchase/blob/dd6bf6f/doc/api.md#return-value-3)
2021-04-05 23:29:27 +02:00
Srinidhi
158bf637cd fix(unvired-cordova-sdk): changes to the property names and updated documentation (#3633)
* feat(unvired-cordova-sdk): support login via email

* fix(unvired-cordova-sdk): return typed promise object for user settings

* fix(unvired-cordova-sdk): change return type to string for guid()

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

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

* feat(unvired-cordova-sdk): add support for metadata JSON

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

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

* feat(unvired-cordova-sdk): add methods to get and set log level

* fix(unvired-cordova-sdk): update the return type for getLog()

* feat(unvired-cordova-sdk): return platform name

* feat(unvired-cordova-sdk): add method to get log file path

* feat(unvired-cordova-sdk): test push notifications

* fix(unvired-cordova-sdk): define return for logRead

* doc(unvired-cordova-sdk): remove mobile only restriction for some apis

* feat(unvired-cordova-sdk): add new property containing HTTP status code.

* feat(unvired-cordova-sdk): add new functions to lock & unlock sending of data

* fix(unvired-cordova-sdk): update the return type for lock and unlock functions.

* fix(unvired-cordova-sdk): change the return type for lockDataSender api

* fix(unvired-cordova-sdk): fix the data type for ResultType and OutboxLockStatus

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

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

* feat(unvired-cordova-sdk): Added new notification type

* feat(unvired-cordova-sdk): delete outbox item based on lid

* fix(unvired-cordova-sdk): Update doc

* doc(unvired-cordova-sdk): Update doc for userSettings()

* feat(unvired-cordova-sdk): add new discovery api

* fix(unvired-cordova-sdk): rename the property

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

Co-authored-by: Srinidhi Anand Rao <srinidhi.rao@unvired.io>
2021-04-05 23:29:10 +02:00
Fedello
9b7db588a1 feat(power-optimization): plugin initial wrapper (#3642)
* feat(power-optimization):  plugin initial wrapper

* fix(power-optimization): Sync methods
2021-04-05 23:28:39 +02:00
aboedo
5d71d0d2bb feat(purchases): bump cordova-plugin-purchases from 2.0.0 to 2.1.1 (#3639)
* feat(purchases): bump cordova-plugin-purchases from 2.0.0 to 2.1.0

* bump version number to 2.1.1
2021-04-05 23:28:23 +02:00
dependabot[bot]
c6ad5e41ff chore(deps): bump elliptic from 6.5.3 to 6.5.4 (#3635)
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-05 23:28:08 +02:00
Philip Cesar Garay
b8de7f0721 feat(preview-any-file): add new methods for preview-any-file cordova (#3643)
* feat(adjust): add missing wrappers for cordova api

* feat(adjust): add missing wrappers for cordova api
2021-04-05 23:27:56 +02:00
dependabot[bot]
e5f710c8bb chore(deps): bump y18n from 3.2.1 to 3.2.2 (#3645)
Bumps [y18n](https://github.com/yargs/y18n) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-05 23:27:23 +02:00
Daniel Sogl
239ae32ad3 5.31.1 2021-01-23 18:53:33 +01:00
Daniel Sogl
f7a3c7127a fix(build): add correct build script typings
Co-Authored-By: Daniel Sogl <mytechde@outlook.com>
2021-01-23 18:53:12 +01:00
Daniel Sogl
80a537c0db 5.31.0 2021-01-23 18:43:43 +01:00
Daniel Sogl
2ae986727a Merge branch 'master' of https://github.com/ionic-team/ionic-native 2021-01-23 18:43:24 +01:00
Daniel Sogl
7a4df59189 docs(android-notch): adjust example
Co-Authored-By: Daniel Sogl <mytechde@outlook.com>
2021-01-23 18:43:16 +01:00
Daniel Sogl
337bba62c5 Delete rebase.yml 2021-01-23 18:42:09 +01:00
Daniel Sogl
a96faf1378 chore(package): upgrade to angular 11
BREAKING CHANGE: ionic-native now requires at least Angular 10 with ts-lib 2.0

Co-Authored-By: Daniel Sogl <mytechde@outlook.com>
2021-01-23 18:33:36 +01:00
Daniel Sogl
0467787085 chore(package): bump deps 2021-01-23 18:21:10 +01:00
Hans Krywalsky
0efa33f257 feat(advanced-http): duplicate methods sync to be able to abort requests (#3575)
* initial

* finish http-changes
2021-01-23 18:17:45 +01:00
Stéphane JAIS
182b403f69 feat(wonderpush): remove isReady method. (#3580)
Co-authored-by: Stéphane JAIS <stephane@wonderpush.com>
2021-01-23 18:17:11 +01:00
Sebastiaan Pasma
ddd269e7ab feat(in-app-purchase-2): add redeem() for opening redeem code dialog in iOS (#3581) 2021-01-23 18:16:58 +01:00
capc0
6b18c3d061 fix(launch-navigator): enableGeolocation and enableGeocoding typings (#3584)
based of https://github.com/dpa99c/phonegap-launch-navigator/blob/master/uk.co.workingedge.phonegap.plugin.launchnavigator.d.ts

Co-authored-by: Daniel Sogl <mytechde@outlook.com>
2021-01-23 18:16:34 +01:00
Olga Koroleva
bd8fbb3e1f feat(mobile-messaging): add Lists and date time for customAttributes (#3586) 2021-01-23 18:15:05 +01:00
weichunlai
3d1a73ebcb refactor(blink) id by adding blink id recognizer(#3555) (#3590) 2021-01-23 18:14:46 +01:00
CrisPRuz
96890c7b92 feat(android-notch): add cordova plugin wrapper (#3592)
* feat(android-notch): cordova plugin wrapper

* Update index.ts

Co-authored-by: Cristina <cape@gft.com>
Co-authored-by: Daniel Sogl <daniel@sogls.de>
2021-01-23 18:13:09 +01:00
Niklas Merz
26fd76dad0 fix(launchnavigator): make appSelection accessible (#3594) 2021-01-23 18:12:30 +01:00
capc0
72c99603db fix(firebase-messaging): adjust deleteToken/removeToken signature
fix token remove function name according to https://github.com/chemerisuk/cordova-plugin-firebase-messaging#deletetoken
2021-01-23 18:12:12 +01:00
Jonathan Fernandez
e7bc1b6709 feat(firebase-authentication): add signInWithApple method (#3597) 2021-01-23 18:11:26 +01:00
Evgeniy
3e92f64484 feat(app-rate): update plugin functions (#3598)
* cordova-plugin-apprate

* Update index.ts
2021-01-23 18:11:14 +01:00
dependabot[bot]
de6dee7de4 chore(deps): bump node-notifier from 8.0.0 to 8.0.1 (#3599)
Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/mikaelbr/node-notifier/releases)
- [Changelog](https://github.com/mikaelbr/node-notifier/blob/v8.0.1/CHANGELOG.md)
- [Commits](https://github.com/mikaelbr/node-notifier/compare/v8.0.0...v8.0.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-23 18:10:40 +01:00
aboedo
bed8797a60 feat(purchases): bump cordova-plugin-purchases from 1.3.2 to 2.0.0 (#3601) 2021-01-23 18:10:31 +01:00
Hans Krywalsky
b4f0f07064 feat(facebook): add setAutoLogAppEventsEnabled method (#3606) 2021-01-23 18:10:13 +01:00
Noah Cooper
e4b171930d feat(facebook): update api and logPurchase methods to include additional arguments(#3607) 2021-01-23 18:09:57 +01:00
Noah Cooper
4a796cafe9 refactor(facebook): use cordova-plugin-facebook-connect (#3603) 2021-01-19 12:50:07 +01:00
dependabot[bot]
2950ff14d7 chore(deps): bump highlight.js from 10.1.2 to 10.4.1 (#3588)
Bumps [highlight.js](https://github.com/highlightjs/highlight.js) from 10.1.2 to 10.4.1.
- [Release notes](https://github.com/highlightjs/highlight.js/releases)
- [Changelog](https://github.com/highlightjs/highlight.js/blob/master/CHANGES.md)
- [Commits](https://github.com/highlightjs/highlight.js/compare/10.1.2...10.4.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-11 11:49:37 +01:00
dependabot[bot]
376501ef7e chore(deps): bump ini from 1.3.5 to 1.3.7 (#3595)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-11 11:49:19 +01:00
Daniel
6b468662b6 5.30.0 2020-11-20 23:54:23 +01:00
Daniel Sogl
a209c61547 chore(package): bump deps 2020-11-20 23:54:04 +01:00
Hans Krywalsky
07d7ace97d feat(dfu-update): add DfuUpdate Plugin Wrapper (#3514)
* feat(dfu-update): add DfuUpdate Plugin Wrapper

* repo url changed

* updateFirmware options are now presented via Object

* import fixed
2020-11-19 08:40:46 +01:00
MaximBelov
13f6da69ef feat(background-upload): add plugin (#3539)
* feat(background-upload): add plugin

* fix(background-upload): update usage
2020-11-19 08:40:22 +01:00
rajgoenka
bb1064225d feat(CustomUiSDK): add plugin for Paytm Custom UI SDK (#3546)
* added custom-uisdk index file

* feat(CustomUiSDK): add plugin for Paytm Custom UI SDK

* removed template generated comments and added ngx at the end to the import
2020-11-19 08:40:00 +01:00
agarwalnaveen22
78e92422ab feat(multiple-document-picker): add plugin (#3551)
* feat(multiple-document-picker): add plugin

* removed package json related changes
2020-11-19 08:39:32 +01:00
Hans Krywalsky
46853b4212 feat(core): add methodName to Cordova Decorator (#3558)
closes #3557
2020-11-19 08:38:39 +01:00
František Spurný
f71b65d6a7 feat(smartlook): update to 1.6.0 (#3562) 2020-11-19 08:38:04 +01:00
amit-kremer93
e486cfd9bf feat(AppsFlyer): update to 6.x.x (#3563)
* align with AppsFlyer Cordova plugin V6

* Update index.ts

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2020-11-19 08:37:36 +01:00
Tomás Novau
7897f28d26 Update index.ts (#3565)
Adding to README.md instructions for capacitor support on Android.
2020-11-19 08:36:12 +01:00
aboedo
0f197ad9fc feat(purchases): update to plugin version 1.3.2 (#3566) 2020-11-19 08:35:49 +01:00
Eric Gopak
d7c6f8628d feat(firebase-dynamic-links): Add missing method getDynamicLink() (#3567) 2020-11-19 08:35:29 +01:00
Rubén Alonso Silvestre
af114f48e4 feat(firebase-vision): add image labelling (#3569)
* feat(firebase-vision): add image labelling

* style(firebase-vision): update asterisks to pass lint

* fix(firebase-vision): fix interfaces
2020-11-19 08:35:04 +01:00
adarsh-chaudhary
fd0cddc9d0 feat(AllInOneSDK): add check to restrict app invocation (#3570)
* feat(AllInOneSDK): add plugin for Paytm All-in-One SDK

* feat(all-in-one-sdk): add check to restrict app invocation
2020-11-19 08:34:45 +01:00
Hans Krywalsky
b3d5baa46e feat(bluetooth-le): Allow specifying transport mode for Android (#3571) 2020-11-19 08:34:14 +01:00
MaximBelov
68d245ef2c feat(intercom): added displayCarousel, displayArticle, setBottomPadding (#3572) 2020-11-19 08:33:45 +01:00
Aleksandar Noveski
4dda714761 feat(cordova-plugin-imap) initial 'native wrapper' commit (#3573) 2020-11-19 08:33:16 +01:00
Peter Wilkniss
ba39f7e9f2 fix(clevertap): remove duplicated methods
Closes #3517. Closes #3491
2020-11-16 13:15:17 -05:00
Daniel Sogl
52da729b8c chore(ci): use node 14.x 2020-11-05 13:27:38 +01:00
Daniel Sogl
46e0d6d396 chore(ci): use node 14.x 2020-11-05 13:26:49 +01:00
Daniel Sogl
5fc4ceada4 chore(ci): use node 14.x 2020-11-05 13:26:23 +01:00
Daniel Sogl
f04f1f479f 5.29.0 2020-10-16 19:29:23 +02:00
Daniel Sogl
da72795081 chore(package): bump deps 2020-10-16 19:25:41 +02:00
Sidnei Luiz Becker
f3ce3c4930 feat(social-sharing): Add missing method shareViaWhatsAppToPhone(#3513) 2020-10-16 19:22:25 +02:00
Ryan Gibbs
5a77eabf76 feat(adjust): updating to match official typings (#3523) 2020-10-16 19:21:38 +02:00
Pawel86400
99e6a5398f feat(fingerprint-air): add new functions (#3530)
* Add the new "registerBiometricSecret" and "loadBiometricSecret" methods for 'fingerprint-aio' plugin

* Update the response type for `loadBiometricSecret`

* Add new error msg for Secret not Found
2020-10-16 19:21:10 +02:00
Konstantin
14ec32b83c feat(mobile-messaging): add new fields to Message type and new method to display chat view (#3531)
Co-authored-by: Konstantin Latypov <Konstantin.Latypov@infobip.com>
2020-10-16 19:20:20 +02:00
Matt Barr
7b0195bdf4 fix(http): add missing type to serialiser property (#3532)
cordova http API allows for 'raw' serializer, and in fact 'raw' is referenced in several places in this file. It is even possible to set the serializer using `setDataSerializer('raw')`

This serializer is required for sending binary data.
2020-10-16 19:19:49 +02:00
adarsh-chaudhary
1f48c31a8e feat(all-in-one-sdk): add plugin for Paytm All-in-One SDK (#3536) 2020-10-16 19:19:05 +02:00
Hans Krywalsky
c62c137723 fix(diagnostics): locationAccuracyAuthorization Property missing in build (#3540) 2020-10-16 19:17:36 +02:00
Marius C. Bolik
3340e9a694 feat(appsfyler): add property waitForATTUserAuthorization to AppsflyerOptions (#3541) 2020-10-16 19:17:16 +02:00
Rodolfo Patane
4766ec7a35 fix(music-controls): update associated cordova plugin (#3543)
The original project message in github.com:

No longer maintained.
Gavin Henry (ghenry22) has been maintaining a fork that should be updated and working better than this one. Please use his fork.
2020-10-16 19:15:50 +02:00
MaximBelov
a37ea81488 chore(file-transfer): undeprecate (#3542) 2020-10-16 19:15:34 +02:00
aboedo
b5f7f952df feat(purchases): update to plugin version 1.3.0 (#3547) 2020-10-16 19:13:20 +02:00
David
5d1b5d5fda feat(firebase-x): add setLanguageCode method for auth (#3548)
Co-authored-by: david <david@192.168.1.36>
2020-10-16 19:12:52 +02:00
Erik
b2e82bea62 fix(in-App-purchase2) Correct type definition for date fields (#3549) 2020-10-16 19:09:38 +02:00
Pataar
d2a6b13059 docs(luxand): improve docs (#3550) 2020-10-16 19:09:13 +02:00
jcesarmobile
ce9db34e24 fix(in-app-purchase-2): change in-app-purchase-2 plugin id (#3553)
it was renamed from cc.fovea.cordova.purchase to cordova-plugin-purchase
2020-10-16 19:07:56 +02:00
Ville Raikko
36ae7dcad9 firebase-x: Add missing function reloadCurrentUser() (#3527) 2020-09-10 08:28:32 -04:00
Nicholas Hyatt
adca021f39 Merge pull request #3519 from ionic-team/remove-premier-apple-wallet-cta
remove the apple wallet premier decorator
2020-08-28 10:03:29 -05:00
Nicholas Hyatt
308e0f3f33 remove the apple wallet premier decorator 2020-08-28 09:59:25 -05:00
Daniel Sogl
8ce71132b0 5.28.0 2020-08-14 17:56:09 +02:00
Daniel Sogl
f6bf48d9b2 chore(package): bump deps 2020-08-14 17:53:47 +02:00
David Boho
579170a99e fix(geolocation): #3303 geolocation watchPosition return type (#3470)
* fix #3303 geolocation watchPosition return type

* watchPosition align docs
2020-08-14 17:38:14 +02:00
MohammadAli Zarei Matin
b0ffb0ec4a fix(metrix): change firebase api (#3473) 2020-08-14 17:37:21 +02:00
Cristiano Fromagio
eec3fec7ff feat(onesignal): add in-app messages methods (#3481) 2020-08-14 17:35:32 +02:00
Cesar de la Vega
a010bb1869 feat(purchases): update to plugin version 1.2.0 (#3482)
* updates to 1.2.0

* fixes linter errors
2020-08-14 17:35:06 +02:00
Aditya Sharma
26d10ef633 feat(clover-go): add support to pass signature and void payment (#3485)
Added support to pass signature incase the card payment require signature for authorisation
Added support to void any payment
Removed iOS platform for now as it will be supported in coming releases
2020-08-14 17:34:04 +02:00
Don Coleman
d7ccd454fb feat(nfc): update to phonegap-nfc@1.2.0 (#3486) 2020-08-14 17:33:43 +02:00
Nico Lueg
fab667f22c removed interface that doesn't apply to the api (#3487) 2020-08-14 17:33:22 +02:00
Hans Krywalsky
ccca644134 feat(diagnostics): Add support for new iOS14-LocationAccuracy Permission (#3490)
* feat(diagnostics): add support for new iOS14-LocationAccuracy Permission

* linting fixed
2020-08-14 17:32:47 +02:00
陈龙明
b4462d5e6c fix(ble): add missing method "isLocationEnabled" (#3495) 2020-08-14 17:32:01 +02:00
František Spurný
5aa5757795 feat(smartlook): update to 1.5.2 (#3498) 2020-08-14 17:31:40 +02:00
Carl Poole
85eaf92e58 docs(android): badges fyi for android docs (#3502) 2020-08-14 17:31:22 +02:00
Stefanic
1ffad79320 fix(ibeacon): undefined locationManager (#3505)
Change some cordova.plugins calls to window.cordova.plugins to
prevent 'Cannot read property 'locationManager' of undefined'
2020-08-14 17:31:03 +02:00
deniszpua
44f86f3ce5 fix(hyper-track): update to the modern sdk (#3508)
* Lint warnings fixed

* Misleading and unnecessary log statement removed
2020-08-14 17:30:41 +02:00
CodeTroopers
25bf7437b5 fix(ble) #3506 : leave a chance to client to reorder sequences (#3509)
* Fix #3506

* Update documenation
2020-08-14 17:30:18 +02:00
Matt Netkow
f413dab4e2 docs(spotify): Spotify Auth & Firebase Crashlytics 2020-08-10 09:10:32 -05:00
Matt Netkow
68c11192cd update 2020-08-10 09:02:32 -05:00
Daniel Sogl
5ec63841c3 chore(deps-dev): bump lodash from 4.17.15 to 4.17.19 (#3489)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-07 10:47:30 +02:00
dependabot[bot]
a9294ecb51 chore(deps): bump elliptic from 6.5.2 to 6.5.3 (#3496)
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-07 10:47:17 +02:00
dependabot[bot]
c12aa6c9fa chore(deps-dev): bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-15 21:52:19 +00:00
Daniel Sogl
9f27d54f0e 5.27.0 2020-06-23 19:09:13 +02:00
Daniel Sogl
343cf7356f chore(package): bump deps 2020-06-23 19:06:37 +02:00
Konstantinos Tsanakas
7c95e66021 fix(camera-preview): tapFocus (#3467) 2020-06-23 19:03:42 +02:00
Edem Morny
9bf1eafc4e feat(vibes): add support for inbox messaging (#3466) 2020-06-23 19:03:09 +02:00
Knut Erik Langdahl
7b998b9644 feat(build-info): add plugin (#3465)
* feat(build-info): add plugin

* Update index.ts

Co-authored-by: Knut Erik Langdahl <knut.erik.langdahl@bekk.no>
Co-authored-by: Daniel Sogl <daniel@sogls.de>
2020-06-23 19:02:12 +02:00
Praveen Challa
7ae1df2489 feat(camera-preview): add record video functions (#3463)
* Update index.ts

Added video instance

* Fixed lints

Fixed lints
2020-06-23 19:01:14 +02:00
Miquel
b2afc131ca feat(admob): add interfaces and method typings (#3461)
* Update docs

* feat(cordova-admob) add interfaces and methods

Co-authored-by: Miquel Martín <miquel.martin@appfeel.com>
2020-06-23 19:00:31 +02:00
Victor Dias
32203e9ac1 feat(firebase-x): add missing methods from plugin, incl. authenticateUserWithApple (#3458) 2020-06-23 19:00:06 +02:00
Victor Dias
66896b2632 fix(firebase-x): indicate callback methods to verifyPhoneNumber (#3457)
- and remove callbacks methods on verifyNumber and signInWithCredential functions
2020-06-23 18:59:45 +02:00
Calum Murray
fe21b5b97c fix(app-rate): Add missing "openUrl" property to AppRatePreferences object (#3456) 2020-06-23 18:59:02 +02:00
Calum Murray
40b9295de6 fix(launch-review): Allow rating() callback to be invoked multiple times (#3455) 2020-06-23 18:58:22 +02:00
Daniel Sogl
2923504c7d chore(GitHub): pass trough GitHub variables 2020-06-11 19:30:09 +02:00
Daniel Sogl
030a78fc1b chore(docs): use GitHub variables 2020-06-11 19:27:38 +02:00
Daniel Sogl
aa535844b0 chore(GitHub): cache ionic site files 2020-06-11 18:59:40 +02:00
Daniel Sogl
be3f73a921 chore(GitHub): run docs deploy script on master 2020-06-11 18:53:25 +02:00
Daniel Sogl
809d664cf4 chore(GitHub): run docs prepare script on master 2020-06-11 18:47:26 +02:00
Daniel Sogl
4f2f8894d5 chore(GitHub): run git config script 2020-06-11 18:41:20 +02:00
philkry
742ff65596 feat(ios-aswebauthenticationsession): add plugin (#3421)
* feat(ios-aswebauthenticationsession): add plugin

* Update index.ts

* returning string instead of any

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2020-06-11 18:14:21 +02:00
mcelikdev
79c3284434 feat(chooser): add getFileMetadata (#3425) 2020-06-11 18:13:34 +02:00
Rubén Alonso Silvestre
1aacb487a4 feat(firebase-vision): add barcodeDetector (#3426) 2020-06-11 18:10:08 +02:00
André Tissot
ef17dc5d07 feat(fcm): add requestPushPermissionIOS and createNotificationChannelAndroid functions (#3430) 2020-06-11 18:09:47 +02:00
bsorrentino
324334eb28 feat(broadcaster): align plugin API to version 4.1.0 (#3432) 2020-06-11 18:08:35 +02:00
Daniel Zen
389a3fb215 fix(jumio): update plugin reference and source (#3428)
* feat(jumio): add plugin

* Update index.ts

* docs(example & cordova repo)

* remove space at end of plugin name

* Readme description doesn't generate md file properly under certain conditions

Co-authored-by: Daniel Sogl <daniel@sogls.de>
2020-06-11 18:01:55 +02:00
SuryaClevertap
3df35b40ce feat(CleverTap): Update Plugin for Parity Support (#3435)
* 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

Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
2020-06-11 18:00:48 +02:00
Keenan Hawekotte
7f0975803f feat(firebase-dynamic-links): Update plugin for parity (#3437)
* Include other methods from cordova-firebase-dynamiclinks plugin

* Remove unnecessary dependency

* Run update to reset package lockfile
2020-06-11 18:00:11 +02:00
Jakob Engelbrecht
dc6e3313bb docs(our): add deprecation warning (#3439) 2020-06-11 17:59:34 +02:00
Frank Noorloos
4575cb6050 docs(mixpanel): add deprecated on identify (#3444) 2020-06-11 17:58:20 +02:00
Victor Dias
191c7a044d fix(firebase-x): add fakeVerificationCode param to verifyPhoneNumber (#3451)
- also fix misspelled timeOutDuration required param
2020-06-11 17:57:55 +02:00
Matt Netkow
46bbf633e4 Add premier and capIncompat metadata to plugins (#3453) 2020-06-11 17:56:34 +02:00
121 changed files with 8195 additions and 3721 deletions

View File

@@ -9,7 +9,7 @@ jobs:
strategy:
matrix:
node-version: [12.x]
node-version: [14.x]
steps:
- uses: actions/checkout@v1
@@ -17,6 +17,17 @@ jobs:
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Cache ionic site
id: ionic-site
uses: actions/cache@v2
with:
path: ~/ionic-site/
key: ionic-site-${{ hashFiles('**/package-lock.json') }}
- name: Setup git
run: bash ./scripts/git/config.sh
- name: Prepare ionic-site repo
if: github.ref == 'refs/heads/master'
run: bash ./scripts/docs/prepare.sh
- name: Install dependencies
run: npm ci
- name: Lint
@@ -27,5 +38,9 @@ jobs:
run: npm run test
- name: Readmes
run: npm run readmes
- name: Deploy doc
if: github.ref == 'refs/heads/master'
run: bash ./scripts/docs/update_docs.sh
env:
CI: true
GITHUB_PROJECT_REPONAME: ${{ github.repository }}
GITHUB_SHA1: ${{ github.sha }}

View File

@@ -11,7 +11,7 @@ jobs:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: 12
node-version: 14
- name: Install dependencies
run: npm ci
- name: Lint
@@ -30,7 +30,7 @@ jobs:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: 12
node-version: 14
registry-url: https://registry.npmjs.org/
- run: npm ci
- run: npm run shipit

View File

@@ -1,17 +0,0 @@
on:
issue_comment:
types: [created]
name: Automatic Rebase
jobs:
rebase:
name: Rebase
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
with:
fetch-depth: 0
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

1
.husky/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
_

4
.husky/pre-commit Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx --no-install lint-staged

4
.husky/pre-push Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npm test

View File

@@ -4,3 +4,6 @@ node_modules
.vscode
dist
CHANGELOG.md
.husky
.prettierignore
LICENSE

View File

@@ -1,3 +1,209 @@
# [5.33.0](https://github.com/ionic-team/ionic-native/compare/v5.32.1...v5.33.0) (2021-05-11)
### Bug Fixes
* **unvired-cordova-sdk:** Update the return type for startDiscoveryService api ([#3647](https://github.com/ionic-team/ionic-native/issues/3647)) ([b2da307](https://github.com/ionic-team/ionic-native/commit/b2da3078372c336864ab78528c5ae0c13a81a27b))
### Features
* **background-upload:** add INITIALIZED state ([#3658](https://github.com/ionic-team/ionic-native/issues/3658)) ([065e80c](https://github.com/ionic-team/ionic-native/commit/065e80cccf142d283075a800bdd46656cb613a0f))
* **ble:** update with setPin to allow set device pin ([#3652](https://github.com/ionic-team/ionic-native/issues/3652)) ([da4ce96](https://github.com/ionic-team/ionic-native/commit/da4ce96be4fc0dd763405f53498b11b00974f771))
* **branch-io:** add initSessionWithCallback method ([#3660](https://github.com/ionic-team/ionic-native/issues/3660)) ([4435155](https://github.com/ionic-team/ionic-native/commit/443515582b380fe6643c6db19a5f17999e979d5b))
* **facebook:** add new methods ([#3654](https://github.com/ionic-team/ionic-native/issues/3654)) ([826f808](https://github.com/ionic-team/ionic-native/commit/826f8085a45c39eb2c43d60bd98d34ff5619ce82))
* **local-backup:** add plugin ([#3656](https://github.com/ionic-team/ionic-native/issues/3656)) ([c05b3e9](https://github.com/ionic-team/ionic-native/commit/c05b3e96722ee85c4771aa70236a77e1b60f60e2))
* **restart:** add plugin ([#3657](https://github.com/ionic-team/ionic-native/issues/3657)) ([5752294](https://github.com/ionic-team/ionic-native/commit/575229412b335a720a284ffe67839488f3de2996))
* **system-alert-window-permission:** add plugin ([#3659](https://github.com/ionic-team/ionic-native/issues/3659)) ([50f8a45](https://github.com/ionic-team/ionic-native/commit/50f8a452ad4e36e3554a417d2051f0389bf7d7d2))
## [5.32.1](https://github.com/ionic-team/ionic-native/compare/v5.32.0...v5.32.1) (2021-04-15)
### Bug Fixes
* **network:** onChange no longer causes error ([#3651](https://github.com/ionic-team/ionic-native/issues/3651)) ([16fee22](https://github.com/ionic-team/ionic-native/commit/16fee2268aed8c8bf26ef36f236349e222da3375)), closes [#3649](https://github.com/ionic-team/ionic-native/issues/3649)
# [5.32.0](https://github.com/ionic-team/ionic-native/compare/v5.31.1...v5.32.0) (2021-04-05)
### Bug Fixes
* **app-rate:** add missing types for onButtonClicked callback ([#3616](https://github.com/ionic-team/ionic-native/issues/3616)) ([4fb07fa](https://github.com/ionic-team/ionic-native/commit/4fb07fa8095419178fb0867940c47ea9a85b0f94))
* **bluetooth-le:** add missing status type value and add missing (optional) address property to NotifyParams interface ([#3613](https://github.com/ionic-team/ionic-native/issues/3613)) ([f32da73](https://github.com/ionic-team/ionic-native/commit/f32da73a875f87c5c3add3ddb9abb274bec6e0e5))
* **build:** publish Node (server) friendly bundles ([#3483](https://github.com/ionic-team/ionic-native/issues/3483)) ([b4227f2](https://github.com/ionic-team/ionic-native/commit/b4227f2114706276d63fcd5303ab992710d58472))
* **in-app-purchase-2:** fix typings for refresh ([#3632](https://github.com/ionic-team/ionic-native/issues/3632)) ([8dcb6be](https://github.com/ionic-team/ionic-native/commit/8dcb6be4ea76f650c16e38c573f18a8f56d16911)), closes [/github.com/j3k0/cordova-plugin-purchase/blob/dd6bf6f/doc/api.md#return-value-3](https://github.com//github.com/j3k0/cordova-plugin-purchase/blob/dd6bf6f/doc/api.md/issues/return-value-3)
* **unvired-cordova-sdk:** changes to the property names and updated documentation ([#3633](https://github.com/ionic-team/ionic-native/issues/3633)) ([158bf63](https://github.com/ionic-team/ionic-native/commit/158bf637cdf0ee6776ff82dc2109c6d11d2e1d33))
### Features
* **adjust:** add missing wrappers for cordova api ([#3528](https://github.com/ionic-team/ionic-native/issues/3528)) ([0932e11](https://github.com/ionic-team/ionic-native/commit/0932e113b266e835acf34a2ae09ce0f75a3890ee))
* **in-app-purchase-2:** adds typings for transaction ([#3621](https://github.com/ionic-team/ionic-native/issues/3621)) ([46d0cec](https://github.com/ionic-team/ionic-native/commit/46d0cecb271ed425856a08453a94e4568ce83878))
* **network:** declare connection enum with strings([#3630](https://github.com/ionic-team/ionic-native/issues/3630)) ([d698d59](https://github.com/ionic-team/ionic-native/commit/d698d5985b764f7ab8e143b163c45a3617da5e0e))
* **network:** update Network plugin ([#3608](https://github.com/ionic-team/ionic-native/issues/3608)) ([31ee7ef](https://github.com/ionic-team/ionic-native/commit/31ee7efc22faf8276db5d64a579b8ec44a29f457))
* **plugin:** add MS App Center LowMemory plugin ([#3619](https://github.com/ionic-team/ionic-native/issues/3619)) ([2cb5f5c](https://github.com/ionic-team/ionic-native/commit/2cb5f5c01065987c900f413dbb306c052bd1de86))
* **plugin:** add MS App Center shared plugin ([#3618](https://github.com/ionic-team/ionic-native/issues/3618)) ([3d7b777](https://github.com/ionic-team/ionic-native/commit/3d7b777b19183cbf9d274b24ac0106e3f45fce88))
* **plugin:** Text to Speech Advanced ([#3627](https://github.com/ionic-team/ionic-native/issues/3627)) ([ca190db](https://github.com/ionic-team/ionic-native/commit/ca190db829ae125d2da6d79e2c8673d5c7f5da9d))
* **power-optimization:** plugin initial wrapper ([#3642](https://github.com/ionic-team/ionic-native/issues/3642)) ([9b7db58](https://github.com/ionic-team/ionic-native/commit/9b7db588a1f7608e7a7c9e8b4db7951dc98bd816))
* **preview-any-file:** add new methods for preview-any-file cordova ([#3643](https://github.com/ionic-team/ionic-native/issues/3643)) ([b8de7f0](https://github.com/ionic-team/ionic-native/commit/b8de7f0721da32faa67a1aa0d8a72846737018c7))
* **purchases:** bump cordova-plugin-purchases from 2.0.0 to 2.1.1 ([#3639](https://github.com/ionic-team/ionic-native/issues/3639)) ([5d71d0d](https://github.com/ionic-team/ionic-native/commit/5d71d0d2bbbbf8696a0d42e1e8b99fc1ee63ce16))
* **shortcuts-android:** add cordova-plugin-shortcuts-android ([#3609](https://github.com/ionic-team/ionic-native/issues/3609)) ([2f69dd8](https://github.com/ionic-team/ionic-native/commit/2f69dd88cbb798f7fdc21c98f99f55bc6a8e88a7))
## [5.31.1](https://github.com/ionic-team/ionic-native/compare/v5.31.0...v5.31.1) (2021-01-23)
### Bug Fixes
* **build:** add correct build script typings ([f7a3c71](https://github.com/ionic-team/ionic-native/commit/f7a3c7127a17a53e911119fc87c7149d356315bb))
# [5.31.0](https://github.com/ionic-team/ionic-native/compare/v5.30.0...v5.31.0) (2021-01-23)
### Bug Fixes
* **firebase-messaging:** adjust deleteToken/removeToken signature ([72c9960](https://github.com/ionic-team/ionic-native/commit/72c99603db5b1b2998c3d1e9a920e38f75e0f47b))
* **launch-navigator:** enableGeolocation and enableGeocoding typings ([#3584](https://github.com/ionic-team/ionic-native/issues/3584)) ([6b18c3d](https://github.com/ionic-team/ionic-native/commit/6b18c3d0614db1f525aaecfb9e09067537061ba9))
* **launchnavigator:** make appSelection accessible ([#3594](https://github.com/ionic-team/ionic-native/issues/3594)) ([26fd76d](https://github.com/ionic-team/ionic-native/commit/26fd76dad06764c288e2902c0edbe0dbb5e668c7))
### chore
* **package:** upgrade to angular 11 ([a96faf1](https://github.com/ionic-team/ionic-native/commit/a96faf13784ed30a5fc645dc769e44960242cb4f))
### Features
* **advanced-http:** duplicate methods sync to be able to abort requests ([#3575](https://github.com/ionic-team/ionic-native/issues/3575)) ([0efa33f](https://github.com/ionic-team/ionic-native/commit/0efa33f25746437cd3dc97585d380f177ed40e0b))
* **android-notch:** add cordova plugin wrapper ([#3592](https://github.com/ionic-team/ionic-native/issues/3592)) ([96890c7](https://github.com/ionic-team/ionic-native/commit/96890c7b92f34cf8d87eb98c0e4b5ddf9b68c6dc))
* **app-rate:** update plugin functions ([#3598](https://github.com/ionic-team/ionic-native/issues/3598)) ([3e92f64](https://github.com/ionic-team/ionic-native/commit/3e92f64484be0c949896b5fac7023ef0bd2fc746))
* **facebook:** add setAutoLogAppEventsEnabled method ([#3606](https://github.com/ionic-team/ionic-native/issues/3606)) ([b4f0f07](https://github.com/ionic-team/ionic-native/commit/b4f0f0706400f6500e48cd1305c20371977a6869))
* **facebook:** update api and logPurchase methods to include additional arguments([#3607](https://github.com/ionic-team/ionic-native/issues/3607)) ([e4b1719](https://github.com/ionic-team/ionic-native/commit/e4b171930dca0ebd3824cfa08861cfb80bf715d3))
* **firebase-authentication:** add signInWithApple method ([#3597](https://github.com/ionic-team/ionic-native/issues/3597)) ([e7bc1b6](https://github.com/ionic-team/ionic-native/commit/e7bc1b67095fc0c0dbb96b98f3dd39ecb255ec88))
* **in-app-purchase-2:** add redeem() for opening redeem code dialog in iOS ([#3581](https://github.com/ionic-team/ionic-native/issues/3581)) ([ddd269e](https://github.com/ionic-team/ionic-native/commit/ddd269e7ab2df69555ad7eec29bf0ed5a6c8fd04))
* **mobile-messaging:** add Lists and date time for customAttributes ([#3586](https://github.com/ionic-team/ionic-native/issues/3586)) ([bd8fbb3](https://github.com/ionic-team/ionic-native/commit/bd8fbb3e1fb4bfc84a7c9ba67e879d18868db8b5))
* **purchases:** bump cordova-plugin-purchases from 1.3.2 to 2.0.0 ([#3601](https://github.com/ionic-team/ionic-native/issues/3601)) ([bed8797](https://github.com/ionic-team/ionic-native/commit/bed8797a603398a047a97070fadd99b36e65a9be))
* **wonderpush:** remove isReady method. ([#3580](https://github.com/ionic-team/ionic-native/issues/3580)) ([182b403](https://github.com/ionic-team/ionic-native/commit/182b403f69492b96375a7be895da4ff486eccf7b))
### BREAKING CHANGES
* **package:** ionic-native now requires at least Angular 10 with ts-lib 2.0
Co-Authored-By: Daniel Sogl <mytechde@outlook.com>
# [5.30.0](https://github.com/ionic-team/ionic-native/compare/v5.29.0...v5.30.0) (2020-11-20)
### Bug Fixes
* **clevertap:** remove duplicated methods ([ba39f7e](https://github.com/ionic-team/ionic-native/commit/ba39f7e9f217ebe72e78bcfeae3d7e9ac07187ae)), closes [#3517](https://github.com/ionic-team/ionic-native/issues/3517) [#3491](https://github.com/ionic-team/ionic-native/issues/3491)
### Features
* **AllInOneSDK:** add check to restrict app invocation ([#3570](https://github.com/ionic-team/ionic-native/issues/3570)) ([fd0cddc](https://github.com/ionic-team/ionic-native/commit/fd0cddc9d0abdc3006e6cf16c1f80d0551b71cd2))
* **AppsFlyer:** update to 6.x.x ([#3563](https://github.com/ionic-team/ionic-native/issues/3563)) ([e486cfd](https://github.com/ionic-team/ionic-native/commit/e486cfd9bff2fd0bdd4ccfc9cb91b450b7218aef))
* **background-upload:** add plugin ([#3539](https://github.com/ionic-team/ionic-native/issues/3539)) ([13f6da6](https://github.com/ionic-team/ionic-native/commit/13f6da69ef622923bf2c746fbecb18a7cf959b82))
* **bluetooth-le:** Allow specifying transport mode for Android ([#3571](https://github.com/ionic-team/ionic-native/issues/3571)) ([b3d5baa](https://github.com/ionic-team/ionic-native/commit/b3d5baa46ed695344b08bd3e27be3b9f84bf6f0d))
* **core:** add `methodName` to Cordova Decorator ([#3558](https://github.com/ionic-team/ionic-native/issues/3558)) ([46853b4](https://github.com/ionic-team/ionic-native/commit/46853b42120b4b34b727ef0ae0274d1c8cb7bcd1)), closes [#3557](https://github.com/ionic-team/ionic-native/issues/3557)
* **CustomUiSDK:** add plugin for Paytm Custom UI SDK ([#3546](https://github.com/ionic-team/ionic-native/issues/3546)) ([bb10642](https://github.com/ionic-team/ionic-native/commit/bb1064225d276cffcd40ff9176b77ffb9d56ed8a))
* **dfu-update:** add DfuUpdate Plugin Wrapper ([#3514](https://github.com/ionic-team/ionic-native/issues/3514)) ([07d7ace](https://github.com/ionic-team/ionic-native/commit/07d7ace97d1b122424964f6e7330bf97710dcc8f))
* **firebase-dynamic-links:** Add missing method getDynamicLink() ([#3567](https://github.com/ionic-team/ionic-native/issues/3567)) ([d7c6f86](https://github.com/ionic-team/ionic-native/commit/d7c6f8628d176119cabae444c02f285a8c36997d))
* **firebase-vision:** add image labelling ([#3569](https://github.com/ionic-team/ionic-native/issues/3569)) ([af114f4](https://github.com/ionic-team/ionic-native/commit/af114f48e46b4f7f1ce66bb2906585158aa5cff0))
* **intercom:** added displayCarousel, displayArticle, setBottomPadding ([#3572](https://github.com/ionic-team/ionic-native/issues/3572)) ([68d245e](https://github.com/ionic-team/ionic-native/commit/68d245ef2c85dfff0aedb444db629d59986e06b4))
* **multiple-document-picker:** add plugin ([#3551](https://github.com/ionic-team/ionic-native/issues/3551)) ([78e9242](https://github.com/ionic-team/ionic-native/commit/78e92422abb5a645ed09bf61b7dc250462ccc742))
* **purchases:** update to plugin version 1.3.2 ([#3566](https://github.com/ionic-team/ionic-native/issues/3566)) ([0f197ad](https://github.com/ionic-team/ionic-native/commit/0f197ad9fcd4e56c0c61bd87c6aec76889af6ab2))
* **smartlook:** update to 1.6.0 ([#3562](https://github.com/ionic-team/ionic-native/issues/3562)) ([f71b65d](https://github.com/ionic-team/ionic-native/commit/f71b65d6a79d22175c27b960f27ef51ea6a87ed4))
# [5.29.0](https://github.com/ionic-team/ionic-native/compare/v5.28.0...v5.29.0) (2020-10-16)
### Bug Fixes
* **diagnostics:** locationAccuracyAuthorization Property missing in build ([#3540](https://github.com/ionic-team/ionic-native/issues/3540)) ([c62c137](https://github.com/ionic-team/ionic-native/commit/c62c13772307c02e7581c15ec6f5c94309927cc6))
* **http:** add missing type to serialiser property ([#3532](https://github.com/ionic-team/ionic-native/issues/3532)) ([7b0195b](https://github.com/ionic-team/ionic-native/commit/7b0195bdf441532106df6eb2baf5a9ada1068761))
* **in-app-purchase-2:** change in-app-purchase-2 plugin id ([#3553](https://github.com/ionic-team/ionic-native/issues/3553)) ([ce9db34](https://github.com/ionic-team/ionic-native/commit/ce9db34e2439d4fefd1b4071bffb6e5c8daab634))
* **music-controls:** update associated cordova plugin ([#3543](https://github.com/ionic-team/ionic-native/issues/3543)) ([4766ec7](https://github.com/ionic-team/ionic-native/commit/4766ec7a35d7e7b0ab31d3db8953f2ef4bdcb6df))
### Features
* **adjust:** updating to match official typings ([#3523](https://github.com/ionic-team/ionic-native/issues/3523)) ([5a77eab](https://github.com/ionic-team/ionic-native/commit/5a77eabf7644a79369da40eb929b6edfcb83de07))
* **all-in-one-sdk:** add plugin for Paytm All-in-One SDK ([#3536](https://github.com/ionic-team/ionic-native/issues/3536)) ([1f48c31](https://github.com/ionic-team/ionic-native/commit/1f48c31a8eaf5079ec8e391b21ea5ce3fa9e1446))
* **appsfyler:** add property waitForATTUserAuthorization to AppsflyerOptions ([#3541](https://github.com/ionic-team/ionic-native/issues/3541)) ([3340e9a](https://github.com/ionic-team/ionic-native/commit/3340e9a6949f798d5ec540a78c7ac46a5dc884b2))
* **fingerprint-air:** add new functions ([#3530](https://github.com/ionic-team/ionic-native/issues/3530)) ([99e6a53](https://github.com/ionic-team/ionic-native/commit/99e6a5398fb2923991d7236475913eb17e8640c0))
* **firebase-x:** add setLanguageCode method for auth ([#3548](https://github.com/ionic-team/ionic-native/issues/3548)) ([5d1b5d5](https://github.com/ionic-team/ionic-native/commit/5d1b5d5fda311003d0ae20e27a06d6bd443554be))
* **mobile-messaging:** add new fields to Message type and new method to display chat view ([#3531](https://github.com/ionic-team/ionic-native/issues/3531)) ([14ec32b](https://github.com/ionic-team/ionic-native/commit/14ec32b83c603fc5a079eabf794b7dadce867358))
* **purchases:** update to plugin version 1.3.0 ([#3547](https://github.com/ionic-team/ionic-native/issues/3547)) ([b5f7f95](https://github.com/ionic-team/ionic-native/commit/b5f7f952df06828a07f4ab013ce52fddc8ccafdf))
* **social-sharing:** Add missing method shareViaWhatsAppToPhone([#3513](https://github.com/ionic-team/ionic-native/issues/3513)) ([f3ce3c4](https://github.com/ionic-team/ionic-native/commit/f3ce3c4930f87f6f2dd023dc28ef924faee05a84))
# [5.28.0](https://github.com/ionic-team/ionic-native/compare/v5.27.0...v5.28.0) (2020-08-14)
### Bug Fixes
* **ble:** add missing method "isLocationEnabled" ([#3495](https://github.com/ionic-team/ionic-native/issues/3495)) ([b4462d5](https://github.com/ionic-team/ionic-native/commit/b4462d5e6c12f144412001cade1020b5f88b4ae5))
* **geolocation:** [#3303](https://github.com/ionic-team/ionic-native/issues/3303) geolocation watchPosition return type ([#3470](https://github.com/ionic-team/ionic-native/issues/3470)) ([579170a](https://github.com/ionic-team/ionic-native/commit/579170a99ea8a53634631b76ffa19b6b635c1d03))
* **hyper-track:** update to the modern sdk ([#3508](https://github.com/ionic-team/ionic-native/issues/3508)) ([44f86f3](https://github.com/ionic-team/ionic-native/commit/44f86f3ce5f6912f1cc0b4596e43066571c96b44))
* **ibeacon:** undefined locationManager ([#3505](https://github.com/ionic-team/ionic-native/issues/3505)) ([1ffad79](https://github.com/ionic-team/ionic-native/commit/1ffad79320f83038d1fc09e9112c40c86d948416))
* **metrix:** change firebase api ([#3473](https://github.com/ionic-team/ionic-native/issues/3473)) ([b0ffb0e](https://github.com/ionic-team/ionic-native/commit/b0ffb0ec4a035097c8a413f31b2382dae1eda4c7))
### Features
* **clover-go:** add support to pass signature and void payment ([#3485](https://github.com/ionic-team/ionic-native/issues/3485)) ([26d10ef](https://github.com/ionic-team/ionic-native/commit/26d10ef63346782e6d8ed37ca89bd2dd7402aa0a))
* **diagnostics:** Add support for new iOS14-LocationAccuracy Permission ([#3490](https://github.com/ionic-team/ionic-native/issues/3490)) ([ccca644](https://github.com/ionic-team/ionic-native/commit/ccca644134999365a729b4a7d554da6a011eb693))
* **nfc:** update to phonegap-nfc@1.2.0 ([#3486](https://github.com/ionic-team/ionic-native/issues/3486)) ([d7ccd45](https://github.com/ionic-team/ionic-native/commit/d7ccd454fb757d8d3be57a70bfa7fb3c269e3318))
* **onesignal:** add in-app messages methods ([#3481](https://github.com/ionic-team/ionic-native/issues/3481)) ([eec3fec](https://github.com/ionic-team/ionic-native/commit/eec3fec7ff820e96443e6e3f0d7bf96dac359038))
* **purchases:** update to plugin version 1.2.0 ([#3482](https://github.com/ionic-team/ionic-native/issues/3482)) ([a010bb1](https://github.com/ionic-team/ionic-native/commit/a010bb186964b8b825ab80f9cf6092794ee2e4b1))
* **smartlook:** update to 1.5.2 ([#3498](https://github.com/ionic-team/ionic-native/issues/3498)) ([5aa5757](https://github.com/ionic-team/ionic-native/commit/5aa57577956c13e8fe34d2c658690df7daf86ef4))
# [5.27.0](https://github.com/ionic-team/ionic-native/compare/v5.26.0...v5.27.0) (2020-06-23)
### Bug Fixes
* **app-rate:** Add missing "openUrl" property to AppRatePreferences object ([#3456](https://github.com/ionic-team/ionic-native/issues/3456)) ([fe21b5b](https://github.com/ionic-team/ionic-native/commit/fe21b5b97c150e16740b91bf958f7110b2e35664))
* **camera-preview:** tapFocus ([#3467](https://github.com/ionic-team/ionic-native/issues/3467)) ([7c95e66](https://github.com/ionic-team/ionic-native/commit/7c95e660215e96ce238c0194bbe91ba16886a78a))
* **firebase-x:** add fakeVerificationCode param to verifyPhoneNumber ([#3451](https://github.com/ionic-team/ionic-native/issues/3451)) ([191c7a0](https://github.com/ionic-team/ionic-native/commit/191c7a044d15c31a4bba4c23010cdd728398eb89))
* **firebase-x:** indicate callback methods to verifyPhoneNumber ([#3457](https://github.com/ionic-team/ionic-native/issues/3457)) ([66896b2](https://github.com/ionic-team/ionic-native/commit/66896b2632250ee8a33af909f7c0e008c6abc872))
* **jumio:** update plugin reference and source ([#3428](https://github.com/ionic-team/ionic-native/issues/3428)) ([389a3fb](https://github.com/ionic-team/ionic-native/commit/389a3fb215711deb5e5404fd5b268b20825af958))
* **launch-review:** Allow rating() callback to be invoked multiple times ([#3455](https://github.com/ionic-team/ionic-native/issues/3455)) ([40b9295](https://github.com/ionic-team/ionic-native/commit/40b9295de64e27c652f58fa37a4bb50c6bc2cdc4))
### Features
* **admob:** add interfaces and method typings ([#3461](https://github.com/ionic-team/ionic-native/issues/3461)) ([b2afc13](https://github.com/ionic-team/ionic-native/commit/b2afc131caeea56b9e01edc6169fdce9b57e9569))
* **broadcaster:** align plugin API to version 4.1.0 ([#3432](https://github.com/ionic-team/ionic-native/issues/3432)) ([324334e](https://github.com/ionic-team/ionic-native/commit/324334eb287dd8e3e82b2d5d64e8fb06b496a1f0))
* **build-info:** add plugin ([#3465](https://github.com/ionic-team/ionic-native/issues/3465)) ([7b998b9](https://github.com/ionic-team/ionic-native/commit/7b998b96449cdc1abf90548115caa0435ee89a84))
* **camera-preview:** add record video functions ([#3463](https://github.com/ionic-team/ionic-native/issues/3463)) ([7ae1df2](https://github.com/ionic-team/ionic-native/commit/7ae1df2489b8ff524c1ba1bfa7624dcb50247905))
* **chooser:** add getFileMetadata ([#3425](https://github.com/ionic-team/ionic-native/issues/3425)) ([79c3284](https://github.com/ionic-team/ionic-native/commit/79c3284434fbb580642b44d3d91cf01c82e52d0f))
* **CleverTap:** Update Plugin for Parity Support ([#3435](https://github.com/ionic-team/ionic-native/issues/3435)) ([3df35b4](https://github.com/ionic-team/ionic-native/commit/3df35b40ce49b1a176ae03a3516df37ceb7cdec6))
* **fcm:** add requestPushPermissionIOS and createNotificationChannelAndroid functions ([#3430](https://github.com/ionic-team/ionic-native/issues/3430)) ([ef17dc5](https://github.com/ionic-team/ionic-native/commit/ef17dc5d07e401369fa8353913a80b36f3cfdc4c))
* **firebase-dynamic-links:** Update plugin for parity ([#3437](https://github.com/ionic-team/ionic-native/issues/3437)) ([7f09758](https://github.com/ionic-team/ionic-native/commit/7f0975803f2e84ed536922dde542e4d50549f919))
* **firebase-vision:** add barcodeDetector ([#3426](https://github.com/ionic-team/ionic-native/issues/3426)) ([1aacb48](https://github.com/ionic-team/ionic-native/commit/1aacb487a4577e2f6854e59f30f215c301ad60ee))
* **firebase-x:** add missing methods from plugin, incl. authenticateUserWithApple ([#3458](https://github.com/ionic-team/ionic-native/issues/3458)) ([32203e9](https://github.com/ionic-team/ionic-native/commit/32203e9ac1a0ca5368b320d1b05f44da3addd2bf))
* **ios-aswebauthenticationsession:** add plugin ([#3421](https://github.com/ionic-team/ionic-native/issues/3421)) ([742ff65](https://github.com/ionic-team/ionic-native/commit/742ff655968c908911b3174d8a9893c6716b20d8))
* **vibes:** add support for inbox messaging ([#3466](https://github.com/ionic-team/ionic-native/issues/3466)) ([9bf1eaf](https://github.com/ionic-team/ionic-native/commit/9bf1eafc4eb1e3562dfeff54f87f1da95d0a9fe4))
# [5.26.0](https://github.com/ionic-team/ionic-native/compare/v5.25.0...v5.26.0) (2020-05-16)

View File

@@ -168,6 +168,7 @@ A decorator to wrap the main plugin class, and any other classes that will use `
Checks if the plugin and the method are available before executing. By default, the decorator will wrap the callbacks of the function and return a Promise. This decorator takes the following configuration options:
- **observable**: set to true to return an Observable
- **methodName**: an optional name of the cordova plugins method name (if different from wrappers method name)
- **clearFunction**: an optional name of a method to clear the observable we returned
- **clearWithArgs**: This can be used if clearFunction is set. Set this to true to call the clearFunction with the same arguments used in the initial function.
- **sync**: set to true if the method should return the value as-is without wrapping with Observable/Promise

View File

@@ -3,7 +3,7 @@ jobs:
build:
working_directory: ~/ionic-native/
docker:
- image: node:12
- image: node:14
steps:
- checkout
- restore_cache:

5235
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,12 @@
{
"name": "ionic-native",
"version": "5.26.0",
"version": "5.33.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)",
"license": "MIT",
"scripts": {
"prepare": "is-ci || husky install",
"test": "jest",
"test:watch": "jest --watch",
"build:core": "tsc -p tsconfig.core.json",
@@ -20,53 +21,57 @@
"docs-json": "ts-node -P scripts/tsconfig.json scripts/docs-json",
"version": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md",
"shipit": "npm run build && npm run readmes && npm run npmpub",
"prettier": "prettier --write \"**/*.{js,json,css,scss,less,md,ts,html,component.html}\""
"prettier": "prettier src/**/* --write"
},
"dependencies": {
"tslib": "^2.2.0"
},
"devDependencies": {
"@angular/common": "^9.1.7",
"@angular/compiler": "^9.1.7",
"@angular/compiler-cli": "^9.1.7",
"@angular/core": "^9.1.7",
"@angular/common": "^11.2.13",
"@angular/compiler": "^11.2.13",
"@angular/compiler-cli": "^11.2.13",
"@angular/core": "^11.2.13",
"@types/cordova": "0.0.34",
"@types/fs-extra": "^9.0.1",
"@types/jest": "^25.2.3",
"@types/lodash": "^4.14.152",
"@types/node": "^12.12.41",
"@types/fs-extra": "^9.0.11",
"@types/jest": "^26.0.23",
"@types/lodash": "^4.14.168",
"@types/node": "^12.20.12",
"@types/rimraf": "^3.0.0",
"@types/webpack": "^4.41.13",
"ajv": "^6.12.2",
"@types/webpack": "^4.41.28",
"async-promise-queue": "^1.0.5",
"conventional-changelog-cli": "^2.0.34",
"cz-conventional-changelog": "^3.2.0",
"dgeni": "^0.4.12",
"conventional-changelog-cli": "^2.1.1",
"cz-conventional-changelog": "^3.3.0",
"dgeni": "^0.4.14",
"dgeni-packages": "0.16.10",
"fs-extra": "^9.0.0",
"fs-extra": "^10.0.0",
"gulp": "^4.0.2",
"gulp-rename": "^2.0.0",
"gulp-replace": "^1.0.0",
"gulp-replace": "^1.1.3",
"gulp-tslint": "^8.1.4",
"husky": "^4.2.5",
"jest": "^26.0.1",
"lint-staged": "^10.2.4",
"lodash": "^4.17.15",
"husky": "^6.0.0",
"is-ci": "^3.0.0",
"jest": "^26.6.3",
"lint-staged": "^11.0.0",
"lodash": "^4.17.21",
"minimist": "^1.2.5",
"natives": "^1.1.6",
"prettier": "^2.0.5",
"prettier": "^2.3.0",
"rimraf": "^3.0.2",
"rxjs": "^6.5.5",
"ts-jest": "^26.0.0",
"ts-node": "^8.10.1",
"tslint": "^5.20.1",
"rollup": "^2.47.0",
"rxjs": "^6.6.7",
"ts-jest": "^26.5.6",
"ts-node": "~8.3.0",
"tslint": "~6.1.0",
"tslint-config-prettier": "^1.18.0",
"tslint-ionic-rules": "0.0.21",
"typedoc": "^0.17.7",
"typescript": "~3.8.3",
"typescript-tslint-plugin": "0.5.5",
"typedoc": "^0.18.0",
"typescript": "~4.1.5",
"typescript-tslint-plugin": "^1.0.1",
"uglifyjs-webpack-plugin": "^2.2.0",
"unminified-webpack-plugin": "^2.0.0",
"webpack": "^4.43.0",
"winston": "^3.2.1",
"zone.js": "^0.10.3"
"webpack": "^4.46.0",
"winston": "^3.3.3",
"zone.js": "^0.11.4"
},
"jest": {
"transform": {
@@ -93,17 +98,9 @@
"path": "./node_modules/cz-conventional-changelog"
}
},
"dependencies": {
"tslib": "^1.13.0"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*": [
"prettier --write"
"prettier src/**/* --write"
]
}
}

View File

@@ -2,6 +2,7 @@ import * as ts from 'typescript';
import * as fs from 'fs-extra';
import * as path from 'path';
import * as rimraf from 'rimraf';
import * as rollup from 'rollup';
import { generateDeclarations } from './transpile';
import { clone } from 'lodash';
import { EmitFlags, createCompilerHost, CompilerOptions, CompilerHost, createProgram } from '@angular/compiler-cli';
@@ -54,6 +55,31 @@ export function generateDeclarationFiles() {
generateDeclarations(PLUGIN_PATHS.map(p => p.replace('index.ts', 'ngx/index.ts')));
}
export function generateLegacyBundles() {
[
path.resolve(ROOT, 'dist/@ionic-native/core/index.js'),
...PLUGIN_PATHS.map(p =>
p.replace(path.join(ROOT, 'src'), path.join(ROOT, 'dist')).replace('index.ts', 'ngx/index.js')
),
].forEach(p =>
rollup
.rollup({
input: p,
onwarn(warning, warn) {
if (warning.code === 'UNUSED_EXTERNAL_IMPORT') return;
warn(warning);
},
external: ['@angular/core', '@ionic-native/core', 'rxjs', 'tslib'],
})
.then(bundle =>
bundle.write({
file: path.join(path.dirname(p), 'bundle.js'),
format: 'cjs',
})
)
);
}
// remove reference to @ionic-native/core decorators
export function modifyMetadata() {
debugger;

View File

@@ -4,6 +4,7 @@ import { getMethodsForDecorator } from '../helpers';
function transformImports(file: ts.SourceFile, ctx: ts.TransformationContext, ngcBuild?: boolean) {
// remove angular imports
if (!ngcBuild) {
// @ts-expect-error
file.statements = (file.statements as any).filter(
(s: any) => !(s.kind === ts.SyntaxKind.ImportDeclaration && s.moduleSpecifier.text === '@angular/core')
);

View File

@@ -54,7 +54,7 @@ function getMethodBlock(method: ts.MethodDeclaration, decoratorName: string, dec
default:
return ts.createCall(ts.createIdentifier(decoratorMethod), undefined, [
ts.createThis(),
ts.createLiteral((method.name as any).text),
ts.createLiteral(decoratorArgs?.methodName || (method.name as any).text),
convertValueToLiteral(decoratorArgs),
ts.createIdentifier('arguments'),
]);

View File

@@ -15,6 +15,8 @@ interface Plugin {
cordovaPlugin: {
name: string;
};
premierSlug: string;
capacitorIncompatible: boolean;
}
const rootDir = resolve(__dirname, '../..');
@@ -55,6 +57,9 @@ function processPlugin(pluginModule): Plugin {
const displayName = getTag(pluginClass, 'name');
const usage = getTag(pluginClass, 'usage');
const description = getTag(pluginClass, 'description');
const premierSlug = getTag(pluginClass, 'premier');
const capIncompat = getTag(pluginClass, 'capacitorincompatible');
const capacitorIncompatible = capIncompat ? true : undefined;
return {
packageName,
displayName,
@@ -66,6 +71,8 @@ function processPlugin(pluginModule): Plugin {
cordovaPlugin: {
name: decorator.plugin,
},
premierSlug,
capacitorIncompatible,
};
}

View File

@@ -31,11 +31,11 @@ function run {
if [ $CHANGED -eq 0 ];
then
echo "-- No changes detected for the following commit, docs not updated."
echo "https://github.com/ionic-team/$CIRCLE_PROJECT_REPONAME/commit/$CIRCLE_SHA1"
echo "https://github.com/ionic-team/$GITHUB_PROJECT_REPONAME/commit/$GITHUB_SHA1"
else
git config --global user.email "hi@ionicframework.com"
git config --global user.name "Ionitron"
git commit -am "Automated build of native docs ionic-team/$CIRCLE_PROJECT_REPONAME@$CIRCLE_SHA1"
git commit -am "Automated build of native docs ionic-team/$GITHUB_PROJECT_REPONAME@$GITHUB_SHA1"
# in case a different commit was pushed to ionic-site during doc/demo gen,
# try to rebase around it before pushing
git fetch

View File

@@ -1,7 +1,15 @@
import { cleanupNgx, generateDeclarationFiles, modifyMetadata, transpileNgx, transpileNgxCore } from '../build/ngx';
import {
cleanupNgx,
generateLegacyBundles,
generateDeclarationFiles,
modifyMetadata,
transpileNgx,
transpileNgxCore,
} from '../build/ngx';
transpileNgxCore();
transpileNgx();
generateLegacyBundles();
generateDeclarationFiles();
modifyMetadata();
cleanupNgx();

View File

@@ -15,6 +15,7 @@ const FLAGS = '--access public';
const PACKAGE_JSON_BASE = {
description: 'Ionic Native - Native plugins for ionic apps',
main: 'bundle.js',
module: 'index.js',
typings: 'index.d.ts',
author: 'ionic',
@@ -78,7 +79,7 @@ async function publish(ignoreErrors = false) {
// upload 1 package per CPU thread at a time
const worker = Queue.async.asyncify(
(pkg: any) =>
new Promise<any>((resolve, reject) => {
new Promise<string | void>((resolve, reject) => {
exec(`npm publish ${pkg} ${FLAGS}`, (err, stdout) => {
if (stdout) {
Logger.verbose(stdout.trim());

View File

@@ -33,6 +33,10 @@ export interface PluginConfig {
export interface CordovaOptions {
destruct?: boolean;
/**
* If the method-name of the cordova plugin is different from the wrappers one, it can be defined here
*/
methodName?: string;
/**
* Set to true if the wrapped method is a sync function
*/

View File

@@ -45,17 +45,24 @@ export class AdjustConfig {
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 allowiAdInfoReading: boolean = null; // iOS only
private allowIdfaReading: boolean = null; // iOS only
private allowAdServicesInfoReading: boolean = null; // iOS only
private attributionCallback: (attribution: AdjustAttribution) => void = null;
private eventTrackingSucceededCallback: (event: AdjustEventSuccess) => void = null;
@@ -89,6 +96,14 @@ export class AdjustConfig {
this.defaultTracker = defaultTracker;
}
setExternalDeviceId(externalDeviceId: string) {
this.externalDeviceId = externalDeviceId;
}
setUrlStrategy(urlStrategy: AdjustUrlStrategy) {
this.urlStrategy = urlStrategy;
}
setSendInBackground(sendInBackground: boolean) {
this.sendInBackground = sendInBackground;
}
@@ -109,10 +124,30 @@ export class AdjustConfig {
this.isDeviceKnown = isDeviceKnown;
}
setNeedsCost(needsCost: boolean) {
this.needsCost = needsCost;
}
setProcessName(processName: string) {
this.processName = processName;
}
setPreinstallTrackingEnabled(preinstallTrackingEnabled: boolean) {
this.preinstallTrackingEnabled = preinstallTrackingEnabled;
}
setAllowiAdInfoReading(allowiAdInfoReading: boolean) {
this.allowiAdInfoReading = allowiAdInfoReading;
}
setAllowIdfaReading(allowIdfaReading: boolean) {
this.allowIdfaReading = allowIdfaReading;
}
setAllowAdServicesInfoReading(allowAdServicesInfoReading: boolean) {
this.allowAdServicesInfoReading = allowAdServicesInfoReading;
}
setAttributionCallbackListener(attributionCallback: (attribution: AdjustAttribution) => void) {
this.attributionCallback = attributionCallback;
}
@@ -188,6 +223,92 @@ export class AdjustConfig {
}
}
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) {
this.price = price;
this.currency = currency;
this.transactionId = transactionId;
this.receipt = receipt;
}
setTransactionDate(transactionDate: string): void {
this.transactionDate = transactionDate;
}
setSalesRegion(salesRegion: string): void {
this.salesRegion = salesRegion;
}
addCallbackParameter(key: string, value: string): void {
this.callbackParameters.push(key);
this.callbackParameters.push(value);
}
addPartnerParameter(key: string, value: string): void {
this.partnerParameters.push(key);
this.partnerParameters.push(value);
}
}
export class AdjustPlayStoreSubscription {
private price: string;
private currency: string;
private sku: string;
private orderId: string;
private signature: string;
private purchaseToken: string;
private purchaseTime: string;
private callbackParameters: string[] = [];
private partnerParameters: string[] = [];
constructor(price: string, currency: string, sku: string, orderId: string, signature: string, purchaseToken: string) {
this.price = price;
this.currency = currency;
this.sku = sku;
this.orderId = orderId;
this.signature = signature;
this.purchaseToken = purchaseToken;
}
setPurchaseTime(purchaseTime: string): void {
this.purchaseTime = purchaseTime;
}
addCallbackParameter(key: string, value: string): void {
this.callbackParameters.push(key);
this.callbackParameters.push(value);
}
addPartnerParameter(key: string, value: string): void {
this.partnerParameters.push(key);
this.partnerParameters.push(value);
}
}
export class AdjustThirdPartySharing {
private isEnabled: boolean;
private granularOptions: string[] = [];
constructor(isEnabled: boolean) {
this.isEnabled = isEnabled;
}
addGranularOption(partnerName: string, key: string, value: string): void {
this.granularOptions.push(partnerName);
this.granularOptions.push(key);
this.granularOptions.push(value);
}
}
export interface AdjustAttribution {
trackerToken: string;
trackerName: string;
@@ -197,6 +318,9 @@ export interface AdjustAttribution {
creative: string;
clickLabel: string;
adid: string;
costType: string;
costAmount: string;
costCurrency: string;
}
export interface AdjustSessionSuccess {
@@ -248,6 +372,33 @@ export enum AdjustLogLevel {
Suppress = 'SUPPRESS',
}
export enum AdjustUrlStrategy {
India = 'India',
China = 'China',
}
export enum AdjustAdRevenueSource {
AdRevenueSourceMopub = 'mopub',
AdRevenueSourceAdmob = 'admob',
AdRevenueSourceFbNativeAd = 'facebook_native_ad',
AdRevenueSourceFbAudienceNetwork = 'facebook_audience_network',
AdRevenueSourceIronsource = 'ironsource',
AdRevenueSourceFyber = 'fyber',
AdRevenueSourceAerserv = 'aerserv',
AdRevenueSourceAppodeal = 'appodeal',
AdRevenueSourceAdincube = 'adincube',
AdRevenueSourceFusePowered = 'fusepowered',
AdRevenueSourceAddapptr = 'addapptr',
AdRevenueSourceMillennialMediation = 'millennial_mediation',
AdRevenueSourceFlurry = 'flurry',
AdRevenueSourceAdmost = 'admost',
AdRevenueSourceDeltadna = 'deltadna',
AdRevenueSourceUpsight = 'upsight',
AdRevenueSourceUnityAds = 'unityads',
AdRevenueSourceAdtoapp = 'adtoapp',
AdRevenueSourceTapdaq = 'tapdaq',
}
/**
* @name Adjust
* @description
@@ -257,7 +408,7 @@ export enum AdjustLogLevel {
*
* @usage
* ```typescript
* import { Adjust, AdjustConfig, AdjustEnvironment } from '@ionic-native/adjust/ngx';
* import { Adjust, AdjustConfig, AdjustEnvironment } from '@ionic-native/adjust';
*
* constructor(private adjust: Adjust) { }
*
@@ -278,9 +429,14 @@ export enum AdjustLogLevel {
* @classes
* AdjustEvent
* AdjustConfig
* AdjustAppStoreSubscription
* AdjustPlayStoreSubscription
* AdjustThirdPartySharing
* @enums
* AdjustEnvironment
* AdjustLogLevel
* AdjustUrlStrategy
* AdjustAdRevenueSource
*/
@Plugin({
pluginName: 'Adjust',
@@ -305,6 +461,42 @@ export class Adjust extends IonicNativePlugin {
@Cordova({ sync: true })
trackEvent(event: AdjustEvent): void {}
/**
* This method tracks App Store subscription
* @param {AdjustAppStoreSubscription} subscription Adjust App Store subscription object to be tracked
*/
@Cordova({ sync: true })
trackAppStoreSubscription(subscription: AdjustAppStoreSubscription): void {}
/**
* This method tracks Play Store subscription
* @param {AdjustPlayStoreSubscription} subscription Adjust Play Store subscription object to be tracked
*/
@Cordova({ sync: true })
trackPlayStoreSubscription(subscription: AdjustPlayStoreSubscription): void {}
/**
* This method tracks third party sharing choice
* @param {AdjustThirdPartySharing} thirdPartySharing Adjust third party sharing object to be tracked
*/
@Cordova({ sync: true })
trackThirdPartySharing(thirdPartySharing: AdjustThirdPartySharing): void {}
/**
* This method tracks ad revenue data
* @param {AdjustAdRevenueSource} source Ad revenue source
* @param {string} payload Ad revenue JSON string payload
*/
@Cordova({ sync: true })
trackAdRevenue(source: AdjustAdRevenueSource, payload: string): void {}
/**
* This method tracks measurement consent choice
* @param {boolean} measurementConsent set measurement consent to true or false
*/
@Cordova({ sync: true })
trackMeasurementConsent(measurementConsent: boolean): void {}
/**
* This method sets offline mode on or off
* @param {boolean} enabled set to true for offline mode on
@@ -350,6 +542,13 @@ export class Adjust extends IonicNativePlugin {
@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
* @return {Promise<string>} Returns a promise with google AdId value
@@ -452,4 +651,30 @@ export class Adjust extends IonicNativePlugin {
*/
@Cordova({ sync: true })
sendFirstPackages(): void {}
/**
* Request Adjust SDK to show pop up dialog for asking user's consent to be tracked.
* In order to do this, call this function
* @return {Promise<number>} Returns a promise with user's consent value
*/
@Cordova()
requestTrackingAuthorizationWithCompletionHandler(): Promise<number> {
return;
}
/**
* You can update SKAdNetwork conversion value with calling this method
* @param {number} conversionValue conversion value for the user
*/
@Cordova({ sync: true })
updateConversionValue(conversionValue: number): void {}
/**
* To obtain the app tracking authorization status in iOS, call this function
* @return {Promise<number>} Returns a promise with app tracking authorization status
*/
@Cordova()
getAppTrackingAuthorizationStatus(): Promise<number> {
return;
}
}

View File

@@ -100,6 +100,7 @@ export interface AdExtras {
/**
* @paid
* @name AdMob Pro
* @capacitorincompatible true
* @description
* Plugin for Google Ads, including AdMob / DFP (DoubleClick for publisher) and mediations to other Ad networks.
*

View File

@@ -2,41 +2,42 @@ import { Injectable } from '@angular/core';
import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core';
import { Observable } from 'rxjs';
export interface AdmobOptions {
export interface AdmobBaseOptions {
/**
* Your publisher id code from your AdMob account
* (Optional) Your interstitial id code from your AdMob account. Defaults to bannerAdId
*/
publisherId: string;
interstitialAdId?: string;
/**
* (Optional) Your interstitial id code from your AdMob account. Defaults to publisherId
* (Optional) Indicates whether to put banner ads at top when set to true or at bottom when set to false. Defaults to false
*/
interstitiaAdlId?: string;
bannerAtTop?: boolean;
/**
* (Optional) Your rewarded id code from your AdMob account. Defaults to publisherId
* (Optional) Set to true to receive test ads (do not test with real ads as your account may be banned). Defaults to false
*/
rewardedAdId?: string;
isTesting?: boolean;
/**
* (Optional) Your ad slot code from your AdSense account. Only for browser platform
* (Optional) Auto show banner ads when available (onAdLoaded event is called). Defaults to true
*/
adSlot?: string;
autoShowBanner?: boolean;
/**
* (Optional) Indicates if show a close button on interstitial browser ads. Only for browser platform
* (Optional) Auto show interstitial ads when available (onAdLoaded event is called). Defaults to true
*/
interstitialShowCloseButton?: boolean;
autoShowInterstitial?: boolean;
}
export interface AdmobOptions extends AdmobBaseOptions {
/**
* Your banner id code from your AdMob account (https://support.google.com/admob/answer/7356431?hl=en)
*/
bannerAdId: string;
/**
* (Optional) Indicates the number of seconds that the interstitial ad waits before show the close button. Only for browser platform
* Deprecated. Now is only used in web. It will be used as a bannerAdId only in case it is undefined.
*/
secondsToShowCloseButton?: number;
/**
* (Optional) Indicates the number of seconds that the interstitial ad waits before close the ad. Only for browser platform
*/
secondsToCloseInterstitial?: number;
publisherId?: string;
/**
* (Optional) Your tappx id for iOS apps. If Admob is configured, it is also used to backfill your lost inventory (when there are no Admob ads available)
@@ -48,16 +49,21 @@ export interface AdmobOptions {
*/
tappxIdAndroid?: string;
/**
* AdMob rewarded id (https://support.google.com/admob/answer/7356431?hl=en)
*/
rewardedAdId?: string;
/**
* (Optional) Auto show rewarded ads when available (onAdLoaded event is called). Defaults to true
*/
autoShowRewarded?: boolean;
/**
* (Optional) If any of tappxId is present, it tells the percentage of traffic diverted to tappx. Defaults to 0.5 (50% of the traffic will be requested to Tappx)
*/
tappxShare?: number;
/**
* (Optional) Indicates whether to put banner ads at top when set to true or at bottom when set to false. Defaults to false
*/
bannerAtTop?: boolean;
/**
* (Optional) Indicates the size of banner ads
*/
@@ -73,34 +79,58 @@ export interface AdmobOptions {
*/
offsetStatusBar?: boolean;
/**
* (Optional) Set to true to receive test ads (do not test with real ads as your account may be banned). Defaults to false
*/
isTesting?: boolean;
/**
* (Options) A JSON object with additional {key: value} pairs
*/
adExtras?: any;
}
export interface AdmobWebOptions extends AdmobBaseOptions {
/**
* (Required) AdSense Publisher ID (https://support.google.com/adsense/answer/105516)
*/
publisherId: string;
/**
* (Optional) Auto show banner ads when available (onAdLoaded event is called). Defaults to true
* (Required) Your ad slot code from your AdSense account. Only for browser platform https://support.google.com/adsense/answer/105516
*/
autoShowBanner?: boolean;
adSlot: string;
/**
* (Optional) Auto show interstitial asd when available (onAdLoaded event is called). Defaults to true
* (Optional) Indicates if show a close button on interstitial browser ads. Only for browser platform
*/
autoShowInterstitial?: boolean;
interstitialShowCloseButton?: boolean;
/**
* (Optional) Auto show rewarded ads when available (onAdLoaded event is called). Defaults to true
* (Optional) Indicates the number of seconds that the interstitial ad waits before show the close button. Only for browser platform
*/
autoShowRewarded?: boolean;
secondsToShowCloseButton?: number;
/**
* (Optional) Indicates the number of seconds that the interstitial ad waits before close the ad. Only for browser platform
*/
secondsToCloseInterstitial?: number;
}
export interface AdMobEvent {
/**
* (Optional) AdMob supported type as seen in AD_TYPE
*/
adType?: string;
/**
* (Optional) AdMob error code
*/
error?: number;
/**
* (Optional) AdMob error reason
*/
reason?: string;
}
/**
* @name Admob
* @name AdMob
* @description
* Most complete Admob plugin with support for [Tappx](http://www.tappx.com/?h=dec334d63287772de859bdb4e977fce6) ads.
* Monetize your apps and games with AdMob ads, using latest Google AdMob SDK. With this plugin you can show AdMob ads easily!
@@ -112,15 +142,16 @@ export interface AdmobOptions {
* - [Tappx](http://www.tappx.com/?h=dec334d63287772de859bdb4e977fce6) ads
*
* @usage
* **Note:** No ads will be served on apps with package name `io.ionic.starter`. This is the default package name for new `ionic` apps. Make sure to rename the package name so ads can be displayed.
* ```typescript
* import { Admob, AdmobOptions } from '@ionic-native/admob/ngx';
* import { Admob, AdmobOptions } from '@ionic-native/admob';
*
*
* constructor(private admob: Admob) {
* // Admob options config
* const admobOptions: AdmobOptions = {
* publisherId: 'XXX-XXXX-XXXX',
* interstitialId: 'XXX-XXXX-XXXX',
* bannerAdId: 'XXX-XXXX-XXXX',
* interstitialAdId: 'XXX-XXXX-XXXX',
* rewardedAdId: 'XXX-XXXX-XXXX',
* isTesting: true,
* autoShowBanner: false,
@@ -253,11 +284,11 @@ export interface AdmobOptions {
* ```
*/
@Plugin({
pluginName: 'Admob',
pluginName: 'AdMob',
plugin: 'cordova-admob',
pluginRef: 'admob',
repo: 'https://github.com/appfeel/admob-google-cordova',
platforms: ['Android', 'iOS'],
platforms: ['Android', 'iOS', 'Browser'],
})
@Injectable()
export class Admob extends IonicNativePlugin {
@@ -293,7 +324,7 @@ export class Admob extends IonicNativePlugin {
* @return {Promise<any>} Returns a promise that resolves when the options are set
*/
@Cordova()
setOptions(options: AdmobOptions): Promise<any> {
setOptions(options: AdmobOptions | AdmobWebOptions): Promise<any> {
return;
}
@@ -303,7 +334,7 @@ export class Admob extends IonicNativePlugin {
* @return {Promise<any>} Returns a promise that resolves when the banner view is created
*/
@Cordova()
createBannerView(options?: AdmobOptions): Promise<any> {
createBannerView(options?: AdmobOptions | AdmobWebOptions): Promise<any> {
return;
}
@@ -333,7 +364,7 @@ export class Admob extends IonicNativePlugin {
* @return {Promise<any>} Returns a promise that resolves when the interstitial ad is loaded
*/
@Cordova()
requestInterstitialAd(options?: AdmobOptions): Promise<any> {
requestInterstitialAd(options?: AdmobOptions | AdmobWebOptions): Promise<any> {
return;
}
@@ -355,7 +386,7 @@ export class Admob extends IonicNativePlugin {
* @return {Promise<any>} Returns a promise that resolves when the rewarded ad is loaded
*/
@Cordova()
requestRewardedAd(options?: AdmobOptions): Promise<any> {
requestRewardedAd(options?: AdmobOptions | AdmobWebOptions): Promise<any> {
return;
}
@@ -369,108 +400,173 @@ export class Admob extends IonicNativePlugin {
}
/**
* Called when an ad is received
* @returns {Observable<any>} Returns an observable when an ad is received
* Called when an ad is received.
*
* *WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onAdLoaded, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
* @returns {Observable<AdMobEvent>} Returns an observable when an ad is received
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onAdLoaded',
element: document,
})
onAdLoaded(): Observable<any> {
onAdLoaded(): Observable<AdMobEvent> {
return;
}
/**
* Called when an ad request failed
* @returns {Observable<any>} Returns an observable when an ad request is failed
* Called when an ad request failed.
*
* *WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onAdFailedToLoad, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
* @returns {Observable<AdMobEvent>} Returns an observable when an ad request is failed
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onAdFailedToLoad',
element: document,
})
onAdFailedToLoad(): Observable<any> {
onAdFailedToLoad(): Observable<AdMobEvent> {
return;
}
/**
* Called when an ad opens an overlay that covers the screen.
* Please note that onPause cordova event is raised when an interstitial is shown
* @returns {Observable<any>} Returns an observable when an ad is opened
* Please note that onPause cordova event is raised when an interstitial is shown.
*
* *WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onAdOpened, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
* @returns {Observable<AdMobEvent>} Returns an observable when an ad is opened
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onAdOpened',
element: document,
})
onAdOpened(): Observable<any> {
onAdOpened(): Observable<AdMobEvent> {
return;
}
/**
* Called when the user is about to return to the application after clicking on an ad.
* Please note that onResume cordova event is raised when an interstitial is closed
* @returns {Observable<any>} Returns an observable when an ad is closed
* Please note that onResume cordova event is raised when an interstitial is closed.
*
* *WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onAdClosed, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
* @returns {Observable<AdMobEvent>} Returns an observable when an ad is closed
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onAdClosed',
element: document,
})
onAdClosed(): Observable<any> {
onAdClosed(): Observable<AdMobEvent> {
return;
}
/**
* Called when the user leaves the application after clicking an ad (e.g., to go to the browser)
* @returns {Observable<any>} Returns an observable when an ad leaves the application
* @returns {Observable<AdMobEvent>} Returns an observable when an ad leaves the application.
*
* *WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onAdLeftApplication, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
* @returns {Observable<AdMobEvent>} Returns an observable when application is left due to an ad click
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onAdLeftApplication',
element: document,
})
onAdLeftApplication(): Observable<any> {
onAdLeftApplication(): Observable<AdMobEvent> {
return;
}
/**
* Called when the user has been rewarded by an ad
* @returns {Observable<any>} Returns an observable when the user rewards an ad
* Called when the user has been rewarded by an ad.
*
* *WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onRewardedAd, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
* @returns {Observable<AdMobEvent>} Returns an observable when the user rewards an ad
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onRewardedAd',
element: document,
})
onRewardedAd(): Observable<any> {
onRewardedAd(): Observable<AdMobEvent> {
return;
}
/**
* Called when the video of a rewarded ad started
* @returns {Observable<any>} Returns an observable when the video is started
* Called when the video of a rewarded ad started.
*
* *WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onRewardedAdVideoStarted, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
* @returns {Observable<AdMobEvent>} Returns an observable when the video is started
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onRewardedAdVideoStarted',
element: document,
})
onRewardedAdVideoStarted(): Observable<any> {
onRewardedAdVideoStarted(): Observable<AdMobEvent> {
return;
}
/**
* Called when the video of a rewarded ad has completed
* @returns {Observable<any>} Returns an observable when the video is completed
* Called when the video of a rewarded ad has completed.
*
* *WARNING*: only **ionic^4**. Older versions of ionic, use:
*
* ```js
* document.addEventListener(window.admob.events.onRewardedAdVideoCompleted, () => { });
* ```
*
* Please refer to the documentation on https://admob-ionic.com/Events.
* @returns {Observable<AdMobEvent>} Returns an observable when the video is completed
*/
@Cordova({
eventObservable: true,
event: 'appfeel.cordova.admob.onRewardedAdVideoCompleted',
element: document,
})
onRewardedAdVideoCompleted(): Observable<any> {
onRewardedAdVideoCompleted(): Observable<AdMobEvent> {
return;
}
}

View File

@@ -0,0 +1,84 @@
import { Injectable } from '@angular/core';
import {
Plugin,
Cordova,
CordovaProperty,
CordovaInstance,
InstanceProperty,
IonicNativePlugin,
} from '@ionic-native/core';
import { Observable } from 'rxjs';
/**
* @name AllInOneSDK
* @description
* Paytm All-in-One SDK plugin for Cordova/Ionic Applications
* Paytm All-in-One SDK provides a swift, secure and seamless payment experience to your users by invoking the Paytm app (if installed on your users smartphone) to complete payment for your order.
* Paytm All-in-One SDK enables payment acceptance via Paytm wallet, Paytm Payments Bank, saved Debit/Credit cards, Net Banking, BHIM UPI and EMI as available in your customers Paytm account. If Paytm app is not installed on a customer's device, the transaction will be processed via web view within the All-in-One SDK.
* For more information about Paytm All-in-One SDK, please visit https://developer.paytm.com/docs/all-in-one-sdk/hybrid-apps/cordova/
*
* @usage
* ```typescript
* import { AllInOneSDK } from '@ionic-native/all-in-one-sdk/ngx';
*
*
* constructor(private allInOneSDK: AllInOneSDK) { }
*
* ...
*
* For below parameters see [documentation](https://developer.paytm.com/docs/all-in-one-sdk/hybrid-apps/cordova/)
* let paymentIntent = { mid : merchantID, orderId: orderId, txnToken: transactionToken, amount: amount, isStaging: isStaging, callbackUrl:callBackURL, restrictAppInvoke:restrictAppInvoke }
*
* this.allInOneSDK.startTransaction(paymentIntent)
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*
* For iOS:
* After adding the plugin, open the iOS project, you can find the same at <projectName>/platforms/ios.
* In case merchant dont have callback URL, Add an entry into Info.plist LSApplicationQueriesSchemes(Array) Item 0 (String)-> paytm
* Add a URL Scheme “paytm”+”MID”
*
*/
@Plugin({
pluginName: 'AllInOneSDK',
plugin: 'cordova-paytm-allinonesdk',
pluginRef: 'AllInOneSDK',
repo: 'https://github.com/paytm/paytm-allinonesdk-ionic-cordova.git',
platforms: ['Android', 'iOS'],
})
export class AllInOneSDK extends IonicNativePlugin {
/**
* This function checks if Paytm Application is available on the device.
* If Paytm exists then it invokes Paytm Application with the parameters sent and creates an order.
* If the Paytm Application is not available the transaction is continued on a webView within All-in-One SDK.
* @param options {PaymentIntentModel} These parameters are required and will be used to create an order.
* @return {Promise<PaytmResponse>} Returns a promise that resolves when a transaction completes(both failed and successful).
*/
@Cordova()
startTransaction(options: PaymentIntentModel): Promise<PaytmResponse> {
return;
}
}
/**
* The response that will be recieved when any transaction is completed
*/
export interface PaytmResponse {
message: string;
response: string; // A stringified response of a hashmap returned from All-in-One SDK
}
/**
* For below parameters see [documentation](https://developer.paytm.com/docs/all-in-one-sdk/hybrid-apps/cordova/)
*/
export interface PaymentIntentModel {
mid: string; // Merchant ID
orderId: string; // Order ID
txnToken: string; // Transaction Token
amount: string; // Amount
isStaging: boolean; // Environment
callbackUrl: string; // Callback URL
restrictAppInvoke: boolean; // To enable or disable the paytm app invocation
}

View File

@@ -0,0 +1,99 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
/**
* @name Android Notch
* @description
* This plugin enables developers to get the cutout and android devices inset sizes
* It is based on the cordova plugin developed by @tobspr: https://github.com/tobspr/cordova-plugin-android-notch
* This plugin works on all android versions, but we can only detect notches starting from Android 9.
*
* @usage
* ```typescript
* import { AndroidNotch } from '@ionic-native/android-notch/ngx';
*
*
* constructor(private androidNotch: AndroidNotch) { }
*
* ...
*
*
* this.androidNotch.hasCutout()
* .then((px: number) => console.log('Inset size: '), px)
* .catch((error: any) => console.log('Error: ', error))
*
* this.androidNotch.getInsetTop()
* .then((px: number) => console.log('Inset size: '), px)
* .catch((error: any) => console.log('Error: ', error))
*
* this.androidNotch.getInsetRight()
* .then((px: number) => console.log('Inset size: '), px)
* .catch((error: any) => console.log('Error: ', error))
*
* this.androidNotch.getInsetBottom()
* .then((px: number) => console.log('Inset size: '), px)
* .catch((error: any) => console.log('Error: ', error))
*
* this.androidNotch.getInsetLeft()
* .then((px: number) => console.log('Inset size: '), px)
* .catch((error: any) => console.log('Error: ', error))
*
* ```
*/
@Plugin({
pluginName: 'AndroidNotch',
plugin: 'cordova-plugin-android-notch',
pluginRef: 'AndroidNotch',
repo: 'https://github.com/tobspr/cordova-plugin-android-notch.git',
platforms: ['Android'],
})
@Injectable()
export class AndroidNotch extends IonicNativePlugin {
/**
* Returns true if the android device has cutout
*
* @return {Promise<boolean>}
*/
@Cordova()
hasCutout(): Promise<boolean> {
return;
}
/**
* Returns the heigth of the top inset
*
* @return {Promise<number>}
*/
@Cordova()
getInsetTop(): Promise<number> {
return;
}
/**
* Returns the heigth of the right inset
*
* @return {Promise<number>}
*/
@Cordova()
getInsetRight(): Promise<number> {
return;
}
/**
* Returns the heigth of the bottom inset
* @return {Promise<number>}
*/
@Cordova()
getInsetBottom(): Promise<number> {
return;
}
/**
* Returns the heigth of the left inset
* @return {Promise<number>}
*/
@Cordova()
getInsetLeft(): Promise<number> {
return;
}
}

View File

@@ -3,6 +3,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
/**
* @name Android Permissions
* @premier android-permissions
* @description
* This plugin is designed to support Android new permissions checking mechanism.
*

View File

@@ -0,0 +1,41 @@
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
/**
* @name App Center Low Memory
* @description
* Generates a low memory warning.
* For more info, please see: https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-generate-low-memory
*
* @usage
* ```typescript
* import { LowMemory } from '@ionic-native/app-center-low-memory/ngx';
*
* ...
*
* constructor(private lowMemory: LowMemory) { }
*
* async warning() {
* await this.lowMemory.generateLowMemory();
* }
* ```
*/
@Plugin({
pluginName: 'LowMemory',
plugin: 'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-generate-low-memory',
pluginRef: 'LowMemory',
repo: 'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-generate-low-memory',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class LowMemory extends IonicNativePlugin {
/**
* Generates a low memory warning.
* For more info, please see: https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-generate-low-memory
* @returns {Promise<void>}
*/
@Cordova()
generateLowMemory(): Promise<void> {
return;
}
}

View File

@@ -0,0 +1,62 @@
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
/**
* @name App Center Shared
* @capacitorincompatible true
* @description
* Exposes additional shared APIs for App Center.
*
* For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/other-apis/cordova
*
* @usage
* ```typescript
* import { AppCenter } from '@ionic-native/app-center-shared/ngx';
*
* ...
*
* constructor(private appCenterShared: AppCenter) { }
*
* async getInstallId() {
* const id = await this.appCenter.getInstallId();
* }
*
* async setUserId() {
* try{
* await this.appCenter.setUserId('i-am-john');
* } catch (e){
* console.log(e);
* }
* }
* ```
*/
@Plugin({
pluginName: 'AppCenter',
plugin: 'cordova-plugin-appcenter-shared',
pluginRef: 'AppCenter',
repo: 'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-shared',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class AppCenter extends IonicNativePlugin {
/**
* Returns AppCenter UUID.
* For more info, please see: https://docs.microsoft.com/en-us/appcenter/sdk/other-apis/cordova#identify-installations
* @returns {Promise<string>} Install ID
*/
@Cordova()
getInstallId(): Promise<string> {
return;
}
/**
* Set a user ID that's used to augment crash reports.
* For more info, please see: https://docs.microsoft.com/en-us/appcenter/sdk/other-apis/cordova#identify-users
* @param {string} userId Ex. "your-user-id"
* @returns {Promise<void>}
*/
@Cordova()
setUserId(userId: string): Promise<void> {
return;
}
}

View File

@@ -1,6 +1,50 @@
import { Injectable } from '@angular/core';
import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core';
export enum AppRateReviewTypeIos {
/**
* Write review directly in your application (iOS 10.3+), limited to 3 prompts per year.
* Will fallback to 'AppStoreReview' for other iOS versions
*/
InAppReview = 'InAppReview',
/**
* Open the store within the app. Use this option as an alternative to inAppReview to avoid the rate action from doing nothing
*/
AppStoreReview = 'AppStoreReview',
/**
* Open the store using the openUrl preference (defaults to InAppBrowser). Be advised that WKWebView might not open the app store links
*/
InAppBrowser = 'InAppBrowser',
}
export enum AppRateReviewTypeAndroid {
/**
* Write review directly in your application. Will fallback to InAppBrowser if not available
*/
InAppReview = 'InAppReview',
/**
* Open the store using the openUrl preference (defaults to InAppBrowser)
*/
InAppBrowser = 'InAppBrowser',
}
export enum AppRatePromptType {
/**
* Prompt asking to rate the app.
*/
AppRatingPrompt = 'AppRatingPrompt',
/**
* Prompt asking to rate the app within the store.
*/
StoreRatingPrompt = 'StoreRatingPrompt',
/**
* Prompt asking to give feedback.
*/
FeedbackPrompt = 'FeedbackPrompt',
}
export interface AppRatePreferences {
/**
* Custom BCP 47 language tag
@@ -22,11 +66,29 @@ export interface AppRatePreferences {
*/
usesUntilPrompt?: number;
reviewType?: {
/**
* the type of review display to show the user on iOS
* Default: AppStoreReview
*/
ios?: AppRateReviewTypeIos;
/**
* the type of review display to show the user on Android
* Default: InAppBrowser
*/
android?: AppRateReviewTypeAndroid;
};
/**
* Simple Mode to display the rate dialog directly and bypass negative feedback filtering flow
*/
simpleMode?: boolean;
/**
* Disabling would skip displaying a rate dialog if in app review is set and available. Defaults to `true`
*/
showPromptForInAppReview?: boolean;
/**
* leave app or no when application page opened in app store (now supported only for iOS). Defaults to `false`
*/
@@ -51,6 +113,11 @@ export interface AppRatePreferences {
* App Store URLS
*/
storeAppURL?: AppUrls;
/**
* Open URL function
*/
openUrl?: (url: string) => void;
}
export interface AppRateCustomLocale {
@@ -88,20 +155,30 @@ export interface AppRateCustomLocale {
feedbackPromptMessage?: string;
}
export interface AppRateLocales {
addLocale(localeObject: AppRateCustomLocale): AppRateCustomLocale;
getLocale(language: string, applicationTitle?: string, customLocale?: AppRateCustomLocale);
getLocalesNames(): { [prop: string]: AppRateCustomLocale };
}
export interface AppRateCallbacks {
/**
* call back function. called when user clicked on rate-dialog buttons
*/
onButtonClicked?: Function;
onButtonClicked?: (buttonIndex: number, buttonLabel: string, promptType: AppRatePromptType) => void;
/**
* call back function. called when rate-dialog showing
*/
onRateDialogShow?: Function;
onRateDialogShow?: (rateCallback: (buttonIndex: number) => void) => void;
/**
* call back function. called when user clicked on negative feedback
*/
handleNegativeFeedback?: Function;
handleNegativeFeedback?: () => void;
done?: () => void;
}
export interface AppUrls {
@@ -133,6 +210,7 @@ export interface AppUrls {
/**
* @name App Rate
* @premier app-rate
* @description
* The AppRate plugin makes it easy to prompt the user to rate your app, either now, later, or never.
*
@@ -190,12 +268,38 @@ export class AppRate extends IonicNativePlugin {
@CordovaProperty()
preferences: AppRatePreferences;
/**
* Manager custom locales
*/
@CordovaProperty()
locales: AppRateLocales;
/**
* Set preferences
* @return void
*/
@Cordova()
setPreferences(pref: AppRatePreferences): void {
return;
}
/**
* Get preferences
* @return AppRatePreferences
*/
@Cordova()
getPreferences(): AppRatePreferences {
return;
}
/**
* Prompts the user for rating
* @param {boolean} immediately Show the rating prompt immediately.
*/
@Cordova()
promptForRating(immediately: boolean): void {}
promptForRating(immediately?: boolean): void {
return;
}
/**
* Immediately send the user to the app store rating page

View File

@@ -3,6 +3,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
/**
* @name App Version
* @premier app-version
* @description
* Reads the version of your app from the target build settings.
*

View File

@@ -31,6 +31,11 @@ export interface AppsflyerOptions {
* default false Accessing AppsFlyer Attribution / Conversion Data from the SDK (Deferred Deeplinking). Read more: Android, iOS. AppsFlyer plugin will return attribution data in onSuccess callback.
*/
onInstallConversionDataListener?: boolean;
/**
* time for the sdk to wait before launch - IOS 14 ONLY!
*/
waitForATTUserAuthorization?: number;
}
export interface AppsflyerEvent {
@@ -94,8 +99,8 @@ export class Appsflyer extends IonicNativePlugin {
* @param {string} eventName custom event name, is presented in your dashboard
* @param {AppsflyerEvent} eventValues event details
*/
@Cordova({ sync: true })
trackEvent(eventName: string, eventValues: AppsflyerEvent): void {}
@Cordova()
logEvent(eventName: string, eventValues: AppsflyerEvent): void {}
/**
* Setting your own Custom ID enables you to cross-reference your own unique ID with AppsFlyers user ID and the other devices IDs. This ID is available in AppsFlyer CSV reports along with postbacks APIs for cross-referencing with you internal IDs.
@@ -109,7 +114,7 @@ export class Appsflyer extends IonicNativePlugin {
* @param {boolean} customerUserId In some extreme cases you might want to shut down all SDK tracking due to legal and privacy compliance. This can be achieved with the isStopTracking API. Once this API is invoked, our SDK will no longer communicate with our servers and stop functioning.
*/
@Cordova({ sync: true })
stopTracking(isStopTracking: boolean): void {}
Stop(isStopTracking: boolean): void {}
/**
* Get the data from Attribution
@@ -121,6 +126,7 @@ export class Appsflyer extends IonicNativePlugin {
}
/**
* @deprecated
* Enables app uninstall tracking
* @param {string} token GCM/FCM ProjectNumber
* @returns {Promise<any>}
@@ -157,7 +163,7 @@ export class Appsflyer extends IonicNativePlugin {
* @param {boolean} disable Set to true to opt-out user from tracking
*/
@Cordova({ sync: true })
deviceTrackingDisabled(disable: boolean): void {}
anonymizeUser(disable: boolean): void {}
/**
* Set AppsFlyers OneLink ID. Setting a valid OneLink ID will result in shortened User Invite links, when one is generated. The OneLink ID can be obtained on the AppsFlyer Dashboard.
@@ -182,7 +188,7 @@ export class Appsflyer extends IonicNativePlugin {
* @param {string} campaign Promoted Campaign
*/
@Cordova({ sync: true })
trackCrossPromotionImpression(appId: string, campaign: string): void {}
logCrossPromotionImpression(appId: string, campaign: string): void {}
/**
* Use this call to track the click and launch the app store's app page (via Browser)
@@ -191,5 +197,5 @@ export class Appsflyer extends IonicNativePlugin {
* @param {Object} options Additional Parameters to track
*/
@Cordova({ sync: true })
trackAndOpenStore(appId: string, campaign: string, options: Object): void {}
logCrossPromotionAndOpenStore(appId: string, campaign: string, options: Object): void {}
}

View File

@@ -0,0 +1,112 @@
import { Injectable } from '@angular/core';
import { Plugin, CordovaInstance, IonicNativePlugin } from '@ionic-native/core';
declare const window: any;
export enum UploadState {
UPLOADED = 'UPLOADED',
FAILED = 'FAILED',
UPLOADING = 'UPLOADING',
INITIALIZED = 'INITIALIZED',
}
export type UploadStateType = keyof typeof UploadState;
export interface UploadEvent {
id?: string; // id of the upload
state?: UploadStateType; // state of the upload (either UPLOADING, UPLOADED or FAILED)
statusCode?: number; // response code returned by server after upload is completed
serverResponse?: any; // server response received after upload is completed
error?: any; // error message in case of failure
errorCode?: number; // error code for any exception encountered
progress?: any; // progress for ongoing upload
eventId?: string; // id of the event
}
export interface FTMPayloadOptions {
id: string;
filePath: string;
fileKey?: string;
serverUrl: string;
notificationTitle?: string;
headers?: {
[name: string]: string;
};
parameters?: {
[name: string]: string;
};
[prop: string]: any;
}
export interface FTMOptions {
callBack: (event: UploadEvent) => any;
config?: {
parallelUploadsLimit?: number;
};
}
export class FileTransferManager {
private _objectInstance: any;
constructor(options: FTMOptions) {
this._objectInstance = window.FileTransferManager.init(options.config, options.callBack);
}
@CordovaInstance()
startUpload(payload: FTMPayloadOptions): void {
return;
}
@CordovaInstance()
removeUpload(id: any): Promise<any> {
return;
}
@CordovaInstance()
acknowledgeEvent(id: string): Promise<any> {
return;
}
@CordovaInstance()
destroy(): Promise<any> {
return;
}
}
/**
* @name BackgroundUpload
* @description
* This plugin does something
*
* @usage
* ```typescript
* import { BackgroundUpload } from '@ionic-native/background-upload/ngx';
*
*
* constructor(private backgroundUpload: BackgroundUpload) { }
*
* ...
*
*
* this.backgroundUpload.init({})
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'BackgroundUpload',
plugin: 'cordova-plugin-background-upload',
pluginRef: 'FileTransferManager',
repo: 'https://github.com/spoonconsulting/cordova-plugin-background-upload',
install: 'ionic cordova plugin add cordova-plugin-background-upload',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class BackgroundUpload extends IonicNativePlugin {
FileTransferManager = FileTransferManager;
init(options: FTMOptions): FileTransferManager {
return new FileTransferManager(options);
}
}

View File

@@ -3,11 +3,14 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
/**
* @name Badge
* @premier badge
* @description
* The essential purpose of badge numbers is to enable an application to inform its users that it has something for them — for example, unread messages — when the application isnt running in the foreground.
*
* Requires Cordova plugin: cordova-plugin-badge. For more info, please see the [Badge plugin docs](https://github.com/katzer/cordova-plugin-badge).
*
* Android Note: Badges have historically only been a feature implemented by third party launchers and not visible unless one of those launchers was being used (E.G. Samsung or Nova Launcher) and if enabled by the user. As of Android 8 (Oreo), [notification badges](https://developer.android.com/training/notify-user/badges) were introduced officially to reflect unread notifications. This plugin is unlikely to work as expected on devices running Android 8 or newer. Please see the [local notifications plugin docs](https://github.com/katzer/cordova-plugin-local-notifications) for more information on badge use with notifications.
*
* @usage
* ```typescript
* import { Badge } from '@ionic-native/badge/ngx';

View File

@@ -263,6 +263,27 @@ export class BLE extends IonicNativePlugin {
return;
}
/**
* Set device pin.
* @usage
* ```
* BLE.setPin(pin).subscribe(success => {
* console.log(success);
* },
* failure => {
* console.log('failure');
* });
* ```
* @param {string} pin Pin of the device as a string
* @return {Observable<any>} Returns an Observable that notifies of success/failure.
*/
@Cordova({
observable: true,
})
setPin(pin: string): Observable<any> {
return;
}
/**
* Connect to a peripheral.
* @usage
@@ -455,9 +476,12 @@ export class BLE extends IonicNativePlugin {
* @param {string} serviceUUID UUID of the BLE service
* @param {string} characteristicUUID UUID of the BLE characteristic
* @return {Observable<any>} Returns an Observable that notifies of characteristic changes.
* The observer emit an array with data at index 0 and sequence order at index 1.
* The sequence order is always undefined on iOS. On android it leave the client to check the sequence order and reorder if needed
*/
@Cordova({
observable: true,
destruct: true,
clearFunction: 'stopNotification',
clearWithArgs: true,
})
@@ -604,4 +628,15 @@ export class BLE extends IonicNativePlugin {
bondedDevices(): Promise<any[]> {
return;
}
/**
* Reports if location services are enabled.
* Android only
*
* @returns {Promise<void>}
*/
@Cordova()
isLocationEnabled(): Promise<void> {
return;
}
}

View File

@@ -2646,6 +2646,35 @@ export interface UsdlCombinedRecognizer extends Recognizer<UsdlCombinedRecognize
}
export interface UsdlCombinedRecognizerCtor extends RecognizerCtor<UsdlCombinedRecognizer> {}
export interface BlinkIdRecognizerCtor extends RecognizerCtor<BlinkIdRecognizer> {}
export interface BlinkIdRecognizer extends Recognizer<BlinkIdRecognizerResult> {
returnFaceImage: boolean;
returnFullDocumentImage: boolean;
anonymizationMode: number;
}
export interface BlinkIdRecognizerResult extends RecognizerResult {
firstName: string;
lastName: string;
fullName: string;
localizedName: string;
additionalNameInformation: string;
placeOfBirth: string;
documentNumber: string;
dateOfBirth: Date;
sex: string;
nationality: string;
fullDocumentImage: string;
mrzResult: MrzResult;
}
export interface BlinkIdOverlaySettingsCtor {
new (): BlinkIdOverlaySettings;
}
export interface BlinkIdOverlaySettings extends OverlaySettings {}
export interface BlinkIdRecognizerResultCtor extends RecognizerResultCtor<BlinkIdRecognizerResult> {}
/**
* @name BlinkId
* @description
@@ -2922,4 +2951,7 @@ export class BlinkId extends IonicNativePlugin {
@CordovaProperty() UsdlRecognizer: UsdlRecognizerCtor;
@CordovaProperty() UsdlCombinedRecognizerResult: UsdlCombinedRecognizerResultCtor;
@CordovaProperty() UsdlCombinedRecognizer: UsdlCombinedRecognizerCtor;
@CordovaProperty() BlinkIdRecognizer: BlinkIdRecognizerCtor;
@CordovaProperty() BlinkIdOverlaySettings: BlinkIdOverlaySettingsCtor;
@CordovaProperty() BlinkIdRecognizerResult: BlinkIdRecognizerResultCtor;
}

View File

@@ -40,7 +40,8 @@ export type Status =
| 'advertisingStarted'
| 'advertisingStopped'
| 'responded'
| 'notified';
| 'notified'
| 'notificationSent';
/** Available connection priorities */
export type ConnectionPriority = 'low' | 'balanced' | 'high';
@@ -88,6 +89,8 @@ export interface NotifyParams {
characteristic: string;
/** Base64 encoded string, number or string */
value: string;
/** Android only: address of the device the notification should be sent to. */
address?: string;
}
export interface RespondParams {
@@ -99,6 +102,38 @@ export interface RespondParams {
offset?: number;
}
export interface ConnectionParams {
/** The address/identifier provided by the scan's return object */
address: string;
/** Automatically connect as soon as the remote device becomes available (Android) */
autoConnect?: boolean;
/**
* Transport mode. Available from API 23 (Android).
* If none is specified the default behavior is TRANSPORT_AUTO
*
* Note: On Android 10, TRANSPORT_AUTO can lead to connection errors with Status code 133.
* In this case TRANSPORT_LE can be used.
*/
transport?: AndroidGattTransportMode;
}
export enum AndroidGattTransportMode {
/**
* No preference of physical transport for GATT connections to remote dual-mode devices
*/
TRANSPORT_AUTO = 0,
/**
* Prefer BR/EDR transport for GATT connections to remote dual-mode devices
*/
TRANSPORT_BREDR = 1,
/**
* Prefer LE transport for GATT connections to remote dual-mode devices
*/
TRANSPORT_LE = 2,
}
export interface CharacteristicParams extends Params {
/** An array of characteristic IDs to discover or empty array / null */
characteristics?: string[];
@@ -543,15 +578,15 @@ export class BluetoothLE extends IonicNativePlugin {
* Connect to a Bluetooth LE device
* @param connectSuccess The success callback that is passed with device object
* @param connectError The callback that will be triggered when the connect operation fails
* @param params The address/identifier
* @param params The connection params
*
* @param {{address: string, autoConnect: boolean}} params
* @param {ConnectionParams} params
* @returns {(Observable<{ status: DeviceInfo }>)}
* success: device object with status
* error: The callback that will be triggered when the unbond operation fails
*/
@Cordova({ callbackOrder: 'reverse', observable: true })
connect(params: { address: string; autoConnect?: boolean }): Observable<DeviceInfo> {
connect(params: ConnectionParams): Observable<DeviceInfo> {
return;
}

View File

@@ -136,6 +136,7 @@ export interface PaymentUIResult {
/**
* @name Braintree
* @capacitorincompatible true
* @description
* This plugin enables the use of the Braintree Drop-In Payments UI in your Ionic applications on Android and iOS, using the native Drop-In UI for each platform (not the Javascript SDK).
*

View File

@@ -1,5 +1,6 @@
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
import { Observable } from 'rxjs';
export interface BranchIoPromise {
$identity_id?: number;
@@ -105,6 +106,15 @@ export class BranchIo extends IonicNativePlugin {
return;
}
/**
* Initializes Branch with callback
* @return {Observable<any>}
*/
@Cordova({ observable: true })
initSessionWithCallback(): Observable<BranchIoPromise> {
return;
}
/**
* Set Request Metadata
* @return {Promise<any>}

View File

@@ -2,6 +2,20 @@ import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
import { Observable } from 'rxjs';
/**
* Specific data for Android implementation
*/
export interface AndroidData {
extras: object;
flags: number;
category: string;
}
/**
* Possibly Event Data types
*/
export type EventData = object | AndroidData | null;
/**
* @name Broadcaster
* @description
@@ -35,6 +49,7 @@ export class Broadcaster extends IonicNativePlugin {
/**
* This function listen to an event sent from the native code
* @param {string} eventName
* @param {boolean} isGlobal Valid only for Android. It allows to listen for global messages(i.e. intents)
* @return {Observable<any>} Returns an observable to watch when an event is received
*/
@Cordova({
@@ -42,18 +57,22 @@ export class Broadcaster extends IonicNativePlugin {
clearFunction: 'removeEventListener',
clearWithArgs: true,
})
addEventListener(eventName: string): Observable<any> {
addEventListener(eventName: string, isGlobal = false): Observable<any> {
return;
}
/**
* This function sends data to the native code
* @param {string} eventName
* @param {any} eventData
* @param {boolean} isGlobalOrEventData means that message is global (valid only on Android)
* @param {AndroidData} isGlobalOrEventData allows to specify 'flags` and 'category' (valid only on Android)
* @param {object} isGlobalOrEventData allows to specify a generic object containing custom event data (all platform)
* @param {AndroidData} [data] if isGlobal is set, allows to specify 'flags` and 'category' if isGlobal is set (valid only on Android)
* @param {object} [data] if isGlobal is set, allows to specify a generic object containing custom event data (all platform)
* @return {Promise<any>} Returns a promise that resolves when an event is successfully fired
*/
@Cordova()
fireNativeEvent(eventName: string, eventData: any): Promise<any> {
fireNativeEvent(eventName: string, isGlobalOrEventData: boolean | EventData, data?: EventData): Promise<any> {
return;
}
}

View File

@@ -0,0 +1,330 @@
import { Injectable } from '@angular/core';
import { Plugin, CordovaProperty, IonicNativePlugin } from '@ionic-native/core';
/**
* @name Build Info
* @description
* This plugin provides build information.
*
* @usage
* ```
* import { BuildInfo } from '@ionic-native/build-info/ngx';
*
* this.platform.ready().then(() => {
* console.log('BuildInfo.baseUrl =' + BuildInfo.baseUrl)
* console.log('BuildInfo.packageName =' + BuildInfo.packageName)
* console.log('BuildInfo.basePackageName=' + BuildInfo.basePackageName)
* console.log('BuildInfo.displayName =' + BuildInfo.displayName)
* console.log('BuildInfo.name =' + BuildInfo.name)
* console.log('BuildInfo.version =' + BuildInfo.version)
* console.log('BuildInfo.versionCode =' + BuildInfo.versionCode)
* console.log('BuildInfo.debug =' + BuildInfo.debug)
* console.log('BuildInfo.buildType =' + BuildInfo.buildType)
* console.log('BuildInfo.flavor =' + BuildInfo.flavor)
* console.log('BuildInfo.buildDate =' + BuildInfo.buildDate)
* console.log('BuildInfo.installDate =' + BuildInfo.installDate)
* })
* ```
*/
@Plugin({
pluginName: 'BuildInfo',
plugin: 'cordova-plugin-buildinfo',
pluginRef: 'BuildInfo',
repo: 'https://github.com/lynrin/cordova-plugin-buildinfo',
platforms: ['Android', 'iOS', 'Windows', 'macOS', 'browser', 'Electron'],
})
@Injectable()
export class BuildInfo extends IonicNativePlugin {
/**
* The baseUrl where cordova.js was loaded.
*/
@CordovaProperty()
baseUrl: string;
/**
* Get the packageName of Application ID.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|Package Name|String|
* |iOS|Bundle Identifier|String|
* |Windows|Identity name|String|
* |macOS(OS X)|Bundle Identifier|String|
* |Browser|Get the id attribute of the widget element in config.xml file.|String|
* |Electron|Get the id attribute of the widget element in config.xml file.|String|
*/
@CordovaProperty()
packageName: string;
/**
* Android only.
*
* Get the packageName of BuildConfig class.
*
* If you use the configure of "build types" or "product flavors", because you can specify a different package name is the id attribute of the widget element of config.xml, is the property to get the package name that BuildConfig class belongs.
* (ought be the same as the id attribute of the widget element of config.xml)
*
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|Package name of BuildConfig class|String|
* |iOS|Bundle Identifier(equals BuildInfo.packageName)|String|
* |Windows|Identity name(equals BuildInfo.packageName)|String|
* |macOS(OS X)|Bundle Identifier(equals BuildInfo.packageName)|String|
* |Browser|equals BuildInfo.packageName|String|
* |Electron|equals BuildInfo.packageName|String|
*/
@CordovaProperty()
basePackageName: string;
/**
* Get the displayName.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|Application Label|String|
* |iOS|CFBundleDisplayName (CFBundleName if not present)|String|
* |Windows|Get the DisplayName attribute of the VisualElements element in AppxManifest.xml file.|String|
* |macOS(OS X)|CFBundleDisplayName (CFBundleName if not present)|String|
* |Browser|Get the short attribute of the name element in config.xml file.|String|
* |Electron|Get the short attribute of the name element in config.xml file.|String|
*/
@CordovaProperty()
displayName: string;
/**
* Get the name.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|Application Label(equal BuildInfo.displayName)|String|
* |iOS|CFBundleName|String|
* |Windows|Windows Store display name|String|
* |macOS(OS X)|CFBundleName|String|
* |Browser|Get value of the name element in config.xml file.|String|
* |Electron|Get value of the name element in config.xml file.|String|
*/
@CordovaProperty()
name: string;
/**
* Get the version.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|BuildConfig.VERSION_NAME|String|
* |iOS|CFBundleShortVersionString|String|
* |Windows|Major.Minor.Build ex) "1.2.3"|String|
* |macOS(OS X)|CFBundleShortVersionString|String|
* |Browser|Get the version attribute of the widget element in config.xml file.|String|
* |Electron|Get the version attribute of the widget element in config.xml file.|String|
*/
@CordovaProperty()
version: string;
/**
* Get the version code.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|BuildConfig.VERSION_CODE|integer|
* |iOS|CFBundleVersion|String|
* |Windows|Major.Minor.Build.Revision ex) "1.2.3.4"|String|
* |macOS(OS X)|CFBundleVersion|String|
* |Browser|equals BuildInfo.version|String|
* |Electron|equals BuildInfo.version|String|
*/
@CordovaProperty()
versionCode: string | number;
/**
* Get the debug flag.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|BuildConfig.DEBUG|Boolean|
* |iOS|defined "DEBUG" is true|Boolean|
* |Windows|isDevelopmentMode is true|Boolean|
* |macOS(OS X)|defined "DEBUG" is true|Boolean|
* |Browser|Always false|Boolean|
* |Electron|True when ```cordova build electron --debug``` is executed with the "--debug" flag.|Boolean|
*/
@CordovaProperty()
debug: boolean;
/**
* Android , Windows Only.
*
* Get the build type.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|BuildConfig.BUILD_TYPE|String|
* |iOS|empty string|String|
* |Windows|"release" or "debug"|String|
* |macOS(OS X)|empty string|String|
* |Browser|empty string|String|
* |Electron|empty string|String|
*
*/
@CordovaProperty()
buildType: string;
/**
* Android Only.
*
* Get the flavor.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|BuildConfig.FLAVOR|String|
* |iOS|empty string|String|
* |Windows|empty string|String|
* |macOS(OS X)|empty string|String|
* |Browser|empty string|String|
* |Electron|empty string|String|
*/
@CordovaProperty()
flavor: string;
/**
* Get the build date and time in the Date object returns.
*
* Attention:
* - Android: Add the BuildInfo.gradle file to your Android project.
* The BuildInfo.gradle file contains the setting to add the _BUILDINFO_TIMESTAMP field to the BuildConfig class.
* - Windows: Add the buildinfo.resjson file to your Windows project.
* The buildinfo.resjson file into the "strings" folder.
* And also add a task to rewrite buildinfo.resjson in the CordovaApp.projitems file.
* - Browser and Electron: When ```cordova prepare``` is executed Build date and time is embedded in
* platforms/**browser**\/www/plugins/cordova-plugin-buildinfo/src/browser/BuildInfoProxy.js file.
* (Or platforms/**electron**\/www/plugins/cordova-plugin-buildinfo/src/browser/BuildInfoProxy.js file.)
* ```cordova prepare``` is also executed for ```cordova build```, ```cordova run``` and ```cordova platform add```.
* (Reference: [Hooks Guide - Apache Cordova](https://cordova.apache.org/docs/en/9.x/guide/appdev/hooks/index.html))
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|BuildConfig.\_BUILDINFO\_TIMESTAMP value|Date|
* |iOS|Get the modification date and time of the Info.plist file acquired from the executionPath property of the main bundle.|Date|
* |Windows|Resource value of "/buildinfo/Timestamp" string.|Date|
* |macOS(OS X)|Get the modification date and time of the config.xml file acquired from the resource of the main bundle.|Date|
* |Browser|The date and time when ```cordova prepare``` was executed.|Date|
* |Electron|The date and time when ```cordova prepare``` was executed.|Date|
*
*/
@CordovaProperty()
buildDate: Date;
/**
* Get the install date and time in the Date object returns.
*
* Attention:
* - Browser and Electron: Installation date and time is unknown.
*
* |Platform|Value|Type|
* |--------|-----|----|
* |Android|The firstInstallTime property of PackageInfo|Date|
* |iOS|Get the creation date and time of the document directory.|Date|
* |Windows|The installedDate property of Windows.ApplicatinoModel.Package.current|Date|
* |macOS(OS X)|Date and time of kMDItemDateAdded recorded in File Metadata of application package.|Date|
* |Browser|Not available.|null|
* |Electron|Not available.|null|
*/
@CordovaProperty()
installDate: Date | null;
/**
* Windows Only.
*
* Get the windows extra information.
*/
@CordovaProperty()
windows?: {
/**
* indows.ApplicationModel.Package.current.id.architecture|
*/
architecture: number;
/**
* Windows.ApplicationModel.Package.current.description|
*/
description: string;
/**
* Windows.ApplicationModel.Package.current.displayName|
*/
displayName: string;
/**
* Windows.ApplicationModel.Package.current.id.familyName|
*/
familyName: string;
/**
* Windows.ApplicationModel.Package.current.id.fullName|
*/
fullName: string;
logo: WindowsLogo;
/**
* Windows.ApplicationModel.Package.current.id.publisher|
*/
publisher: string;
/**
* Windows.ApplicationModel.Package.current.id.publisherId|
*/
publisherId: string;
/**
* Windows.ApplicationModel.Package.current.publisherDisplayName|
*/
publisherDisplayName: string;
/**
* Windows.ApplicationModel.Package.current.id.resourceId|
*/
resourceId: string;
/**
* Windows.ApplicationModel.Package.current.id.version|
*/
version: WindowsVersionInfo;
};
}
export interface WindowsLogo {
/**
* Windows.ApplicationModel.Package.logo.absoluteCanonicalUri
*/
absoluteCannonicalUri: string;
/**
* Windows.ApplicationModel.Package.logo.absoluteUri
*/
absoluteUri: string;
/**
* Windows.ApplicationModel.Package.logo.displayIri
*/
displayIri: string;
/**
* Windows.ApplicationModel.Package.logo.displayUri
*/
displayUri: string;
/**
* Windows.ApplicationModel.Package.logo.path
*/
path: string;
/**
* Windows.ApplicationModel.Package.logo.rawUri
*/
rawUri: string;
}
export interface WindowsVersionInfo {
/**
* Windows.ApplicationModel.Package.current.id.version.major
*/
major: number;
/**
* Windows.ApplicationModel.Package.current.id.version.minor
*/
minor: number;
/**
* Windows.ApplicationModel.Package.current.id.version.build
*/
build: number;
/**
* Windows.ApplicationModel.Package.current.id.version.revision
*/
revision: number;
}

View File

@@ -58,6 +58,7 @@ export interface NameOrOptions {
/**
* @name Calendar
* @premier calendar
* @description
* This plugin allows you to add events to the Calendar of the mobile device.
*

View File

@@ -38,7 +38,7 @@ export interface CameraPreviewOptions {
alpha?: number;
/** Tap to set specific focus point. Note, this assumes the camera is full-screen. default false */
tapToFocus?: boolean;
tapFocus?: boolean;
/** On Android disable automatic rotation of the image and stripping of Exit header. default false */
disableExifHeaderStripping?: boolean;
@@ -203,6 +203,19 @@ export class CameraPreview extends IonicNativePlugin {
return;
}
/**
* Starts the camera video instance.
* @param {any} options
* @return {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
startRecordVideo(options: any): Promise<any> {
return;
}
/**
* Stops the camera preview instance. (iOS & Android)
* @return {Promise<any>}
@@ -212,6 +225,15 @@ export class CameraPreview extends IonicNativePlugin {
return;
}
/**
* Stops the camera video instance. (iOS & Android)
* @return {Promise<any>}
*/
@Cordova()
stopRecordVideo(): Promise<any> {
return;
}
/**
* Switch from the rear camera and front camera, if available.
* @return {Promise<any>}

View File

@@ -123,6 +123,7 @@ export enum Direction {
/**
* @name Camera
* @premier camera
* @description
* Take a photo or capture video.
*

View File

@@ -2,8 +2,8 @@ import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
export interface ChooserResult {
data: Uint8Array;
dataURI: string;
data?: Uint8Array;
dataURI?: string;
mediaType: string;
name: string;
uri: string;
@@ -64,4 +64,15 @@ export class Chooser extends IonicNativePlugin {
getFile(accept?: string): Promise<ChooserResult | undefined> {
return;
}
/**
* Displays native prompt for user to select a file.
* @param {string} [accept] Optional MIME type filter (e.g. 'image/gif,video/*').
* @returns {Promise<any>} Promise containing selected file's MIME type, display name, and original URI.
* If user cancels, promise will be resolved as undefined.
* If error occurs, promise will be rejected.
*/
@Cordova()
getFileMetadata(accept?: string): Promise<ChooserResult | undefined> {
return;
}
}

View File

@@ -50,6 +50,16 @@ export class CleverTap extends IonicNativePlugin {
return;
}
/**
* Personalization
* Disables the Personalization API
* @returns {Promise<any>}
*/
@Cordova()
disablePersonalization(): Promise<any> {
return;
}
/**
* Enables tracking opt out for the currently active user.
* @param optOut {boolean}
@@ -60,6 +70,16 @@ export class CleverTap extends IonicNativePlugin {
return;
}
/**
* Sets CleverTap SDK to offline mode.
* @param offline {boolean}
* @returns {Promise<any>}
*/
@Cordova()
setOffline(offline: boolean): Promise<any> {
return;
}
/**
* Enables the reporting of device network related information, including IP address. This reporting is disabled by default.
* @param enable {boolean}
@@ -93,6 +113,46 @@ export class CleverTap extends IonicNativePlugin {
return;
}
/**
* Sets the device's Xiaomi push token
* @param token {string}
* @returns {Promise<any>}
*/
@Cordova()
setPushXiaomiToken(token: string): Promise<any> {
return;
}
/**
* Sets the device's Baidu push token
* @param token {string}
* @returns {Promise<any>}
*/
@Cordova()
setPushBaiduToken(token: string): Promise<any> {
return;
}
/**
* Sets the device's Huawei push token
* @param token {string}
* @returns {Promise<any>}
*/
@Cordova()
setPushHuaweiToken(token: string): Promise<any> {
return;
}
/**
* Create Notification Channel for Android O+
* @param extras {any}
* @returns {Promise<any>}
*/
@Cordova()
createNotification(extras: any): Promise<any> {
return;
}
/**
* Create Notification Channel for Android O+
* @param channelID {string}
@@ -600,6 +660,502 @@ export class CleverTap extends IonicNativePlugin {
return;
}
/**
* Call this to Fetch all Inbox Messages
* @returns {Promise<any>}
*/
@Cordova()
getAllInboxMessages(): Promise<any> {
return;
}
/**
* Call this to Fetch all Unread Inbox Messages
* @returns {Promise<any>}
*/
@Cordova()
getUnreadInboxMessages(): Promise<any> {
return;
}
/**
* Call this to Fetch Inbox Message For Id
* @param messageId {string}
* @returns {Promise<any>}
*/
@Cordova()
getInboxMessageForId(messageId: string): Promise<any> {
return;
}
/**
* Call this to Delete Inbox Message For Id
* @param messageId {string}
* @returns {Promise<any>}
*/
@Cordova()
deleteInboxMessageForId(messageId: string): Promise<any> {
return;
}
/**
* Call this to Mark Read Inbox Message For Id
* @param messageId {string}
* @returns {Promise<any>}
*/
@Cordova()
markReadInboxMessageForId(messageId: string): Promise<any> {
return;
}
/**
* Call this to Mark Push Inbox Notification Viewed Event for Id
* @param messageId {string}
* @returns {Promise<any>}
*/
@Cordova()
pushInboxNotificationViewedEventForId(messageId: string): Promise<any> {
return;
}
/**
* Call this to Mark Push Inbox Notification Clicked Event for Id
* @param messageId {string}
* @returns {Promise<any>}
*/
@Cordova()
pushInboxNotificationClickedEventForId(messageId: string): Promise<any> {
return;
}
/**
* Call this to SetUIEditor Connection
* @param enabled {boolean}
* @returns {Promise<any>}
*/
@Cordova()
setUIEditorConnectionEnabled(enabled: boolean): Promise<any> {
return;
}
/**
* Call this to Register Boolean Variable
* @param varName {string}
* @returns {Promise<any>}
*/
@Cordova()
registerBooleanVariable(varName: string): Promise<any> {
return;
}
/**
* Call this to Register Double Variable
* @param varName {string}
* @returns {Promise<any>}
*/
@Cordova()
registerDoubleVariable(varName: string): Promise<any> {
return;
}
/**
* Call this to Register Integer Variable
* @param varName {string}
* @returns {Promise<any>}
*/
@Cordova()
registerIntegerVariable(varName: string): Promise<any> {
return;
}
/**
* Call this to Register String Variable
* @param varName {string}
* @returns {Promise<any>}
*/
@Cordova()
registerStringVariable(varName: string): Promise<any> {
return;
}
/**
* Call this to Register List of Boolean Variable
* @param varName {string}
* @returns {Promise<any>}
*/
@Cordova()
registerListOfBooleanVariable(varName: string): Promise<any> {
return;
}
/**
* Call this to Register List of Double Variable
* @param varName {string}
* @returns {Promise<any>}
*/
@Cordova()
registerListOfDoubleVariable(varName: string): Promise<any> {
return;
}
/**
* Call this to Register List of Integer Variable
* @param varName {string}
* @returns {Promise<any>}
*/
@Cordova()
registerListOfIntegerVariable(varName: string): Promise<any> {
return;
}
/**
* Call this to Register List of String Variable
* @param varName {string}
* @returns {Promise<any>}
*/
@Cordova()
registerListOfStringVariable(varName: string): Promise<any> {
return;
}
/**
* Call this to Register Map of Boolean Variable
* @param varName {string}
* @returns {Promise<any>}
*/
@Cordova()
registerMapOfBooleanVariable(varName: string): Promise<any> {
return;
}
/**
* Call this to Register Map of Double Variable
* @param varName {string}
* @returns {Promise<any>}
*/
@Cordova()
registerMapOfDoubleVariable(varName: string): Promise<any> {
return;
}
/**
* Call this to Register Map of Integer Variable
* @param varName {string}
* @returns {Promise<any>}
*/
@Cordova()
registerMapOfIntegerVariable(varName: string): Promise<any> {
return;
}
/**
* Call this to Register Map of String Variable
* @param varName {string}
* @returns {Promise<any>}
*/
@Cordova()
registerMapOfStringVariable(varName: string): Promise<any> {
return;
}
/**
* Call this to Get Boolean Variable
* @param varName {string}
* @param defaultValue {boolean}
* @returns {Promise<any>}
*/
@Cordova()
getBooleanVariable(varName: string, defaultValue: boolean): Promise<any> {
return;
}
/**
* Call this to Get Double Variable
* @param varName {string}
* @param defaultValue {number}
* @returns {Promise<any>}
*/
@Cordova()
getDoubleVariable(varName: string, defaultValue: number): Promise<any> {
return;
}
/**
* Call this to Get Integer Variable
* @param varName {string}
* @param defaultValue {number}
* @returns {Promise<any>}
*/
@Cordova()
getIntegerVariable(varName: string, defaultValue: number): Promise<any> {
return;
}
/**
* Call this to Get String Variable
* @param varName {string}
* @param defaultValue {string}
* @returns {Promise<any>}
*/
@Cordova()
getStringVariable(varName: string, defaultValue: string): Promise<any> {
return;
}
/**
* Call this to Get List of Boolean Variable
* @param varName {string}
* @param defaultValue {any}
* @returns {Promise<any>}
*/
@Cordova()
getListOfBooleanVariable(varName: string, defaultValue: any): Promise<any> {
return;
}
/**
* Call this to Get List of Double Variable
* @param varName {string}
* @param defaultValue {any}
* @returns {Promise<any>}
*/
@Cordova()
getListOfDoubleVariable(varName: string, defaultValue: any): Promise<any> {
return;
}
/**
* Call this to Get List of Integer Variable
* @param varName {string}
* @param defaultValue {any}
* @returns {Promise<any>}
*/
@Cordova()
getListOfIntegerVariable(varName: string, defaultValue: any): Promise<any> {
return;
}
/**
* Call this to Get List of String Variable
* @param varName {string}
* @param defaultValue {any}
* @returns {Promise<any>}
*/
@Cordova()
getListOfStringVariable(varName: string, defaultValue: any): Promise<any> {
return;
}
/**
* Call this to get Map of Boolean Variable
* @param varName {string}
* @param defaultValue {any}
* @returns {Promise<any>}
*/
@Cordova()
getMapOfBooleanVariable(varName: string, defaultValue: any): Promise<any> {
return;
}
/**
* Call this to Get Map of Double Variable
* @param varName {string}
* @param defaultValue {any}
* @returns {Promise<any>}
*/
@Cordova()
getMapOfDoubleVariable(varName: string, defaultValue: any): Promise<any> {
return;
}
/**
* Call this to Get Map of Integer Variable
* @param varName {string}
* @param defaultValue {any}
* @returns {Promise<any>}
*/
@Cordova()
getMapOfIntegerVariable(varName: string, defaultValue: any): Promise<any> {
return;
}
/**
* Call this to Get Map of String Variable
* @param varName {string}
* @param defaultValue {any}
* @returns {Promise<any>}
*/
@Cordova()
getMapOfStringVariable(varName: string, defaultValue: any): Promise<any> {
return;
}
/**
* Call this to Get All Display Units
* @returns {Promise<any>}
*/
@Cordova()
getAllDisplayUnits(): Promise<any> {
return;
}
/**
* Call this to Get Display Unit For Id
* @param id {string}
* @returns {Promise<any>}
*/
@Cordova()
getDisplayUnitForId(id: string): Promise<any> {
return;
}
/**
* Call this to Push DisplayUnit Viewed Event for ID
* @param id {string}
* @returns {Promise<any>}
*/
@Cordova()
pushDisplayUnitViewedEventForID(id: string): Promise<any> {
return;
}
/**
* Call this to Push DisplayUnit Clicked Event for ID
* @param id {string}
* @returns {Promise<any>}
*/
@Cordova()
pushDisplayUnitClickedEventForID(id: string): Promise<any> {
return;
}
/**
* Call this to Get Feature Flag for key
* @param key {string}
* @param defaultValue {string}
* @returns {Promise<any>}
*/
@Cordova()
getFeatureFlag(key: string, defaultValue: string): Promise<any> {
return;
}
/**
* Call this to Set Defaults for Product Config
* @param defaults {any}
* @returns {Promise<any>}
*/
@Cordova()
setDefaultsMap(defaults: any): Promise<any> {
return;
}
/**
* Call this for Product Config Fetch
* @param defaults {any}
* @returns {Promise<any>}
*/
@Cordova()
fetch(): Promise<any> {
return;
}
/**
* Call this for Product Config Fetch with Min Interval
* @param timeInterval {number}
* @returns {Promise<any>}
*/
@Cordova()
fetchWithMinimumFetchIntervalInSeconds(timeInterval: number): Promise<any> {
return;
}
/**
* Call this for Product Config Activate
* @returns {Promise<any>}
*/
@Cordova()
activate(): Promise<any> {
return;
}
/**
* Call this for Product Config Fetch and Activate
* @returns {Promise<any>}
*/
@Cordova()
fetchAndActivate(): Promise<any> {
return;
}
/**
* Call this to set Product Config Fetch with Min Interval
* @param timeInterval {number}
* @returns {Promise<any>}
*/
@Cordova()
setMinimumFetchIntervalInSeconds(timeInterval: number): Promise<any> {
return;
}
/**
* Call this to Get Last Fetch Time Interval
* @returns {Promise<any>}
*/
@Cordova()
getLastFetchTimeStampInMillis(): Promise<any> {
return;
}
/**
* Call this to Get String
* @param key {string}
* @returns {Promise<any>}
*/
@Cordova()
getString(): Promise<any> {
return;
}
/**
* Call this to Get Boolean
* @param key {string}
* @returns {Promise<any>}
*/
@Cordova()
getBoolean(): Promise<any> {
return;
}
/**
* Call this to Get Long
* @param key {string}
* @returns {Promise<any>}
*/
@Cordova()
getLong(): Promise<any> {
return;
}
/**
* Call this to Get Double
* @param key {string}
* @returns {Promise<any>}
*/
@Cordova()
getDouble(): Promise<any> {
return;
}
/**
* Call this to Reset Product Config
* @returns {Promise<any>}
*/
@Cordova()
reset(): Promise<any> {
return;
}
/*******************
* Developer Options
******************/

View File

@@ -2,6 +2,7 @@ import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
/**
* @name Clipboard
* @premier clipboard
* @description
* Clipboard management plugin for Cordova that supports iOS, Android, and Windows Phone 8.
*

View File

@@ -24,6 +24,9 @@ export interface SaleResponse extends Response {
cardFirst6?: string;
cardLast4?: string;
}
export interface VoidPaymentResponse extends Response {
paymentId?: string;
}
/**
* @name Clover Go
@@ -56,6 +59,14 @@ export interface SaleResponse extends Response {
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* this.cloverGo.sign(signInfo)
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* this.cloverGo.voidPayment(paymentInfo)
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
@@ -64,7 +75,7 @@ export interface SaleResponse extends Response {
pluginRef: 'clovergo',
repo: 'https://github.com/hotwax/cordova-plugin-clovergo',
install: 'ionic plugin add cordova-plugin-clovergo',
platforms: ['Android', 'iOS'],
platforms: ['Android'],
})
@Injectable()
export class CloverGo extends IonicNativePlugin {
@@ -107,4 +118,27 @@ export class CloverGo extends IonicNativePlugin {
sale(saleInfo: object): Promise<SaleResponse> {
return;
}
/**
* This method is used to pass signature as two
* dimensional number array that represents points
* of signature on screen.
* The list is passed as signature in SignInfo object.
* @param signInfo {object}
* @return {Promise<SaleResponse>}
*/
@Cordova()
sign(signInfo: object): Promise<SaleResponse> {
return;
}
/**
* This function void any payment done through the device
* @param saleInfo {object}
* @return {Promise<VoidPaymentResponse>}
*/
@Cordova()
voidPayment(paymentInfo: object): Promise<VoidPaymentResponse> {
return;
}
}

View File

@@ -300,6 +300,7 @@ export class ContactFindOptions implements IContactFindOptions {
/**
* @name Contacts
* @premier contacts
* @description
* Access and manage Contacts on the device.
*

View File

@@ -0,0 +1,306 @@
import { Injectable } from '@angular/core';
import {
Plugin,
Cordova,
CordovaProperty,
CordovaInstance,
InstanceProperty,
IonicNativePlugin,
} from '@ionic-native/core';
/**
* @name CustomUISDK
* @description
* This plugin is used to access Paytm's native CustomUISDK framework's apis.
*
* @usage
* ```typescript
* import { CustomUISDK } from '@ionic-native/custom-uisdk/ngx';
*
* constructor(private customuisdk: CustomUISDK) { }
*
* ...
* this.customuisdk.functionName('Hello', 123)
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
* ```
*/
@Plugin({
pluginName: 'cordova-paytm-customuisdk',
plugin: 'cordova-paytm-customuisdk',
pluginRef: 'paytm.customuisdk',
repo: 'https://github.com/paytm/paytm-customuisdk-cordova',
install: '',
installVariables: [],
platforms: ['Android, iOS'],
})
@Injectable()
export class CustomUISDK extends IonicNativePlugin {
/**
* This function show dialog to ask user permision to fetch authcode
* @param clientId {string} unique id give to each merchant
* @param mid {string} merchant id
* @return {Promise<string>} Returns authcode
*/
@Cordova()
fetchAuthCode(clientId: string, mid: string): Promise<string> {
return;
}
/**
* This function check that paytm app is installed or not
* @return {Promise<boolean>} Returns installed - true or not -false
*/
@Cordova()
isPaytmAppInstalled(): Promise<boolean> {
return;
}
/**
* @param mid {string} merchant id
* @return {Promise<boolean>} Returns if has payment methods - true or not -false
*/
@Cordova()
checkHasInstrument(mid: string): Promise<boolean> {
return;
}
/**
* @param mid {string} merchant id
* @param orderId {string} order id
* @param txnToken {string} transaction token
* @param amount {string} transaction amount
* @param isStaging {boolean} staging or production
* @param callbackUrl {string} callback url only required for custom url page
*/
@Cordova()
initPaytmSDK(
mid: string,
orderId: string,
txnToken: string,
amount: string,
isStaging: boolean,
callbackUrl: string
) {
return;
}
/**
* @param paymentFlow {string} payment type NONE, ADDANDPAY
* @return {Promise<any>} Returns object of response
*/
@Cordova()
goForWalletTransaction(paymentFlow: string): Promise<any> {
return;
}
/**
* @param cardNumber {string} card number
* @param cardExpiry {string} card expiry
* @param cardCvv {string} card cvv
* @param cardType {string} card type debit or credit
* @param paymentFlow {string} payment type NONE, ADDANDPAY
* @param channelCode {string} bank channel code
* @param issuingBankCode {string} issuing bank code
* @param emiChannelId {string} emi plan id
* @param authMode {string} authentication mode 'otp' 'pin'
* @param saveCard {boolean} save card for next time
* @return {Promise<any>} Returns object of response
*/
@Cordova()
goForNewCardTransaction(
cardNumber: string,
cardExpiry: string,
cardCvv: string,
cardType: string,
paymentFlow: string,
channelCode: string,
issuingBankCode: string,
emiChannelId: string,
authMode: string,
saveCard: boolean
): Promise<any> {
return;
}
/**
* @param cardId {string} card id of saved card
* @param cardCvv {string} card cvv
* @param cardType {string} card type debit or credit
* @param paymentFlow {string} payment type NONE, ADDANDPAY
* @param channelCode {string} bank channel code
* @param issuingBankCode {string} issuing bank code
* @param emiChannelId {string} emi plan id
* @param authMode {string} authentication mode 'otp' 'pin'
* @return {Promise<any>} Returns object of response
*/
@Cordova()
goForSavedCardTransaction(
cardId: string,
cardCvv: string,
cardType: string,
paymentFlow: string,
channelCode: string,
issuingBankCode: string,
emiChannelId: string,
authMode: string
): Promise<any> {
return;
}
/**
* @param netBankingCode {string} bank channel code
* @param paymentFlow {string} payment type NONE, ADDANDPAY
* @return {Promise<any>} Returns object of response
*/
@Cordova()
goForNetBankingTransaction(netBankingCode: string, paymentFlow: string): Promise<any> {
return;
}
/**
* @param upiCode {string} upi code
* @param paymentFlow {string} payment type NONE, ADDANDPAY
* @param saveVPA {boolean} save vpa for future transaction
* @return {Promise<any>} Returns object of response
*/
@Cordova()
goForUpiCollectTransaction(upiCode: string, paymentFlow: string, saveVPA: boolean): Promise<any> {
return;
}
/**
* @return {Promise<any>} Returns upi app list names
*/
@Cordova()
getUpiIntentList(): Promise<any> {
return;
}
/**
* @param appName {string} upi app name
* @param paymentFlow {string} payment type NONE, ADDANDPAY
* @return {Promise<any>} Returns object of response
*/
@Cordova()
goForUpiIntentTransaction(appName: string, paymentFlow: string): Promise<any> {
return;
}
/**
* @param vpaName {string} vpa name
* @param paymentFlow {string} payment type NONE, ADDANDPAY
* @param bankAccountJson {{}} bank account json object
* @param merchantDetailsJson {{}} merchant detail json
* @return {Promise<any>} Returns object of response
*/
@Cordova()
goForUpiPushTransaction(
paymentFlow: string,
bankAccountJson: {},
vpaName: string,
merchantDetailsJson: {}
): Promise<any> {
return;
}
/**
* @param vpaName {string} vpa name
* @param bankAccountJson {{}} bank account json object
* @return {Promise<any>} Returns object of response
*/
@Cordova()
fetchUpiBalance(bankAccountJson: {}, vpaName: string): Promise<any> {
return;
}
/**
* @param vpaName {string} vpa name
* @param bankAccountJson {{}} bank account json object
* @return {Promise<any>} Returns object of response
*/
@Cordova()
setUpiMpin(bankAccountJson: {}, vpaName: string): Promise<any> {
return;
}
/**
* @param cardSixDigit {string} card starting six digit
* @param tokenType {string} token type ACCESS or TXN_TOKEN
* @param token {string} token fetch from api
* @param mid {string} merchant id
* @param referenceId {string} reference id
* @return {Promise<any>} Returns object of response
*/
@Cordova()
getBin(cardSixDigit: string, tokenType: string, token: string, mid: string, referenceId: string): Promise<any> {
return;
}
/**
* @param tokenType {string} token type ACCESS or TXN_TOKEN
* @param token {string} token fetch from api
* @param mid {string} merchant id
* @param orderId {string} order id required only if token type is TXN_TOKEN
* @param referenceId {string} reference id required only if token type is ACCESS
* @return {Promise<any>} Returns object of response
*/
@Cordova()
fetchNBList(tokenType: string, token: string, mid: string, orderId: string, referenceId: string): Promise<any> {
return;
}
/**
* @param channelCode {string} bank channel code
* @param cardType {string} card type debit or credit
* @return {Promise<any>} Returns object of response
*/
@Cordova()
fetchEmiDetails(channelCode: string, cardType: string): Promise<any> {
return;
}
/**
* @return {Promise<any>} Returns last successfully used net backing code
*/
@Cordova()
getLastNBSavedBank(): Promise<any> {
return;
}
/**
* @return {Promise<any>} Returns last successfully used vpa code
*/
@Cordova()
getLastSavedVPA(): Promise<any> {
return;
}
/**
* @param clientId {string} unique id give to each merchant
* @param authCode {string} fetched auth code
* @return {Promise<any>} Returns last successfully used vpa code
*/
@Cordova()
isAuthCodeValid(clientId: string, authCode: string): Promise<any> {
return;
}
/**
* @return {Promise<any>} Returns current environment
*/
@Cordova()
getEnvironment(): Promise<string> {
return;
}
/**
* @param environment {string} setting environment PRODUCTION or STAGING
*/
@Cordova()
setEnvironment(environment: string): void {
return;
}
}

View File

@@ -30,6 +30,7 @@ export interface DeeplinkOptions {
/**
* @name Deeplinks
* @premier deeplinks
* @description This plugin handles deeplinks on iOS and Android for both custom URL scheme links
* and Universal App Links.
*

View File

@@ -11,6 +11,7 @@ export interface DeviceFeedbackStatus {
/**
* @name Device Feedback
* @premier vibration
* @description
*
* Plugin that lets you provide haptic or acoustic feedback on Android devices.

View File

@@ -5,6 +5,7 @@ declare const window: any;
/**
* @name Device
* @premier device
* @description
* Access information about the underlying device and platform.
*

View File

@@ -0,0 +1,66 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
import { Observable } from 'rxjs';
export interface UpdateOptions {
/**
* A string that contains the identifier for the Bluetooth LE device to update. It will either be a MAC address (on Android) or a UUID (on iOS).
*/
deviceId: string;
/**
* A string that is the path to the file to use in the update. It can be either in either `cdvfile://` or `file://` format.
*/
fileUrl: string;
/**
* The PacketReceiptNotificationsValue (Default to 10)
*/
packetReceiptNotificationsValue?: number;
}
/**
* @name Dfu Update
* @description
* This plugin is a Wrapper to use Nordic Semiconductor's Device Firmware Update (DFU) service to update a Bluetooth LE device.
*
* @usage
* ```typescript
* import { DfuUpdate } from '@ionic-native/dfu-update/ngx';
*
*
* constructor(private dfuUpdate: DfuUpdate) { }
*
* ...
*
*
* this.dfuUpdate.updateFirmware('fileURL', 'deviceIdentifier')
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'DfuUpdate',
plugin: 'cordova-plugin-dfu-update',
pluginRef: 'window.DfuUpdate',
repo: 'https://github.com/EinfachHans/cordova-plugin-dfu-update',
install: 'ionic cordova plugin add cordova-plugin-dfu-update --variable ANDROID_NORDIC_VERSION="1.11.0"',
installVariables: ['ANDROID_NORDIC_VERSION'],
platforms: ['Android', 'iOS'],
})
@Injectable()
export class DfuUpdate extends IonicNativePlugin {
/**
* Start the Firmware-Update-Process
* @param options - Options for the process
* @return {Observable<any>} Returns a Observable that emits when something happens
*/
@Cordova({
observable: true,
callbackOrder: 'reverse',
})
updateFirmware(options: UpdateOptions): Observable<any> {
return;
}
}

View File

@@ -89,6 +89,15 @@ export class Diagnostic extends IonicNativePlugin {
WHEN_IN_USE: 'when_in_use',
};
/**
* iOS ONLY
* Location accuracy authorization
*/
locationAccuracyAuthorization: {
FULL: 'full';
REDUCED: 'reduced';
};
permissionGroups = {
CALENDAR: ['READ_CALENDAR', 'WRITE_CALENDAR'],
CAMERA: ['CAMERA'],
@@ -929,4 +938,36 @@ export class Diagnostic extends IonicNativePlugin {
getMotionAuthorizationStatus(): Promise<string> {
return;
}
/**
* Returns the location accuracy authorization for the application on iOS 14+. Note: calling on iOS <14 will result in the Promise being rejected.
*
* Learn more about this method [here](https://github.com/dpa99c/cordova-diagnostic-plugin#getlocationaccuracyauthorization)
*
* @return {Promise<string>}
*/
@Cordova({ platform: ['iOS'] })
getLocationAccuracyAuthorization(): Promise<string> {
return;
}
/**
* Requests temporary access to full location accuracy for the application on iOS 14+.
*
* Learn more about this method [here](https://github.com/dpa99c/cordova-diagnostic-plugin#requesttemporaryfullaccuracyauthorization)
*
* @return {Promise<string>}
*/
@Cordova({ platforms: ['iOS'] })
requestTemporaryFullAccuracyAuthorization(purpose: string): Promise<string> {
return;
}
/**
* Registers a function to be called when a change in location accuracy authorization occurs on iOS 14+.
*
* Learn more about this method [here](https://github.com/dpa99c/cordova-diagnostic-plugin#registerLocationAccuracyAuthorizationChangeHandler)
*/
@Cordova({ platforms: ['iOS'], sync: true })
registerLocationAccuracyAuthorizationChangeHandler(handler: Function): void {}
}

View File

@@ -15,6 +15,7 @@ export interface DialogsPromptCallback {
/**
* @name Dialogs
* @premier dialogs
* @description
* This plugin gives you ability to access and customize the device native dialogs.
*

View File

@@ -50,6 +50,7 @@ export interface EmailComposerOptions {
/**
* @name Email Composer
* @premier email-composer
* @description
*
* Requires Cordova plugin: cordova-plugin-email-composer. For more info, please see the [Email Composer plugin docs](https://github.com/hypery2k/cordova-email-plugin).

View File

@@ -24,7 +24,7 @@ export interface FacebookLoginResponse {
* @description
* Use the Facebook Connect plugin to obtain access to the native FB application on iOS and Android.
*
* Requires Cordova plugin: `cordova-plugin-facebook4`. For more info, please see the [Facebook Connect](https://github.com/jeduan/cordova-plugin-facebook4).
* Requires Cordova plugin: `cordova-plugin-facebook-connect`. For more info, please see the [Facebook Connect](https://github.com/cordova-plugin-facebook-connect/cordova-plugin-facebook-connect).
*
* #### Installation
*
@@ -39,7 +39,7 @@ export interface FacebookLoginResponse {
* Then type in the following command in your Terminal, where APP_ID and APP_NAME are the values from the Facebook Developer portal.
*
* ```bash
* ionic cordova plugin add cordova-plugin-facebook4 --variable APP_ID="123456789" --variable APP_NAME="myApplication"
* ionic cordova plugin add cordova-plugin-facebook-connect --variable APP_ID="123456789" --variable APP_NAME="myApplication"
* ```
*
* After, you'll need to add the native platforms you'll be using to your app in the Facebook Developer portal under your app's Settings:
@@ -107,11 +107,11 @@ export interface FacebookLoginResponse {
*/
@Plugin({
pluginName: 'Facebook',
plugin: 'cordova-plugin-facebook4',
plugin: 'cordova-plugin-facebook-connect',
pluginRef: 'facebookConnectPlugin',
repo: 'https://github.com/jeduan/cordova-plugin-facebook4',
repo: 'https://github.com/cordova-plugin-facebook-connect/cordova-plugin-facebook-connect',
install:
'ionic cordova plugin add cordova-plugin-facebook4 --variable APP_ID="123456789" --variable APP_NAME="myApplication"',
'ionic cordova plugin add cordova-plugin-facebook-connect --variable APP_ID="123456789" --variable APP_NAME="myApplication"',
installVariables: ['APP_ID', 'APP_NAME'],
platforms: ['Android', 'iOS', 'Browser'],
})
@@ -178,6 +178,60 @@ export class Facebook extends IonicNativePlugin {
return;
}
/**
* Login to Facebook using Limited Login (iOS Only)
*
* ```typescript
* {
* status: 'connected',
* authResponse: {
* authenticationToken: 'kgkh3g42kh4g23kh4g2kh34g2kg4k2h4gkh3g4k2h4gk23h4gk2h34gk234gk2h34AndSoOn',
* nonce: 'foo',
* userID: '634565435'
* }
* }
*
* ```
*
* @param {string[]} permissions List of [permissions](https://developers.facebook.com/docs/facebook-login/limited-login/permissions) this app has upon logging in.
* @returns {Promise<FacebookLoginResponse>} Returns a Promise that resolves with a status object if login succeeds, and rejects if login fails.
*/
@Cordova()
loginWithLimitedTracking(permissions: string[]): Promise<FacebookLoginResponse> {
return;
}
/**
* Check if the user has approved all necessary permissions
*
* @param {string[]} permissions List of [permissions](https://developers.facebook.com/docs/facebook-login/permissions) to check for
* @returns {Promise<string>} Returns a Promise that resolves with a success string if all passed permissions are granted, or an error string if any permissions are not granted
*/
@Cordova()
checkHasCorrectPermissions(permissions: string[]): Promise<string> {
return;
}
/**
* Check if data access has expired for the user
*
* @returns {Promise<string>} Returns a Promise that resolves with a success string if data access is expired, or rejects with an error
*/
@Cordova()
isDataAccessExpired(): Promise<string> {
return;
}
/**
* Reauthorize data access after it has expired
*
* @returns {Promise<FacebookLoginResponse>} Returns a Promise that resolves with a status object if login succeeds, and rejects if login fails.
*/
@Cordova()
reauthorizeDataAccess(): Promise<FacebookLoginResponse> {
return;
}
/**
* Logout of Facebook.
*
@@ -230,6 +284,16 @@ export class Facebook extends IonicNativePlugin {
return;
}
/**
* Get profile information for the currently logged in user
*
* @returns {Promise<any>} Returns a Promise that resolves with success data, or rejects with an error
*/
@Cordova()
getCurrentProfile(): Promise<any> {
return;
}
/**
* Show one of various Facebook dialogs. Example of options for a Share dialog:
*
@@ -243,7 +307,7 @@ export class Facebook extends IonicNativePlugin {
* }
* ```
*
* For more options see the [Cordova plugin docs](https://github.com/jeduan/cordova-plugin-facebook4#show-a-dialog) and the [Facebook docs](https://developers.facebook.com/docs/javascript/reference/FB.ui)
* For more options see the [Cordova plugin docs](https://github.com/cordova-plugin-facebook-connect/cordova-plugin-facebook-connect#show-a-dialog) and the [Facebook docs](https://developers.facebook.com/docs/javascript/reference/FB.ui)
* @param {Object} options The dialog options
* @returns {Promise<any>} Returns a Promise that resolves with success data, or rejects with an error
*/
@@ -263,10 +327,11 @@ export class Facebook extends IonicNativePlugin {
*
* @param {string} requestPath Graph API endpoint you want to call
* @param {string[]} permissions List of [permissions](https://developers.facebook.com/docs/facebook-login/permissions) for this request.
* @param {string} httpMethod HTTP method for the request, one of "GET", "POST", or "DELETE" (default is "GET")
* @returns {Promise<any>} Returns a Promise that resolves with the result of the request, or rejects with an error
*/
@Cordova()
api(requestPath: string, permissions: string[]): Promise<any> {
api(requestPath: string, permissions: string[], httpMethod?: string): Promise<any> {
return;
}
@@ -286,15 +351,49 @@ export class Facebook extends IonicNativePlugin {
return;
}
/**
* Enable or disable the auto log app event feature - https://developers.facebook.com/docs/app-events/gdpr-compliance/
*
* @param {boolean} enabled value to be set
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
setAutoLogAppEventsEnabled(enabled: boolean): Promise<void> {
return;
}
/**
* Enable or disable collection of advertiser-id
*
* @param {boolean} enabled value to be set
*/
@Cordova()
setAdvertiserIDCollectionEnabled(enabled: boolean): Promise<void> {
return;
}
/**
* Enable or disable advertiser tracking (iOS Only)
*
* @param {boolean} enabled value to be set
*/
@Cordova()
setAdvertiserTrackingEnabled(enabled: boolean): Promise<void> {
return;
}
/**
* Log a purchase. For more information see the Events section above.
*
* @param {number} value Value of the purchase.
* @param {string} currency The currency, as an [ISO 4217 currency code](http://en.wikipedia.org/wiki/ISO_4217)
* @param {Object} params An object containing extra data to log with the event
* @returns {Promise<any>}
*/
@Cordova()
logPurchase(value: number, currency: string): Promise<any> {
logPurchase(value: number, currency: string, params?: Object): Promise<any> {
return;
}

View File

@@ -16,8 +16,63 @@ export interface NotificationData {
[name: string]: any;
}
export interface IRequestPushPermissionIOSOptions {
/**
* Options exclusive for iOS 9 support
*/
ios9Support?: {
/**
* How long it will wait for a decision from the user before returning `false`, defaults to 10
*/
timeout?: number;
/**
* How long between each permission verification, defaults to 0.3
*/
interval?: number;
};
}
export interface IChannelConfiguration {
/**
* Channel id, used in the android_channel_id push payload key
*/
id: string;
/**
* Channel name, visible for the user
*/
name: string;
/**
* Channel description, visible for the user
*/
description?: string;
/**
* Importance for notifications of this channel
* https://developer.android.com/guide/topics/ui/notifiers/notifications#importance
*/
importance?: 'none' | 'min' | 'low' | 'default' | 'high';
/**
* Visibility for notifications of this channel
* https://developer.android.com/training/notify-user/build-notification#lockscreenNotification
*/
visibility?: 'public' | 'private' | 'secret';
/**
* Default sound resource for notifications of this channel
* The file should located as resources/raw/[resource name].mp3
*/
sound?: string;
/**
* Enable lights for notifications of this channel
*/
lights?: boolean;
/**
* Enable vibration for notifications of this channel
*/
vibration?: boolean;
}
/**
* @name FCM
* @capacitorincompatible true
* @description
* Provides basic functionality for Firebase Cloud Messaging
*
@@ -60,6 +115,8 @@ export interface NotificationData {
* ```
* @interfaces
* NotificationData
* IRequestPushPermissionIOSOptions
* IChannelConfiguration
*/
@Plugin({
pluginName: 'FCM',
@@ -162,4 +219,32 @@ export class FCM extends IonicNativePlugin {
clearAllNotifications(): void {
return;
}
/**
* Request push notification permission, alerting the user if it not have yet decided
*
* @param {IRequestPushPermissionIOSOptions} options Options for push request
*
* @returns {Promise<boolean>} Returns a Promise that resolves with the permission status
*/
@Cordova()
requestPushPermissionIOS(options?: IRequestPushPermissionIOSOptions): Promise<boolean> {
return;
}
/**
* For Android, some notification properties are only defined programmatically.
*
* Channel can define the default behavior for notifications on Android 8.0+.
*
* Once a channel is created, it stays unchangeable until the user uninstalls the app.
*
* @param channelConfig
*
* @returns {Promise<void>}
*/
@Cordova()
createNotificationChannelAndroid(channelConfig: IChannelConfiguration): void {
return;
}
}

View File

@@ -5,6 +5,7 @@ declare const window: any;
/**
* @name File Path
* @premier filesystem
* @description
*
* This plugin allows you to resolve the native filesystem path for Android content URIs and is based on code in the aFileChooser library.

View File

@@ -106,12 +106,10 @@ export interface FileTransferError {
* @description
* This plugin allows you to upload and download files.
*
* This plugin has been deprecated [in favor of XHR2](https://cordova.apache.org/blog/2017/10/18/from-filetransfer-to-xhr2.html).
*
* @usage
* ```typescript
* import { FileTransfer, FileUploadOptions, FileTransferObject } from '@ionic-native/file-transfer/ngx';
* import { File } from '@ionic-native/file/ngx';
* import { File } from '@ionic-native/file';
*
* constructor(private transfer: FileTransfer, private file: File) { }
*

View File

@@ -636,6 +636,7 @@ declare const window: Window;
/**
* @name File
* @premier filesystem
* @description
* This plugin implements a File API allowing read/write access to files residing on the device.
*
@@ -1340,7 +1341,7 @@ export class File extends IonicNativePlugin {
return getPromise<T>((resolve, reject) => {
reader.onloadend = () => {
if (reader.result !== undefined || reader.result !== null) {
resolve((reader.result as any) as T);
resolve(reader.result as any as T);
} else if (reader.error !== undefined || reader.error !== null) {
reject(reader.error);
} else {

View File

@@ -39,6 +39,19 @@ export interface FingerprintOptions {
disableBackup?: boolean;
}
export interface FingerprintSecretOptions extends FingerprintOptions {
/**
* String secret to encrypt and save, use simple strings matching the regex [a-zA-Z0-9\-]+
*/
secret: string;
/**
* If `true` secret will be deleted when biometry items are deleted or enrolled
* @default false
*/
invalidateOnEnrollment?: boolean;
}
/**
* @name Fingerprint AIO
* @description
@@ -68,9 +81,30 @@ export interface FingerprintOptions {
* .then((result: any) => console.log(result))
* .catch((error: any) => console.log(error));
*
* ...
*
* this.faio.registerBiometricSecret({
* description: "Some biometric description", // optional | Default: null
* secret: "my-super-secret", // mandatory
* invalidateOnEnrollment: true, // optional | Default: false
* disableBackup: true, // (Android Only) | optional | always `true` on Android
* })
* .then((result: any) => console.log(result))
* .catch((error: any) => console.log(error));
*
* ...
*
* this.faio.loadBiometricSecret({
* description: "Some biometric description", // optional | Default: null
* disableBackup: true, // always disabled on Android
* })
* .then((result: string) => console.log(result))
* .catch((error: any) => console.log(error));
*
* ```
* @interfaces
* FingerprintOptions
* FingerprintSecretOptions
*/
@Plugin({
pluginName: 'FingerprintAIO',
@@ -146,6 +180,11 @@ export class FingerprintAIO extends IonicNativePlugin {
* @type {number}
*/
BIOMETRIC_LOCKED_OUT_PERMANENT = -112;
/**
* Convenience constant
* @type {number}
*/
BIOMETRIC_SECRET_NOT_FOUND = -113;
/**
* Check if fingerprint authentication is available
@@ -156,6 +195,26 @@ export class FingerprintAIO extends IonicNativePlugin {
return;
}
/**
* Show authentication dialogue and register secret
* @param {FingerprintSecretOptions} options Options for platform specific fingerprint API
* @return {Promise<any>} Returns a promise that resolves when authentication was successful
*/
@Cordova()
registerBiometricSecret(options: FingerprintSecretOptions): Promise<any> {
return;
}
/**
* Show authentication dialogue and load secret
* @param {FingerprintOptions} options Options for platform specific fingerprint API
* @return {Promise<any>} Returns a promise that resolves when authentication was successful
*/
@Cordova()
loadBiometricSecret(options: FingerprintOptions): Promise<string> {
return;
}
/**
* Show authentication dialogue
* @param {FingerprintOptions} options Options for platform specific fingerprint API

View File

@@ -11,6 +11,22 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
*
* NOTE: on iOS in order to collect demographic, age, gender data etc. you should additionally include AdSupport.framework into your project.
*
* ## Using capacitor?
* For Android you'll have to add in __android/app/src/main/AndroidManfiest.xml__ under `<application>`
* ```
* <meta-data
* tools:replace="android:value"
* android:name="firebase_analytics_collection_enabled"
* android:value="true"/>
*
* <meta-data
* tools:replace="android:value"
* android:name="google_analytics_automatic_screen_reporting_enabled"
* android:value="false"/>
* ```
*
* And in the same file, you'll have to add `xmlns:tools="http://schemas.android.com/tools"` to your _manifest_ tag.
*
* @usage
* ```typescript
* import { FirebaseAnalytics } from '@ionic-native/firebase-analytics/ngx';

View File

@@ -126,6 +126,16 @@ export class FirebaseAuthentication extends IonicNativePlugin {
return;
}
/**
* Uses Apples's idToken and rawNonce (optional) to sign-in into firebase account. In order to retrieve those tokens follow instructions for Android and iOS
* @param idToken ID Token
* @param rawNonce Access Token
*/
@Cordova({ sync: true })
signInWithApple(identityToken: string, rawNonce?: string): Promise<any> {
return;
}
/**
* Uses Facebook's accessToken to sign-in into firebase account. In order to retrieve those tokens follow instructions for Android and iOS.
* @param accessToken Access Token

View File

@@ -16,7 +16,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
* ...
*
*
* const crashlytics = this.firebaseCrashlytics.initialize();
* const crashlytics = this.firebaseCrashlytics.initialise();
* crashlytics.logException('my caught exception');
*
* ```

View File

@@ -7,6 +7,45 @@ export interface IDynamicLink {
deepLink: string;
}
export interface ILinkOptions {
domainUriPrefix?: string;
link?: string;
androidInfo?: {
androidPackageName?: string;
androidFallbackLink?: string;
androidMinPackageVersionCode?: number;
};
iosInfo?: {
iosBundleId?: string;
iosFallbackLink?: string;
iosIpadFallbackLink?: string;
iosIpadBundleId?: string;
iosAppStoreId?: string;
};
navigationInfo?: {
enableForcedRedirect?: boolean;
};
analyticsInfo?: {
googlePlayAnalytics?: {
utmSource?: string;
utmMedium?: string;
utmCampaign?: string;
utmTerm?: string;
utmContent?: string;
};
itunesConnectAnalytics?: {
at?: string;
ct?: string;
pt?: string;
};
};
socialMetaTagInfo?: {
socialTitle?: string;
socialDescription?: string;
socialImageLink?: string;
};
}
/**
* @beta
* @name Firebase Dynamic Links
@@ -58,6 +97,17 @@ export interface IDynamicLink {
})
@Injectable()
export class FirebaseDynamicLinks extends IonicNativePlugin {
/**
* Determines if the app has a pending dynamic link and provides access to the dynamic link parameters.
* @return {Promise<IDynamicLink>} Returns a promise
*/
@Cordova({
otherPromise: true,
})
getDynamicLink(): Promise<IDynamicLink> {
return;
}
/**
* Registers callback that is triggered on each dynamic link click.
* @return {Observable<IDynamicLink>} Returns an observable
@@ -69,4 +119,40 @@ export class FirebaseDynamicLinks extends IonicNativePlugin {
onDynamicLink(): Observable<IDynamicLink> {
return;
}
/**
* Creates a Dynamic Link from the parameters. Returns a promise fulfilled with the new dynamic link url.
* @param {ILinkOptions} opt [Dynamic Link Parameters](https://github.com/chemerisuk/cordova-plugin-firebase-dynamiclinks#dynamic-link-parameters)
* @return {Promise<string>} Returns a promise with the url
*/
@Cordova({
otherPromise: true,
})
createDynamicLink(opts: ILinkOptions): Promise<string> {
return;
}
/**
* Creates a shortened Dynamic Link from the parameters. Shorten the path to a string that is only as long as needed to be unique, with a minimum length of 4 characters. Use this method if sensitive information would not be exposed if a short Dynamic Link URL were guessed.
* @param {ILinkOptions} opt [Dynamic Link Parameters](https://github.com/chemerisuk/cordova-plugin-firebase-dynamiclinks#dynamic-link-parameters)
* @return {Promise<string>} Returns a promise with the url
*/
@Cordova({
otherPromise: true,
})
createShortDynamicLink(opts: ILinkOptions): Promise<string> {
return;
}
/**
* Creates a Dynamic Link from the parameters. Shorten the path to an unguessable string. Such strings are created by base62-encoding randomly generated 96-bit numbers, and consist of 17 alphanumeric characters. Use unguessable strings to prevent your Dynamic Links from being crawled, which can potentially expose sensitive information.
* @param {ILinkOptions} opt [Dynamic Link Parameters](https://github.com/chemerisuk/cordova-plugin-firebase-dynamiclinks#dynamic-link-parameters)
* @return {Promise<string>} Returns a promise with the url
*/
@Cordova({
otherPromise: true,
})
createUnguessableDynamicLink(opts: ILinkOptions): Promise<string> {
return;
}
}

View File

@@ -183,7 +183,7 @@ export class FirebaseMessaging extends IonicNativePlugin {
* @returns {Promise<null>}
*/
@Cordova({ sync: true })
revokeToken(): Promise<null> {
deleteToken(): Promise<null> {
return;
}
}

View File

@@ -1,6 +1,226 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
export interface Text {
text: string;
blocks: TextLine[];
imageHeight: number;
imageWidth: number;
}
export interface TextLine extends TextBlock {
lines: TextElement[];
}
export interface TextElement extends TextBlock {
elements: TextBlock[];
}
export interface TextBlock {
text: string;
cornerPoints: TextPoint[];
frame: TextFrame;
recognizedLanguages: string;
}
export interface TextPoint {
x: number;
y: number;
}
export interface TextFrame {
x: number;
y: number;
width: number;
height: number;
}
export enum BarcodeFormat {
UNKNOWN = -1,
ALL_FORMATS = 0,
CODE_128 = 1,
CODE_39 = 2,
CODE_93 = 4,
CODABAR = 8,
DATA_MATRIX = 16,
EAN_13 = 32,
EAN_8 = 64,
ITF = 128,
QR_CODE = 256,
UPC_A = 512,
UPC_E = 1024,
PDF417 = 2048,
AZTEC = 4096,
}
export enum BarcodeValueType {
/** Unknown Barcode value types. */
Unknown,
/** Barcode value type for contact info. */
ContactInfo,
/** Barcode value type for email addresses. */
Email,
/** Barcode value type for ISBNs. */
ISBN,
/** Barcode value type for phone numbers. */
Phone,
/** Barcode value type for product codes. */
Product,
/** Barcode value type for SMS details. */
SMS,
/** Barcode value type for plain text. */
Text,
/** Barcode value type for URLs/bookmarks. */
URL,
/** Barcode value type for Wi-Fi access point details. */
WiFi,
/** Barcode value type for geographic coordinates. */
GeographicCoordinates,
/** Barcode value type for calendar events. */
CalendarEvent,
/** Barcode value type for driver's license data. */
DriversLicense,
}
export enum BarcodeEmailType {
/** Unknown email type. */
Unknown,
/** Barcode work email type. */
Work,
/** Barcode home email type. */
Home,
}
export enum BarcodePhoneType {
/** Unknown phone type. */
Unknown,
/** Barcode work phone type. */
Work,
/** Barcode home phone type. */
Home,
/** Barcode fax phone type. */
Fax,
/** Barcode mobile phone type. */
Mobile,
}
export enum BarcodeWiFiEncryptionType {
/** Barcode unknown Wi-Fi encryption type. */
Unknown,
/** Barcode open Wi-Fi encryption type. */
Open,
/** Barcode WPA Wi-Fi encryption type. */
WPA,
/** Barcode WEP Wi-Fi encryption type. */
WEP,
}
export enum BarcodeAddressType {
/** Barcode unknown address type. */
Unknown,
/** Barcode work address type. */
Work,
/** Barcode home address type. */
Home,
}
export interface Barcode {
valueType: BarcodeValueType;
format: BarcodeFormat;
rawValue: string;
displayValue: string;
cornerPoints: any;
imageHeight: number;
imageWidth: number;
email: BarcodeEmail;
phone: BarcodePhone;
sms: BarcodeSms;
url: BarcodeUrl;
wifi: BarcodeWifi;
geoPoint: BarcodeGeoPoint;
calendarEvent: BarcodeCalendarEvent;
contactInfo: BarcodeContactInfo;
driverLicense: BarcodeDriverLicense;
}
export interface BarcodeEmail {
address: string;
body: string;
subject: string;
type: BarcodeEmailType;
}
export interface BarcodePhone {
number: string;
type: BarcodePhoneType;
}
export interface BarcodeSms {
phoneNumber: string;
message: string;
}
export interface BarcodeUrl {
title: string;
url: string;
}
export interface BarcodeWifi {
ssid: string;
password: string;
type: BarcodeWiFiEncryptionType;
}
export interface BarcodeGeoPoint {
latitude: number;
longitude: number;
}
export interface BarcodeCalendarEvent {
eventDescription: string;
location: string;
organizer: string;
status: string;
summary: string;
start: any;
end: any;
}
export interface BarcodeContactInfo {
title: string;
name: string;
addresses: BarcodeAddress[];
phones: BarcodePhone[];
emails: BarcodeEmail[];
organization: string;
urls: string;
}
export interface BarcodeAddress {
addressLine: string;
type: BarcodeAddressType;
}
export interface BarcodeDriverLicense {
firstName: string;
middleName: string;
lastName: string;
gender: string;
addressCity: string;
addressState: string;
addressStreet: string;
addressZip: string;
birthDate: string;
documentType: string;
licenseNumber: string;
expiryDate: string;
issuingDate: string;
issuingCountry: string;
}
export interface ImageLabel {
index: number;
confidence: number;
text: string;
}
/**
* @name Firebase Vision
* @description
@@ -20,6 +240,14 @@ import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
* .then((res: string) => console.log(res))
* .catch((error: string) => console.error(error));
*
* this.firebaseVision.barcodeDetector(FILE_URI)
* .then((res: Barcode[]) => console.log(res))
* .catch((error: string) => console.error(error));
*
* this.firebaseVision.imageLabeler(FILE_URI)
* .then((res: ImageLabel[]) => console.log(res))
* .catch((error: string) => console.error(error));
*
* ```
*/
@Plugin({
@@ -37,7 +265,25 @@ export class FirebaseVision extends IonicNativePlugin {
* @return {Promise<string>} Returns a promise that fulfills with the text in the image
*/
@Cordova()
onDeviceTextRecognizer(file_uri: string): Promise<string> {
onDeviceTextRecognizer(file_uri: string): Promise<Text> {
return;
}
/**
* Read data from Barcode
* @param file_uri {string} Image URI
* @return {Promise<Barcode[]>} Returns a promise that fulfills with the data in barcode
*/
@Cordova()
barcodeDetector(file_uri: string): Promise<Barcode[]> {
return;
}
/**
* Recognize object in image
* @param file_uri {string} Image URI
* @return {Promise<ImageLabel[]>} Returns a promise that fulfills with the information about entities in an image
*/
@Cordova()
imageLabeler(file_uri: string): Promise<ImageLabel[]> {
return;
}
}

View File

@@ -179,6 +179,15 @@ export class FirebaseX extends IonicNativePlugin {
return;
}
/**
* Reload the current FCM user.
* @return {Promise<FirebaseUser | string>}
*/
@Cordova()
reloadCurrentUser(): Promise<FirebaseUser | string> {
return;
}
/**
* Get notified when a token is refreshed.
* @return {Observable<any>}
@@ -304,6 +313,23 @@ export class FirebaseX extends IonicNativePlugin {
return;
}
/**
* Indicates whether autoinit is currently enabled. If so, new FCM tokens will be automatically generated.
*/
@Cordova()
isAutoInitEnabled(): Promise<boolean> {
return;
}
/**
* Sets whether to autoinit new FCM tokens. By default, a new token will be generated as soon as the old one is removed.
* To prevent a new token being generated, by sure to disable autoinit using setAutoInitEnabled() before calling unregister().
*/
@Cordova()
setAutoInitEnabled(enabled: boolean): Promise<any> {
return;
}
/**
* Android 8+ only. Creates a custom channel to be used by notification messages which have the channel property set in the message payload to the id of the created channel:
* - for background (system) notifications: android.notification.channel_id
@@ -490,10 +516,8 @@ export class FirebaseX extends IonicNativePlugin {
* the verification code along with the verification ID. In this case, the user doesn't need to do anything in order for you
* to sign them in.
*
* @param {function} success - callback function to pass {object} credentials to as an argument
* @param {function} error - callback function which will be passed a {string} error message as an argument
* @param {string} phoneNumber - phone number to verify
* @param {integer} timeOutDuration - (optional) time to wait in seconds before timing out
* @param {integer} timeOutDuration - time to wait in seconds before timing out
* @param {string} fakeVerificationCode - (optional) to test instant verification on Android ,specify a fake verification code to return for whitelisted phone numbers.
*
* The success callback will be passed a credential object with the following properties:
@@ -501,13 +525,19 @@ export class FirebaseX extends IonicNativePlugin {
* verificationId {string} - the verification ID you'll need to pass along with the verification code to sign the user in. Always returned on both Android & iOS.
* code {string} - verification code. Will only be present if instantVerification is true. Always undefined on iOS.
*/
@Cordova({
callbackOrder: 'reverse',
})
verifyPhoneNumber(phoneNumber: string, timeOutDuration: number, fakeVerificationCode?: string): Promise<any> {
return;
}
/**
* Switch current authentification system language, for example, the phone sms code.
* @param lang - language to change, ex: 'fr' for french
*/
@Cordova()
verifyPhoneNumber(
success: (value: string | object) => void,
error: (err: string) => void,
phoneNumber: string,
timeoutDuration = 0
): Promise<any> {
setLanguageCode(lang: string): Promise<any> {
return;
}
@@ -515,11 +545,66 @@ export class FirebaseX extends IonicNativePlugin {
* Signs the user into Firebase with credentials obtained using verifyPhoneNumber().
* See the Android- and iOS-specific Firebase documentation for more info.
* @param {object} credential - a credential object returned by the success callback of an authentication method
* @param {function} success - callback function to call on successful sign-in using credentials
* @param {function} error - callback function which will be passed a {string} error message as an argument
*/
@Cordova()
signInWithCredential(credential: object, success: () => void, error: (err: string) => void): Promise<any> {
signInWithCredential(credential: object): Promise<any> {
return;
}
/**
* Creates a new email/password-based user account. If account creation is successful, user will be automatically signed in.
* @param email
* @param password
*/
@Cordova()
createUserWithEmailAndPassword(email: string, password: string): Promise<any> {
return;
}
/**
* Signs in to an email/password-based user account.
* @param email
* @param password
*/
@Cordova()
signInUserWithEmailAndPassword(email: string, password: string): Promise<any> {
return;
}
/**
* Signs in user with custom token.
* @param customToken
*/
@Cordova()
signInUserWithCustomToken(customToken: string): Promise<any> {
return;
}
/**
* Signs in user anonymously.
*/
@Cordova()
signInUserAnonymously(): Promise<any> {
return;
}
/**
* Authenticates the user with a Google account to obtain a credential that can be used to sign the user in/link to an existing user account/reauthenticate the user.
* @param clientId
*/
@Cordova()
authenticateUserWithGoogle(clientId: string): Promise<any> {
return;
}
/**
* Authenticates the user with an Apple account using Sign In with Apple to obtain a credential that can be used to sign the user in/link to an existing user account/reauthenticate the user.
* @param locale
*/
@Cordova({
callbackOrder: 'reverse',
})
authenticateUserWithApple(locale?: string): Promise<any> {
return;
}
@@ -546,6 +631,76 @@ export class FirebaseX extends IonicNativePlugin {
return;
}
/**
* Checks if there is a current Firebase user signed into the app.
*/
@Cordova()
isUserSignedIn(): Promise<boolean> {
return;
}
/**
* Signs current Firebase user out of the app.
*/
@Cordova()
signOutUser(): Promise<any> {
return;
}
/**
* Updates the display name and/or photo URL of the current Firebase user signed into the app.
* @param profile
*/
@Cordova()
updateUserProfile(profile: { name: string; photoUri: string }): Promise<any> {
return;
}
/**
* Updates/sets the email address of the current Firebase user signed into the app.
* @param email
*/
@Cordova()
updateUserEmail(email: string): Promise<any> {
return;
}
/**
* Sends a verification email to the currently configured email address of the current Firebase user signed into the app.
* When the user opens the contained link, their email address will have been verified.
*/
@Cordova()
sendUserEmailVerification(): Promise<any> {
return;
}
/**
* Updates/sets the account password for the current Firebase user signed into the app.
* @param password
*/
@Cordova()
updateUserPassword(password: string): Promise<any> {
return;
}
/**
* Sends a password reset email to the specified user email address.
* Note: doesn't require the Firebase user to be signed in to the app.
* @param email
*/
@Cordova()
sendUserPasswordResetEmail(email: string): Promise<any> {
return;
}
/**
* Deletes the account of the current Firebase user signed into the app.
*/
@Cordova()
deleteUser(): Promise<any> {
return;
}
/**
* Registers a Javascript function to invoke when Firebase Authentication state changes between user signed in/signed out.
* @param {function} fn - callback function to invoke when authentication state changes

View File

@@ -4,6 +4,7 @@ import { Observable } from 'rxjs';
/**
* @name Firebase
* @capacitorincompatible true
* @description
* This plugin brings push notifications, analytics, event tracking, crash reporting and more from Google Firebase to your Cordova project! Android and iOS supported (including iOS 10).
*

View File

@@ -106,6 +106,7 @@ export interface GeolocationOptions {
/**
* @name Geolocation
* @premier geolocation
* @description
* This plugin provides information about the device's location, such as latitude and longitude. Common sources of location information include Global Positioning System (GPS) and location inferred from network signals such as IP address, RFID, WiFi and Bluetooth MAC addresses, and GSM/CDMA cell IDs.
*
@@ -191,10 +192,10 @@ export class Geolocation extends IonicNativePlugin {
* ```
*
* @param {GeolocationOptions} options The [geolocation options](https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions).
* @returns {Observable<Geoposition>} Returns an Observable that notifies with the [position](https://developer.mozilla.org/en-US/docs/Web/API/Position) of the device, or errors.
* @returns {Observable<Geoposition | PositionError>} Returns an Observable that notifies with the [position](https://developer.mozilla.org/en-US/docs/Web/API/Position) of the device, or errors.
*/
watchPosition(options?: GeolocationOptions): Observable<Geoposition> {
return new Observable<Geoposition>((observer: any) => {
watchPosition(options?: GeolocationOptions): Observable<Geoposition | PositionError> {
return new Observable<Geoposition | PositionError>((observer: any) => {
const watchId = navigator.geolocation.watchPosition(
observer.next.bind(observer),
observer.next.bind(observer),

View File

@@ -8,6 +8,7 @@ export interface GlobalizationOptions {
/**
* @name Globalization
* @premier globalization
* @description
* This plugin obtains information and performs operations specific to the user's locale, language, and timezone.
*
@@ -108,9 +109,7 @@ export class Globalization extends IonicNativePlugin {
@Cordova({
callbackOrder: 'reverse',
})
getDatePattern(
options: GlobalizationOptions
): Promise<{
getDatePattern(options: GlobalizationOptions): Promise<{
pattern: string;
timezone: string;
iana_timezone: string;
@@ -186,9 +185,7 @@ export class Globalization extends IonicNativePlugin {
@Cordova({
callbackOrder: 'reverse',
})
getNumberPattern(options: {
type: string;
}): Promise<{
getNumberPattern(options: { type: string }): Promise<{
pattern: string;
symbol: string;
fraction: number;
@@ -207,9 +204,7 @@ export class Globalization extends IonicNativePlugin {
* @returns {Promise<{ pattern: string, code: string, fraction: number, rounding: number, decimal: number, grouping: string }>}
*/
@Cordova()
getCurrencyPattern(
currencyCode: string
): Promise<{
getCurrencyPattern(currencyCode: string): Promise<{
pattern: string;
code: string;
fraction: number;

View File

@@ -24,6 +24,10 @@ export interface HTTPResponse {
error?: string;
}
interface AbortedResponse {
aborted: boolean;
}
/**
* @name HTTP
* @description
@@ -84,6 +88,7 @@ export class HTTP extends IonicNativePlugin {
UNSUPPORTED_URL: number;
NOT_CONNECTED: number;
POST_PROCESSING_FAILED: number;
ABORTED: number;
};
/**
@@ -230,6 +235,29 @@ export class HTTP extends IonicNativePlugin {
return;
}
/**
* Make a sync POST request
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'post',
sync: true,
})
postSync(
url: string,
body: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* Make a GET request
* @param url {string} The url to send the request to
@@ -242,6 +270,29 @@ export class HTTP extends IonicNativePlugin {
return;
}
/**
* Make a sync GET request
* @param url {string} The url to send the request to
* @param parameters {Object} Parameters to send with the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'get',
sync: true,
})
getSync(
url: string,
parameters: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* Make a PUT request
* @param url {string} The url to send the request to
@@ -254,6 +305,29 @@ export class HTTP extends IonicNativePlugin {
return;
}
/**
* Make a sync PUT request
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'put',
sync: true,
})
putSync(
url: string,
body: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* Make a PATCH request
* @param url {string} The url to send the request to
@@ -266,6 +340,29 @@ export class HTTP extends IonicNativePlugin {
return;
}
/**
* Make a sync PATCH request
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'patch',
sync: true,
})
patchSync(
url: string,
body: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* Make a DELETE request
* @param url {string} The url to send the request to
@@ -278,6 +375,29 @@ export class HTTP extends IonicNativePlugin {
return;
}
/**
* Make a sync DELETE request
* @param url {string} The url to send the request to
* @param parameters {Object} Parameters to send with the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'delete',
sync: true,
})
deleteSync(
url: string,
parameters: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* Make a HEAD request
* @param url {string} The url to send the request to
@@ -290,6 +410,29 @@ export class HTTP extends IonicNativePlugin {
return;
}
/**
* Make a sync HEAD request
* @param url {string} The url to send the request to
* @param parameters {Object} Parameters to send with the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'head',
sync: true,
})
headSync(
url: string,
parameters: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* Make an OPTIONS request
* @param url {string} The url to send the request to
@@ -302,6 +445,29 @@ export class HTTP extends IonicNativePlugin {
return;
}
/**
* Make an sync OPTIONS request
* @param url {string} The url to send the request to
* @param parameters {Object} Parameters to send with the request
* @param headers {Object} The headers to set for this request
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'options',
sync: true,
})
optionsSync(
url: string,
parameters: any,
headers: any,
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
*
* @param url {string} The url to send the request to
@@ -316,6 +482,33 @@ export class HTTP extends IonicNativePlugin {
return;
}
/**
*
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @param filePath {string} The local path(s) of the file(s) to upload
* @param name {string} The name(s) of the parameter to pass the file(s) along as
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'uploadFile',
sync: true,
})
uploadFileSync(
url: string,
body: any,
headers: any,
filePath: string | string[],
name: string | string[],
success: (result: any) => void,
failure: (error: any) => void
): string {
return;
}
/**
*
* @param url {string} The url to send the request to
@@ -329,6 +522,31 @@ export class HTTP extends IonicNativePlugin {
return;
}
/**
*
* @param url {string} The url to send the request to
* @param body {Object} The body of the request
* @param headers {Object} The headers to set for this request
* @param filePath {string} The path to download the file to, including the file name.
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'downloadFile',
sync: true,
})
downloadFileSync(
url: string,
body: any,
headers: any,
filePath: string,
success: (result: any) => void,
failure: (error: any) => void
): string {
return;
}
/**
*
* @param url {string} The url to send the request to
@@ -352,7 +570,7 @@ export class HTTP extends IonicNativePlugin {
method: 'get' | 'post' | 'put' | 'patch' | 'head' | 'delete' | 'options' | 'upload' | 'download';
data?: { [index: string]: any };
params?: { [index: string]: string | number };
serializer?: 'json' | 'urlencoded' | 'utf8' | 'multipart';
serializer?: 'json' | 'urlencoded' | 'utf8' | 'multipart' | 'raw';
timeout?: number;
headers?: { [index: string]: string };
filePath?: string | string[];
@@ -362,4 +580,53 @@ export class HTTP extends IonicNativePlugin {
): Promise<HTTPResponse> {
return;
}
/**
*
* @param url {string} The url to send the request to
* @param options {Object} options for individual request
* @param options.method {string} request method
* @param options.data {Object} payload to be send to the server (only applicable on post, put or patch methods)
* @param options.params {Object} query params to be appended to the URL (only applicable on get, head, delete, upload or download methods)
* @param options.serializer {string} data serializer to be used (only applicable on post, put or patch methods), defaults to global serializer value, see setDataSerializer for supported values
* @param options.timeout {number} timeout value for the request in seconds, defaults to global timeout value
* @param options.headers {Object} headers object (key value pair), will be merged with global values
* @param options.filePath {string} file path(s) to be used during upload and download see uploadFile and downloadFile for detailed information
* @param options.name {string} name(s) to be used during upload see uploadFile for detailed information
* @param options.responseType {string} response type, defaults to text
* @param success {function} A callback that is called when the request succeed
* @param failure {function} A callback that is called when the request failed
*
* @returns {string} returns a string that represents the requestId
*/
@Cordova({
methodName: 'sendRequest',
sync: true,
})
sendRequestSync(
url: string,
options: {
method: 'get' | 'post' | 'put' | 'patch' | 'head' | 'delete' | 'options' | 'upload' | 'download';
data?: { [index: string]: any };
params?: { [index: string]: string | number };
serializer?: 'json' | 'urlencoded' | 'utf8' | 'multipart';
timeout?: number;
headers?: { [index: string]: string };
filePath?: string | string[];
name?: string | string[];
responseType?: 'text' | 'arraybuffer' | 'blob' | 'json';
},
success: (result: HTTPResponse) => void,
failure: (error: any) => void
): string {
return;
}
/**
* @param requestId {string} The RequestId of the request to abort
*/
@Cordova()
abort(requestId: string): Promise<AbortedResponse> {
return;
}
}

View File

@@ -1,212 +1,234 @@
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
import {
Plugin,
Cordova,
CordovaProperty,
CordovaInstance,
InstanceProperty,
IonicNativePlugin,
} from '@ionic-native/core';
import { kMaxLength } from 'buffer';
import { resolve } from 'dns';
import { reject } from 'lodash';
import { error } from 'console';
/**
* @beta
* @name HyperTrack
* @description
* HyperTrack cordova plugin wrapper for Ionic Native. Location-based services provider.
* Make sure to include your publishable key at config.xml (see [HyperTrack Cordova Setup](https://docs.hypertrack.com/sdks/cordova/setup.html#step-2-configure-the-sdk)).
*
* @usage
* ```typescript
* import { HyperTrack } from '@ionic-native/hyper-track/ngx';
*
* constructor(private hyperTrack: HyperTrack) { }
*
* // Check if app has location permissions enabled
* this.hyperTrack.checkLocationPermission().then(response => {
* // response (String) can be "true" or "false"
* if (response != "true") {
* // Ask for permissions
* this.hyperTrack.requestPermissions().then(response => {}, error => {});
* }
* }, error => {});
*
* // Check if app has location services enabled
* this.hyperTrack.checkLocationServices().then(response => {
* // response (String) can be "true" or "false"
* if (response != "true") {
* // Request services to be enabled
* this.hyperTrack.requestLocationServices().then(response => {}, error => {});
* }
* }, error => {});
*
* // First set the current user. This can be done via getOrCreateUser() or setUserId()
* this.hyperTrack.setUserId("xxx").then(user => {
* // user (String) is a String representation of a User's JSON
*
* this.hyperTrack.startTracking().then(userId => {}, trackingError => {});
*
* this.hyperTrack.createAndAssignAction('visit', 'lookupId','address', 20.12, -100.3).then(action => {
* // Handle action. It's a String representation of the Action's JSON. For example:
* // '{"eta":"Jul 17, 2017 12:50:03 PM","assigned_at":"Jul 17, 2017 12:34:38 PM",,"distance":"0.0",...}'
* }, error => {});
*
* // You can complete an action with completeAction() or completeActionWithLookupId()
* this.hyperTrack.completeAction('action-id').then(response => {
* // Handle response (String). Should be "OK".
* }, error => {});
*
* this.hyperTrack.getCurrentLocation().then(location => {
* // Handle location. It's a String representation of a Location's JSON.For example:
* // '{"mAccuracy":22.601,,"mLatitude":23.123456, "mLongitude":-100.1234567, ...}'
* }, error => {});
*
* this.hyperTrack.stopTracking().then(success => {
* // Handle success (String). Should be "OK".
* }, error => {});
*
* }, error => {});*
* ```
*/
@Plugin({
pluginName: 'HyperTrack',
plugin: 'cordova-plugin-hypertrack',
pluginRef: 'cordova.plugins.HyperTrack',
repo: 'https://github.com/hypertrack/hypertrack-cordova',
pluginName: 'cordova-plugin-hypertrack-v3',
plugin: 'cordova-plugin-hypertrack-v3',
pluginRef: 'hypertrack',
repo: 'https://github.com/hypertrack/cordova-plugin-hypertrack.git',
platforms: ['Android'],
})
@Injectable()
export class HyperTrack extends IonicNativePlugin {
/**
* Returns given text. For testing purposes.
* @param {String} text Given text to print
* @returns {Promise<any>} Returns a Promise that resolves with the result text (which is the same as the given text) if successful, or it gets rejected if an error ocurred.
*/
export class HyperTrackPlugin extends IonicNativePlugin {
@Cordova()
helloWorld(text: String): Promise<String> {
initialize(publishableKey: string): Promise<HyperTrackCordova> {
return;
}
/**
* Create a new user to identify the current device or get a user from a lookup id.
* @param {String} name User's name
* @param {String} phone User's phone
* @param {String} photo User's photo as URL or a Base64 converted string
* @param {String} lookupId User's lookupId, which is used to check if a new user is to be created (in this case you could set it to an internal reference for the user that you can use later to identify it), or if one with an existing lookupId is to be used.
* @returns {Promise<any>} Returns a Promise that resolves with a string representation of the User's JSON, or it gets rejected if an error ocurred.
*/
@Cordova()
getOrCreateUser(name: String, phone: String, photo: String, lookupId: String): Promise<any> {
return;
}
/**
* Set UserId for the SDK created using HyperTrack APIs. This is useful if you already have a user previously created.
* @param {String} userId User's ID
* @returns {Promise<any>} Returns a Promise that resolves with an "OK" string if successful, or it gets rejected if an error ocurred. An "OK" response doesn't necessarily mean that the userId was found. It just means that it was set correctly.
*/
@Cordova()
setUserId(userId: String): Promise<any> {
return;
}
/**
* Enable the SDK and start tracking. This will fail if there is no user set.
* @returns {Promise<any>} Returns a Promise that resolves with the userId (String) of the User being tracked if successful, or it gets rejected if an error ocurred. One example of an error is not setting a User with getOrCreateUser() or setUserId() before calling this function.
*/
@Cordova()
startTracking(): Promise<any> {
return;
}
/**
* Create and assign an action to the current user using specified parameters
* @param {String} type The action type. Can be one from "pickup", "delivery", "dropoff", "visit", "stopover" or "task"
* @param {String} lookupId The Action's desired lookupId
* @param {String} expectedPlaceAddress The address of the Action
* @param {Number} expectedPlaceLatitude The latitude of the Action
* @param {Number} expectedPlaceLongitude The longitude of the Action
* @returns {Promise<any>} Returns a Promise that resolves with a string representation of the Action's JSON, or it gets rejected if an error ocurred.
*/
@Cordova()
createAndAssignAction(
type: String,
lookupId: String,
expectedPlaceAddress: String,
expectedPlaceLatitude: Number,
expectedPlaceLongitude: Number
): Promise<any> {
return;
}
/**
* Complete an action from the SDK by its ID
* @param {String} actionId ID of the Action that will be marked as completed
* @returns {Promise<any>} Returns a Promise that resolves with an "OK" string if successful, or it gets rejected if an error ocurred.
*/
@Cordova()
completeAction(actionId: String): Promise<any> {
return;
}
/**
* Complete an action from the SDK using Action's lookupId as parameter
* @param {String} lookupId Lookup ID of the Action that will be marked as completed
* @returns {Promise<any>} Returns a Promise that resolves with an "OK" string if successful, or it gets rejected if an error ocurred.
*/
@Cordova()
completeActionWithLookupId(lookupId: String): Promise<any> {
return;
}
/**
* Disable the SDK and stop tracking.
* Needs user setting (via getOrCreateUser() or setUserId()) first.
* @returns {Promise<any>} Returns a Promise that resolves with the an "OK" string if successful, or it gets rejected if an error ocurred. One example of an error is not setting a User with getOrCreateUser() or setUserId() before calling this function.
*/
@Cordova()
stopTracking(): Promise<any> {
return;
}
/**
* Get user's current location from the SDK
* @returns {Promise<any>} Returns a Promise that resolves with a string representation of the Location's JSON, or it gets rejected if an error ocurred.
*/
@Cordova()
getCurrentLocation(): Promise<any> {
return;
}
/**
* Check if Location permission has been granted to the app (for Android).
* Returns "true" or "false" in success method accordingly.
* @returns {Promise<any>} Returns a Promise that resolves with the a string that can be "true" or "false", depending if location permission was granted, or it gets rejected if an error ocurred.
*/
@Cordova()
checkLocationPermission(): Promise<any> {
return;
}
/**
* Request user to grant Location access to the app (for Anrdoid).
* For Android Marshmallow and above. In other platforms, the Promise is never resolved.
* @returns {Promise<any>} Returns a Promise that resolves with the a string that can be "true" or "false", depending if Location access was given to the app, or it gets rejected if an error ocurred.
*/
@Cordova()
requestPermissions(): Promise<any> {
return;
}
/**
* Check if Location services are enabled on the device (for Android).
* Returns "true" or "false" in success method accordingly.
* @returns {Promise<any>} Returns a Promise that resolves with the a string that can be "true" or "false", depending if location services are enabled, or it gets rejected if an error ocurred.
*/
@Cordova()
checkLocationServices(): Promise<any> {
return;
}
/**
* Request user to enable Location services on the device.
* For Android Marshmallow and above. In other platforms, the Promise is never resolved.
* @returns {Promise<any>} Returns a Promise that resolves with the a string that can be "true" or "false", depending if Location services were enabled, or it gets rejected if an error ocurred.
*/
@Cordova()
requestLocationServices(): Promise<any> {
enableDebugLogging(): Promise<any> {
return;
}
}
// Interfaces for Cordova Plugin callbacks
interface DeviceIdReceiver {
(deviceId: string): any;
}
interface TrackingStateReceiver {
(isRunning: boolean): any;
}
interface FailureHandler {
(error: Error): any;
}
interface SuccessHandler {
(): any;
}
// SDK instance that exposed from Cordova utilizes usage of callbacks, so we
// wrap it with adapter to avoid mix of callbacks and Promises
interface HyperTrackCordova {
getDeviceId(success: DeviceIdReceiver, error: FailureHandler): void;
isRunning(success: TrackingStateReceiver, error: FailureHandler): void;
setDeviceName(name: string, success: SuccessHandler, error: FailureHandler): void;
setDeviceMetadata(metadata: Object, success: SuccessHandler, error: FailureHandler): void;
setTrackingNotificationProperties(
title: string,
message: string,
success: SuccessHandler,
error: FailureHandler
): void;
addGeoTag(geotagData: Object, expectedLocation: Coordinates, success: SuccessHandler, error: FailureHandler): void;
requestPermissionsIfNecessary(success: SuccessHandler, error: FailureHandler): void;
allowMockLocations(success: SuccessHandler, error: FailureHandler): void;
syncDeviceSettings(success: SuccessHandler, error: FailureHandler): void;
}
export class CoordinatesValidationError extends Error {}
/** Wrapper class for passing spatial geoposition as a geotag's expected location */
export class Coordinates {
constructor(latitude: number, longitude: number) {
if (latitude < -90.0 || latitude > 90.0 || longitude < -180.0 || longitude > 180.0) {
throw new CoordinatesValidationError('latitude and longitude should be of correct valaues');
}
}
}
/**
* @usage
* ```typescript
* import { HyperTrack } from '@ionic-native/hyper-track';
*
* initializeHypertrack() {
* HyperTrack.enableDebugLogging();
* HyperTrack.initialize('YOUR_PUBLISHING_KEY')
* .then( this.onSdkInstanceReceived )
* .catch( (err) => console.error("HyperTrack init failed with error " + err) );
* }
* onSdkInstanceReceived(sdkInstance: HyperTrack) {
* sdkInstance.getDeviceId()
* .then((id) => console.log("Got device id " + id))
* .then(() => sdkInstance.setDeviceName("Elvis Ionic"))
* .then(() => console.log("Device name was changed"))
* .then(() => sdkInstance.setDeviceMetadata({platform: "Ionic Android"}))
* .then(() => console.log("Device metadata was changed"))
* .then(() => sdkInstance.setTrackingNotificationProperties("Tracking On", "Ionic SDK is tracking"))
* .then(() => console.log("Notification properties were changed"))
* .catch((err) => console.error("Got error in HyperTrack " + err));
* }
*
* ```
*
*/
export class HyperTrack {
/** Enables debug log in native HyperTrack SDK. */
static enableDebugLogging(): void {
new HyperTrackPlugin().enableDebugLogging();
}
/**
* Entry point into SDK.
*
* Initializes SDK. Also resolves SDK instance that could be used to query deviceId or set
* various data.
* @param publishableKey account-specific secret from the HyperTrack dashborad.
*
* @see {@link https://dashboard.hypertrack.com/setup}.
*/
static initialize(publishableKey: string): Promise<HyperTrack> {
return new Promise((resolve, reject) => {
new HyperTrackPlugin()
.initialize(publishableKey)
.then((cordovaInstance: HyperTrackCordova) => {
resolve(new HyperTrack(cordovaInstance));
})
.catch((err: Error) => reject(err));
});
}
/** Resolves device ID that could be used to identify the device. */
getDeviceId(): Promise<string> {
return new Promise((resolve, reject) => {
this.cordovaInstanceHandle.getDeviceId(
deviceId => resolve(deviceId),
err => reject(err)
);
});
}
/** Resolves to true if tracking service is running and false otherwise */
isRunning(): Promise<boolean> {
return new Promise((resolve, reject) => {
this.cordovaInstanceHandle.isRunning(
isRunning => resolve(isRunning),
err => reject(err)
);
});
}
/** Sets device name that could be used to identify the device in HyperTrack dashboard */
setDeviceName(name: string): Promise<any> {
return new Promise((resolve, reject) => {
this.cordovaInstanceHandle.setDeviceName(
name,
() => resolve(),
err => reject(err)
);
});
}
/**
* Use this to set additional properties, like segments, teams etc.
* @param metadata key-value pais of properties.
*/
setDeviceMetadata(metadata: Object): Promise<any> {
return new Promise((resolve, reject) => {
this.cordovaInstanceHandle.setDeviceMetadata(
metadata,
() => resolve(),
err => reject(err)
);
});
}
/** Updates title and text in persistent notification, that appears when tracking is active. */
setTrackingNotificationProperties(title: string, message: string): Promise<any> {
return new Promise((resolve, reject) => {
this.cordovaInstanceHandle.setTrackingNotificationProperties(
title,
message,
() => resolve(),
err => reject(err)
);
});
}
/** Adds special marker-like object to device timeline. */
addGeotag(geotagData: Object, expectedLocation?: Coordinates): Promise<any> {
return new Promise((resolve, reject) => {
this.cordovaInstanceHandle.addGeoTag(
geotagData,
expectedLocation,
() => resolve(),
err => reject(err)
);
});
}
/** Pops up permission request dialog, if permissions weren't granted before or does nothing otherwise. */
requestPermissionsIfNecessary(): Promise<any> {
return new Promise((resolve, reject) => {
this.cordovaInstanceHandle.requestPermissionsIfNecessary(
() => resolve(),
err => reject(err)
);
});
}
/** Allows injecting false locations into the SDK, which ignores them by default. */
allowMockLocations(): Promise<any> {
return new Promise((resolve, reject) => {
this.cordovaInstanceHandle.allowMockLocations(
() => resolve(),
err => reject(err)
);
});
}
/**
* Synchronizes tracking state with platform model. This method is used to
* harden platform2device communication channel.
*/
syncDeviceSettings(): Promise<any> {
return new Promise((resolve, reject) => {
this.cordovaInstanceHandle.syncDeviceSettings(
() => resolve(),
err => reject(err)
);
});
}
private constructor(private cordovaInstanceHandle: HyperTrackCordova) {}
}

View File

@@ -293,7 +293,7 @@ export class IBeacon extends IonicNativePlugin {
*/
@CordovaCheck({ sync: true })
Delegate(): IBeaconDelegate {
const delegate = new cordova.plugins.locationManager.Delegate();
const delegate = new window.cordova.plugins.locationManager.Delegate();
delegate.didChangeAuthorizationStatus = (pluginResult?: IBeaconPluginResult) => {
return new Observable<IBeaconPluginResult>((observer: any) => {
@@ -358,7 +358,7 @@ export class IBeacon extends IonicNativePlugin {
});
};
cordova.plugins.locationManager.setDelegate(delegate);
window.cordova.plugins.locationManager.setDelegate(delegate);
return delegate;
}
@@ -382,7 +382,13 @@ export class IBeacon extends IonicNativePlugin {
minor?: number,
notifyEntryStateOnDisplay?: boolean
): BeaconRegion {
return new cordova.plugins.locationManager.BeaconRegion(identifer, uuid, major, minor, notifyEntryStateOnDisplay);
return new window.cordova.plugins.locationManager.BeaconRegion(
identifer,
uuid,
major,
minor,
notifyEntryStateOnDisplay
);
}
/**

View File

@@ -0,0 +1,480 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
export interface Config {
/**
* Hostname or IP address of the IMAP service, for example: imap.gmail.com, imap-mail.outlook.com....
*/
host: string;
/**
* Username or email address for authentication.
*/
user: string;
/**
* Password for authentication.
*/
password: string;
}
export interface Connection {
/**
* Connection Status: true or false, "true" means connected successfully; "false" means failed to connect.
*/
status: boolean;
/**
* Optional parameter. A connection string, returned as a confirmation for successful connection.
*/
connection?: string;
/**
* Optional parameter. Error, returned if the connecting process has failed.
*/
exception?: string;
}
export interface Message {
/**
* Message consecutive number.
*/
messageNumber: number;
/**
* The name of the folder where the message is contained.
*/
folder: string;
/**
* Sender's data.
*/
from: Address[];
/**
* Optional. All recipients data.
*/
allRecipients?: Address[];
/**
* TO recipients data.
*/
toRecipients: Address[];
/**
* CC recipients data.
*/
ccRecipients: Address[];
/**
* BCC recipients data.
*/
bccRecipients: Address[];
/**
* Optional. Reply data.
*/
replyTo?: Address[];
/**
* Optional. Date when the message was sent.
*/
sentDate?: string;
/**
* The date when the message was received.
*/
receivedDate: string;
/**
* Message's subject header.
*/
subject: string;
/**
* Optional. Short description for the message.
*/
description?: string;
/**
* Optional.
*/
fileName?: string;
/**
* Optional.
*/
disposition?: string;
/**
* Message's active flags.
*/
flags: string;
/**
* Optional.
*/
lineCount?: number;
/**
* Optional. All Headers available on a message.
*/
allMessageHeaders?: object;
/**
* Optional. Type of message's content.
*/
contentType?: string;
/**
* Optional. Message's body with its content and attachments.
*/
bodyContent?: Content[];
/**
* Optional. Message's memory size.
*/
size?: number;
}
export interface Address {
/**
* Email address.
*/
address: string;
/**
* Optional. Name of the email address's owner.
*/
personal?: string;
/**
* Data type.
*/
type: string;
}
export interface Content {
/**
* Content data type.
*/
type: string;
/**
* Optional. The name of the file.
*/
fileName?: string;
/**
* Message's content.
*/
content: string;
}
export interface ModificationResult {
/**
* Status of the applied changes. "True" success; "False" failure
*/
status: boolean;
/**
* Array with consecutive numbers of modified messages.
*/
modifiedMessages: number[];
}
export enum Comparison {
/**
* The less than or equal to operator.
*/
LE = 'LE',
/**
* The less than operator.
*/
LT = 'LT',
/**
* The equality operator.
*/
EQ = 'EQ',
/**
* The not equal to operator.
*/
NE = 'NE',
/**
* The greater than operator.
*/
GT = 'GT',
/**
* The greater than or equal to operator.
*/
GE = 'GE',
}
/**
* All available message flags. Set or remove flag using "setFlag()".
*/
export enum FlagEnum {
/**
* "ANSWERED" message flag
*/
ANSWERED = 'ANSWERED',
/**
* "DRAFT" message flag
*/
DRAFT = 'DRAFT',
/**
* "FLAGGED" message flag
*/
FLAGGED = 'FLAGGED',
/**
* "RECENT" message flag
*/
RECENT = 'RECENT',
/**
* "SEEN" message flag
*/
SEEN = 'SEEN',
/**
* "USER" message flag
*/
USER = 'USER',
/**
* "DELETED" message flag. Note: Add this flag to delete the message from the mailbox
*/
DELETED = 'DELETED',
}
/**
* @name Imap
* @description
* This plugin will enable an Ionic application to use the IMAP (Internet Message Access Protocol) features.
* This plugin is in Beta version and it offers support only for Android.
* The plugin uses Java Mail API.
* Planned improvements and support for iOS.
*
* @usage
* ```typescript
* import { Imap } from '@ionic-native/imap/ngx';
*
*
* constructor(private imap: Imap) { }
*
* ...
*
*
* this.imap.connect({
* host: 'imap.gmail.com',
* user: 'my_email@gmail.com',
* password: 'my-pass'
* })
* .then((res: Connection) => console.log(res))
* .catch((error) => console.error(error));
*
*
*
* this.imap.disconnect()
* .then((res: boolean) => console.log(res))
* .catch((error: any) => console.error(error));
*
*
*
* this.imap.isConnected()
* .then((res: boolean) => console.log(res))
* .catch((error: any) => console.error(error));
*
* Note: Connected to an IMAP service is REQUIRED to be able to get data from the below functions.
*
*
* this.imap.listMailFolders()
* .then((res: boolean) => console.log(res))
* .catch((error: any) => console.error(error));
*
*
* this.imap.getMessageCountByFolderName('INBOX')
* .then((res: number) => {
* // Returns the count of the messages in the folder as a result
* console.log(res)
* })
* .catch((error: any) => {
* console.error(error)
* });
*
*
*
* this.imap.searchMessagesByDatePeriod('INBOX', 1601503200000, Comparison.GE)
* .then((res: number[]) => {
* // Returns array with messages' consecutive numbers
* // ex. [1207, 1208, 1209]
* console.log(res)
* })
* .catch((error: any) => {
* console.error(error)
* });
*
*
* this.imap.listMessagesHeadersByConsecutiveNumber('INBOX', 1200, 1280)
* .then((res: Message[]) => {
* // Returns array with messages' headers data
* console.log(res)
* })
* .catch((error: any) => {
* console.error(error)
* });
*
*
* this.imap.listMessagesHeadersByDate('INBOX', 1601503200000, Comparison.GE)
* .then((res: Message[]) => {
* // Returns array with messages' headers data
* console.log(res)
* })
* .catch((error: any) => {
* console.error(error)
* });
*
*
* this.imap.getFullMessageData('INBOX', 1205)
* .then((res: Message) => {
* // Returns "Message" object with the full message data including attachments.
* console.log(res)
* })
* .catch((error: any) => {
* console.error(error)
* });
*
*
* this.imap.copyToFolder('INBOX', 'Spam', [1204, 1205, 1206, 1207])
* .then((res: boolean) => {
* // Returns "true" if the process is successful, else returns "false".
* console.log(res)
* })
* .catch((error: any) => {
* console.error(error)
* });
*
*
* * Sets a flag on a message
* * "setFlag()" can be used for deleting messages setting the Delete flag to "FlagEnum.DELETED"
* this.imap.setFlag('INBOX', [1206, 1205, 1204], FlagEnum.SEEN, true)
* .then((res: ModificationResult) => {
*
* // res.status - return true or false based on the deletion success
*
* //res.modifiedMessages - for ex.[1206, 1205, 1204];
*
* })
* .catch((error: any) => {
* console.error(error)
* });
*
* ```
*/
@Plugin({
pluginName: 'Imap',
plugin: 'cordova-plugin-imap',
pluginRef: 'imap',
repo: 'https://github.com/aleksandar888/cordova-plugin-imap.git',
platforms: ['Android'],
})
@Injectable()
export class Imap extends IonicNativePlugin {
/**
* This function "connect(clientData: Config)" tries to connect and authenticate with the IMAP server.
* @param clientData {Config} Connection configuration
* @return {Promise<Connection>} Returns a promise with the connection data
*/
@Cordova()
connect(clientData: Config): Promise<Connection> {
return;
}
/**
* "disconnect()" Closes the connection with the server.
* @return {Promise<boolean>} Returns a promise status.
*/
@Cordova()
disconnect(): Promise<boolean> {
return;
}
/**
* "isConnected()" Checks the current state of the connection.
* @return {Promise<boolean>} Returns a promise with connection status
*/
@Cordova()
isConnected(): Promise<boolean> {
return;
}
/** Note: Connected to an IMAP service is REQUIRED to be able to get data from the below functions. */
/**
* "listMailFolders()" Lists the name of all the mail folders in the mailbox.
* @return {Promise<string[]>} Returns array with all folder names.
*/
@Cordova()
listMailFolders(): Promise<string[]> {
return;
}
/**
* "getMessageCountByFolderName(folderName: string)" Gets the count of the messages in the folder.
* @param folderName {string} The name of the desired folder.
* @return {Promise<number>} Returns the consecutive number of the last message.
*/
@Cordova()
getMessageCountByFolderName(folderName: string): Promise<number> {
return;
}
/**
* "searchMessagesByDatePeriod(folderName: string, dateInMilliseconds: number, comparison: Comparison)" Returns the messages' consecutive number.
* @param folderName {string} The name of the desired folder
* @param dateInMilliseconds {number} Date in milliseconds
* @param comparison {Comparison} A comparison operator
* @return {Promise<number[]>} Returns array with the messages' consecutive numbers.
*/
@Cordova()
searchMessagesByDatePeriod(
folderName: string,
dateInMilliseconds: number,
comparison: Comparison
): Promise<number[]> {
return;
}
/**
* "listMessagesHeadersByConsecutiveNumber(folderName: string, start: number, end: number)" Returns messages' headers data based on a "start" and "end" message consecutive number.
* @param folderName {string} The name of the desired folder
* @param start {number} Consecutive number of the first message.
* @param end {number} Consecutive number of the last message
* @return {Promise<Message[]>} Returns array with the messages' headers data.
*/
@Cordova()
listMessagesHeadersByConsecutiveNumber(folderName: string, start: number, end: number): Promise<Message[]> {
return;
}
/**
* "listMessagesHeadersByDate(folderName: string, dateInMilliseconds: number, comparison: Comparison)" Returns messages' headers data based on a date.
* @param folderName {string} The name of the desired folder
* @param dateInMilliseconds {number} Date in milliseconds.
* @param comparison {Comparison} A comparison operator
* @return {Promise<Message[]>} Returns array messages' headers data.
*/
@Cordova()
listMessagesHeadersByDate(
folderName: string,
dateInMilliseconds: number,
comparison: Comparison
): Promise<Message[]> {
return;
}
/**
* "getFullMessageData(folderName: string, messageNumber: number)" Returns the full message's data including its attachments.
* @param folderName {string} The name the message's folder
* @param messageNumber {number} Message's consecutive number.
* @return {Promise<Message>} Returns "Message" object with full message data.
*/
@Cordova()
getFullMessageData(folderName: string, messageNumber: number): Promise<Message> {
return;
}
/**
* "copyToFolder(sourceFolder: string, destinationFolder: string, messageNums: number[])" Copy messages to a desired folder.
* @param sourceFolder {string} The name of the source folder.
* @param destinationFolder {string} The name of the destination folder.
* @param messageNums {number[]} Array with messages' consecutive numbers or array with single message consecutive number.
* @return {Promise<Message>} Returns boolean status of the process.
*/
@Cordova()
copyToFolder(sourceFolder: string, destinationFolder: string, messageNums: number[]): Promise<boolean> {
return;
}
/**
* "setFlag(folderName: string, messageNums: number[], flag: FlagEnum, status: boolean)" Set or remove flag from a message
* @param folderName {string} The name of the source folder where the messages are contained.
* @param messageNums {number[]} Array with messages' consecutive numbers or array with single message consecutive number
* @param flag {FlagEnum} Desired message flag.
* @param status {boolean} Set status to "true" to set the flag on a message; or to "false" to remove the flag from the message
* @return {Promise<ModificationResult>} Returns object with status and array with messages' consecutive numbers of the modified messages
*/
@Cordova()
setFlag(folderName: string, messageNums: number[], flag: FlagEnum, status: boolean): Promise<ModificationResult> {
return;
}
}

View File

@@ -252,6 +252,7 @@ export class InAppBrowserObject {
/**
* @name In App Browser
* @premier inappbrowser
* @description Launches in app Browser
* @usage
* ```typescript
@@ -269,7 +270,7 @@ export class InAppBrowserObject {
*
* browser.insertCSS(...);
* browser.on('loadstop').subscribe(event => {
* browser.insertCSS({ code: "body{color: red;}" });
* browser.insertCSS({ code: "body{color: red;" });
* });
*
* browser.close();

View File

@@ -7,6 +7,13 @@ export interface IAPProductOptions {
type: string;
}
export interface IRefeshResult {
cancelled(fn: () => void): void;
failed(fn: () => void): void;
completed(fn: () => void): void;
finished(fn: () => void): void;
}
export type IAPProducts = IAPProduct[] & {
/**
* Get product by ID
@@ -55,9 +62,9 @@ export interface IAPProduct {
downloaded?: boolean;
lastRenewalDate?: string;
lastRenewalDate?: Date;
expiryDate?: string;
expiryDate?: Date;
introPrice?: string;
@@ -81,7 +88,7 @@ export interface IAPProduct {
additionalData?: any;
transaction?: any;
transaction?: PlayStoreReceipt | AppStoreReceipt;
/**
* Call `product.finish()` to confirm to the store that an approved order has been delivered.
@@ -190,6 +197,22 @@ export interface IAPProductEvents {
downloaded: (callback: IAPQueryCallback) => IAPProductEvents;
}
export type PlayStoreReceipt = {
id: string;
purchaseState: number;
purchaseToken: string;
receipt: string;
signature: string;
type: 'android-playstore';
};
export type AppStoreReceipt = {
id: string;
appStoreReceipt: string;
original_transaction_id: string;
type: 'ios-appstore';
};
/**
* @hidden
*/
@@ -541,11 +564,11 @@ export class IAPError {
*/
@Plugin({
pluginName: 'InAppPurchase2',
plugin: 'cc.fovea.cordova.purchase',
plugin: 'cordova-plugin-purchase',
pluginRef: 'store',
repo: 'https://github.com/j3k0/cordova-plugin-purchase',
platforms: ['iOS', 'Android', 'Windows'],
install: 'ionic cordova plugin add cc.fovea.cordova.purchase --variable BILLING_KEY="<ANDROID_BILLING_KEY>"',
install: 'ionic cordova plugin add cordova-plugin-purchase --variable BILLING_KEY="<ANDROID_BILLING_KEY>"',
})
@Injectable()
export class InAppPurchase2 extends IonicNativePlugin {
@@ -865,7 +888,9 @@ export class InAppPurchase2 extends IonicNativePlugin {
* and in the callback `product.finish()` should be called.
*/
@Cordova({ sync: true })
refresh(): void {}
refresh(): IRefeshResult {
return;
}
/** Lightweight method like refresh but do not relogin user */
@Cordova({ sync: true })
@@ -874,4 +899,8 @@ export class InAppPurchase2 extends IonicNativePlugin {
/** Opens the Manage Subscription page (AppStore, Play, Microsoft, ...). */
@Cordova({ sync: true })
manageSubscriptions(): void {}
/** Opens the Code Redemption Sheet on iOS. (AppStore). */
@Cordova({ sync: true })
redeem(): void {}
}

View File

@@ -214,4 +214,34 @@ export class Intercom extends IonicNativePlugin {
sendPushTokenToIntercom(token: string): Promise<any> {
return;
}
/**
*
* @param carouselId {string}
* @return {Promise<any>} Returns a promise
*/
@Cordova()
displayCarousel(carouselId: string): Promise<any> {
return;
}
/**
*
* @param articleId {string}
* @return {Promise<any>} Returns a promise
*/
@Cordova()
displayArticle(articleId: string): Promise<any> {
return;
}
/**
*
* @param bottomPadding {string | number}
* @return {Promise<any>} Returns a promise
*/
@Cordova()
setBottomPadding(bottomPadding: string | number): Promise<any> {
return;
}
}

View File

@@ -3,6 +3,7 @@ import { CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core';
/**
* @name Ionic Webview
* @capacitorincompatible true
* @description
* Access Web View utilities.
*

View File

@@ -0,0 +1,45 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
/**
* @name ios-aswebauthenticationsession-api
* @description
* Plugin for iOS 12 ASWebAuthenticationSession API
*
* @usage
* ```typescript
* import { IosASWebauthenticationSession } from '@ionic-native/ios-aswebauthenticationsession-api/ngx';
*
*
* constructor(private IosASWebauthenticationSession: ios-aswebauthenticationsession-api) { }
*
* ...
*
*
* this.IosASWebauthenticationSession.start(callbackUrl, authorizeURL)
* .then((redirectUrl: string) => console.log(redirectUrl))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'IosASWebauthenticationSession',
plugin: 'cordova-plugin-ios-aswebauthenticationsession-api',
pluginRef: 'plugins.ASWebAuthSession',
repo: 'https://github.com/jwelker110/cordova-plugin-ios-aswebauthenticationsession-api',
platforms: ['iOS'],
})
@Injectable()
export class IosASWebauthenticationSession extends IonicNativePlugin {
/**
* This function start an authentication flow in ASWebauthenticationSession
* @param callbackUrl {string} Callback URL of your App
* @param authorizeURL {number} Authorization URL
* @return {Promise<string>} Returns a promise that resolves a string containing the redirect URL after finishing ASWebauthenticationSession
*/
@Cordova()
start(callbackUrl: string, authorizeURL: string): Promise<string> {
return;
}
}

View File

@@ -34,7 +34,7 @@ declare const cordova: any;
pluginName: 'JINS MEME',
plugin: 'cordova-plugin-jins-meme',
pluginRef: 'JinsMemePlugin',
repo: 'https://github.com/jins-meme/JinsMemeSDK-Plugin-Cordova',
repo: 'https://github.com/BlyncSync/cordova-plugin-jins-meme',
platforms: ['Android', 'iOS'],
})
@Injectable()

View File

@@ -407,13 +407,11 @@ export class BAMCardInformation {
/**
* @name Jumio
* @description
* [Jumio mobile-cordova](https://github.com/Jumio/mobile-cordova) Plugin for Ionic
* @description Check out [example with Angular 9.1 & Capacitor 2.1](https://github.com/zendigital/jumio-ionic-demo)
*
* Read this for [Platform Customization](https://github.com/Jumio/mobile-cordova#customization) is possible
*
* To get Jumio Cordova working on Android check out this [FAQ](https://github.com/Jumio/mobile-cordova#faq)
* [Platform Customization](https://github.com/Jumio/mobile-cordova#customization) is possible
*
* Original source: [Jumio mobile-cordova](https://github.com/Jumio/mobile-cordova) Plugin for Apache Cordova
* @usage
* ```typescript
* import {
@@ -445,10 +443,9 @@ export class BAMCardInformation {
*/
@Plugin({
pluginName: 'Jumio',
plugin: 'cordova-plugin-jumio-mobilesdk',
plugin: 'jumio-cordova',
pluginRef: 'Jumio',
repo: 'https://github.com/Jumio/mobile-cordova',
install: 'npm install git://github.com/Jumio/mobile-cordova.git',
repo: 'https://github.com/danielzen/jumio-cordova',
platforms: ['Android', 'iOS'],
})
@Injectable()

View File

@@ -16,6 +16,8 @@ export enum KeyboardResizeMode {
/**
* @name Keyboard
* @premier keyboard
* @capacitorincompatible true
* @description
* Keyboard plugin for Cordova.
*

View File

@@ -1,6 +1,8 @@
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
export type BiometryType = 'face' | 'touch';
/**
* @name Keychain Touch Id
* @description
@@ -37,7 +39,7 @@ export class KeychainTouchId extends IonicNativePlugin {
* @return {Promise<any>} Returns a promise that resolves when there is hardware support
*/
@Cordova()
isAvailable(): Promise<any> {
isAvailable(): Promise<BiometryType> {
return;
}
@@ -46,10 +48,10 @@ export class KeychainTouchId extends IonicNativePlugin {
* successful authentication using fingerprint
* @param key {string} the key you want to store
* @param password {string} the password you want to encrypt and store
* @return {Promise<any>} Returns a promise that resolves when there is a result
* @return {Promise<void>} Returns a promise that resolves when there is a result
*/
@Cordova()
save(key: string, password: string, userAuthenticationRequired: boolean): Promise<any> {
save(key: string, password: string, userAuthenticationRequired: boolean): Promise<void> {
return;
}
@@ -58,30 +60,30 @@ export class KeychainTouchId extends IonicNativePlugin {
* with the password stored in keychain or will resolve an error code, where -1 indicated not available.
* @param key {string} the key you want to retrieve from keychain
* @param message {string} a message to the user
* @return {Promise<any>} Returns a promise that resolves when the key value is successfully retrieved or an error
* @return {Promise<string>} Returns a promise that resolves when the key value is successfully retrieved or an error
*/
@Cordova()
verify(key: string, message: string): Promise<any> {
verify(key: string, message: string): Promise<string> {
return;
}
/**
* Checks if there is a password stored within the keychain for the given key.
* @param key {string} the key you want to check from keychain
* @return {Promise<any>} Returns a promise that resolves with success if the key is available or failure if key is not.
* @return {Promise<void>} Returns a promise that resolves with success if the key is available or failure if key is not.
*/
@Cordova()
has(key: string): Promise<any> {
has(key: string): Promise<void> {
return;
}
/**
* Deletes the password stored under given key from the keychain.
* @param key {string} the key you want to delete from keychain
* @return {Promise<any>} Returns a promise that resolves with success if the key is deleted or failure if key is not
* @return {Promise<void>} Returns a promise that resolves with success if the key is deleted or failure if key is not
*/
@Cordova()
delete(key: string): Promise<any> {
delete(key: string): Promise<void> {
return;
}

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core';
export interface PromptsOptions {
/**
@@ -168,10 +168,15 @@ export interface LaunchNavigatorOptions {
launchModeAppleMaps?: string;
/**
* If true, and input location type(s) doesn't match those required by the app, use geocoding to obtain the address/coords as required. Defaults to true.
* (Windows only) If false, the plugin will NOT attempt to use the geolocation plugin to determine the current device position when the start location parameter is omitted. Defaults to true.
*/
enableGeolocation?: boolean;
/**
* (Android and iOS only) If true, and input location type(s) doesn't match those required by the app, use geocoding to obtain the address/coords as required. Defaults to true.
*/
enableGeocoding?: boolean;
/**
* options related to the default native actionsheet picker which enables user to select which navigation app to launch if `app` is not specified.
*/
@@ -297,6 +302,8 @@ export class LaunchNavigator extends IonicNativePlugin {
BICYCLING: 'bicycling',
TRANSIT: 'transit',
};
@CordovaProperty()
appSelection: AppSelection;
/**

View File

@@ -1,5 +1,6 @@
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
import { Observable } from 'rxjs';
/**
* @name Launch Review
@@ -55,10 +56,10 @@ export class LaunchReview extends IonicNativePlugin {
* - First: after `LaunchReview.rating()` is called and the request to show the dialog is successful. Will be passed the value `requested`.
* - Second: if and when the Rating dialog is actually displayed. Will be passed the value `shown`.
* - Third: if and when the Rating dialog is dismissed. Will be passed the value `dismissed`.
* @returns {Promise<string>}
* @returns {Observable<string>}
*/
@Cordova({ platforms: ['iOS'] })
rating(): Promise<string> {
@Cordova({ observable: true })
rating(): Observable<string> {
return;
}

View File

@@ -0,0 +1,54 @@
import { Injectable } from '@angular/core';
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
/**
* @name LocalBackup
* @description
* This plugin to create local backup
*
* @usage
* ```typescript
* import { LocalBackup } from '@ionic-native/local-backup/ngx';
*
*
* constructor(private localBackup: LocalBackup) { }
*
* ...
*
*
* this.localBackup.create({data: {key: 'value'}})
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'LocalBackup',
plugin: 'cordova-plugin-local-backup',
pluginRef: 'LocalBackup',
repo: 'https://github.com/MaximBelov/cordova-plugin-local-backup',
install: 'ionic cordova plugin add cordova-plugin-local-backup',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class LocalBackup extends IonicNativePlugin {
@Cordova()
create(data: any): Promise<boolean> {
return;
}
@Cordova()
read(): Promise<any> {
return;
}
@Cordova()
exists(): Promise<boolean> {
return;
}
@Cordova()
remove(): Promise<boolean> {
return;
}
}

View File

@@ -2,11 +2,11 @@ import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
export interface LuxandConfig {
/** The licence key got from Luxand */
/** The licence key gotten from Luxand */
licence: string;
/** The internal database name the tracker should use */
dbname: string;
/** the number of retry when registering of identifying a face */
/** the number of retries when registering or identifying a face */
loginTryCount: number;
}
@@ -17,7 +17,7 @@ export interface OMLFacialData {
message: string;
/** The unique name generated and associated to a face when registering */
name: string;
/** The unique id Luxand Face SDK tracker associate to a face in it's internal database */
/** The unique id Luxand Face SDK tracker associates to a face in it's internal database */
id: number;
/** Extra information about the face including age, expressions */
extra: {
@@ -31,7 +31,7 @@ export interface OMLFacialData {
/**
* @name Luxand
* @description
* This plugin let you integrat Luxand Face SDK into your ionic projects, so you can implements face authentication easily in your applications.
* This plugin let you integrate Luxand Face SDK into your ionic projects, so you can implement face authentication easily in your application.
*
* @usage
* ```typescript

View File

@@ -114,6 +114,7 @@ export interface ConfigurationData {
/**
* @name Media Capture
* @premier media-capture
* @description
* This plugin provides access to the device's audio, image, and video capture capabilities.
*

View File

@@ -179,6 +179,7 @@ export type MediaErrorCallback = (error: MediaError) => void;
/**
* @name Media
* @premier media
* @description
* This plugin provides the ability to record and play back audio files on a device.
*

View File

@@ -11,6 +11,8 @@ export class MetrixConfig {
private defaultTrackerToken: string = null;
private shouldLaunchDeeplink = false;
private firebaseAppId: string = null;
private firebaseProjectId: string = null;
private firebaseApiKey: string = null;
private isLocationListeningEnable = false;
private eventUploadThreshold: number = null;
private eventUploadMaxBatchSize: number = null;
@@ -32,8 +34,10 @@ export class MetrixConfig {
this.defaultTrackerToken = defaultTrackerToken;
}
setFirebaseAppId(firebaseAppId: string) {
setFirebaseId(firebaseAppId: string, firebaseProjectId: string, firebaseApiKey: string) {
this.firebaseAppId = firebaseAppId;
this.firebaseProjectId = firebaseProjectId;
this.firebaseApiKey = firebaseApiKey;
}
setAppSecret(secretId: number, info1: number, info2: number, info3: number, info4: number) {

View File

@@ -188,6 +188,7 @@ export class MixpanelPeople extends IonicNativePlugin {
*
* @param distinctId {string}
* @return {Promise<any>}
* @deprecated since 2016-11-21 - Use Mixpanel.identify instead.
*/
@Cordova()
identify(distinctId: string): Promise<any> {

View File

@@ -14,7 +14,8 @@ export type Event =
| 'installationUpdated'
| 'userUpdated'
| 'personalized'
| 'depersonalized';
| 'depersonalized'
| 'deeplink';
export interface CustomEvent {
definitionId: string;
@@ -27,6 +28,7 @@ export interface Configuration {
*/
applicationCode: string;
geofencingEnabled?: boolean;
inAppChatEnabled?: boolean;
/**
* Message storage save callback
*/
@@ -74,11 +76,11 @@ export interface UserData {
lastName?: string;
middleName?: string;
gender?: Gender;
birthday?: Date;
birthday?: string;
phones?: string[];
emails?: string[];
tags?: string[];
customAttributes?: Record<string, string | number | boolean>;
customAttributes?: Record<string, string | number | boolean | any[]>;
}
export interface Installation {
@@ -108,7 +110,7 @@ export interface UserIdentity {
export interface PersonalizeContext {
userIdentity: UserIdentity;
userAttributes?: Record<string, string>;
userAttributes?: Record<string, string | number | boolean | any[]>;
forceDepersonalize?: boolean;
}
@@ -129,6 +131,11 @@ export interface Message {
vibrate?: boolean; // Android only
icon?: string; // Android only
category?: string; // Android only
chat?: string;
browserUrl?: string;
deeplink?: string;
webViewUrl?: string;
inAppDismissTitle?: string;
}
export interface MobileMessagingError {
@@ -136,6 +143,12 @@ export interface MobileMessagingError {
message: string;
}
export interface ChatConfig {
ios?: {
showModally: boolean;
};
}
export class DefaultMessageStorage {
@Cordova({ sync: true })
find(messageId: string, callback: (message: Message) => void) {
@@ -437,4 +450,15 @@ export class MobileMessaging extends IonicNativePlugin {
defaultMessageStorage(): DefaultMessageStorage | undefined {
return;
}
/**
* Displays chat view.
*
* @name showChat
* @param {ChatConfig} chat config
*/
@Cordova()
showChat(config?: ChatConfig): Promise<any> {
return;
}
}

View File

@@ -0,0 +1,47 @@
/**
* This is a wrapper for MultipleDocumentsPicker plugin
*
*/
import { Injectable } from '@angular/core';
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
/**
* @name Multiple Documents Picker
* @description
* This plugin allows users to pick multiple documents/images at once
*
* @usage
* ```typescript
* import { MultipleDocumentsPicker } from '@ionic-native/multiple-document-picker/ngx';
*
*
* constructor(private multipleDocumentsPicker: MultipleDocumentsPicker) { }
*
* ...
*
*
* this.multipleDocumentsPicker.pick(1)
* .then((res: any) => console.log(res))
* .catch((error: any) => console.error(error));
*
* ```
*/
@Plugin({
pluginName: 'MultipleDocumentsPicker',
plugin: 'cordova-plugin-multiple-documents-picker',
pluginRef: 'multipleDocumentsPicker',
repo: 'https://github.com/akeotech/cordova-plugin-multiple-documents-picker',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class MultipleDocumentsPicker extends IonicNativePlugin {
/**
* This function allow user to show native file picker
* @param type {number} To pick type of files: for images send 1, for all files send 2
* @return {Promise<any>} Returns a promise that resolves when something happens
*/
@Cordova()
pick(type: number): Promise<any> {
return; // We add return; here to avoid any IDE / Compiler errors
}
}

View File

@@ -30,6 +30,7 @@ export interface MusicControlsOptions {
/**
* @name Music Controls
* @capacitorincompatible true
* @description
* Music controls for Cordova applications.
* Display a 'media' notification with play/pause, previous, next buttons, allowing the user to control the play.
@@ -147,9 +148,9 @@ export interface MusicControlsOptions {
*/
@Plugin({
pluginName: 'MusicControls',
plugin: 'cordova-plugin-music-controls',
plugin: 'cordova-plugin-music-controls2',
pluginRef: 'MusicControls',
repo: 'https://github.com/homerours/cordova-music-controls-plugin',
repo: 'https://github.com/ghenry22/cordova-plugin-music-controls2',
platforms: ['Android', 'iOS', 'Windows'],
})
@Injectable()

View File

@@ -3,6 +3,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
/**
* @name Native Storage
* @premier nativestorage
* @description Native storage of variables in Android and iOS
*
* @usage

View File

@@ -1,22 +1,24 @@
import { Injectable } from '@angular/core';
import { Cordova, CordovaCheck, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core';
import { Observable, merge } from 'rxjs';
import { mapTo } from 'rxjs/operators';
declare const navigator: any;
export enum Connection {
UNKNOWN = 0,
ETHERNET,
WIFI,
CELL_2G,
CELL_3G,
CELL_4G,
CELL,
NONE,
UNKNOWN = 'unknown',
ETHERNET = 'ethernet',
WIFI = 'wifi',
CELL_2G = '2g',
CELL_3G = '3g',
CELL_4G = '4g',
CELL = 'cellular',
NONE = 'none',
}
/**
* @name Network
* @premier network-information
* @description
* Requires Cordova plugin: cordova-plugin-network-information. For more info, please see the [Network plugin docs](https://github.com/apache/cordova-plugin-network-information).
*
@@ -94,11 +96,14 @@ export class Network extends IonicNativePlugin {
/**
* Returns an observable to watch connection changes
* @return {Observable<any>}
* @return {Observable<'connected' | 'disconnected'>}
*/
@CordovaCheck()
onChange(): Observable<any> {
return merge(this.onConnect(), this.onDisconnect());
onChange(): Observable<'connected' | 'disconnected'> {
return merge(
this.onConnect().pipe(mapTo('connected')),
this.onDisconnect().pipe(mapTo('disconnected')) as Observable<'disconnected'>
);
}
/**

View File

@@ -38,6 +38,14 @@ export interface NfcTag {
type?: string;
}
export interface ScanOptions {
/**
* If true, keep the scan session open so write can be called
* after reading. The default value is false.
*/
keepSessionOpen?: boolean;
}
/**
* @name NFC
* @description
@@ -85,7 +93,7 @@ export interface NfcTag {
plugin: 'phonegap-nfc',
pluginRef: 'nfc',
repo: 'https://github.com/chariotsolutions/phonegap-nfc',
platforms: ['Android', 'BlackBerry 10', 'Windows', 'Windows Phone 8', 'iOS'],
platforms: ['Android', 'iOS', 'Windows'],
})
/**
* @{ NFC } class methods
@@ -130,7 +138,7 @@ export class NFC extends IonicNativePlugin {
* https://github.com/chariotsolutions/phonegap-nfc#nfcscanndef
*/
@Cordova({ sync: true })
scanNdef(): Promise<NfcTag> {
scanNdef(options?: ScanOptions): Promise<NfcTag> {
return;
}
@@ -141,7 +149,7 @@ export class NFC extends IonicNativePlugin {
* https://github.com/chariotsolutions/phonegap-nfc#nfcscantag
*/
@Cordova({ sync: true })
scanTag(): Promise<NfcTag> {
scanTag(options?: ScanOptions): Promise<NfcTag> {
return;
}

View File

@@ -119,7 +119,9 @@ export interface OCRResult {
* @name OCR
* @description
* This plugin attempts to identify and extract text from an image.
*
* Please note: This plugin depends on the GoogleMobileVision pod which is referencing UIWebview, that has been deprecated by Apple.
* Don't use this plugin in an app intended for App Store as you will get a review rejection from Apple: `Deprecated API Usage — Apple will stop accepting submissions of apps that use UIWebView APIs`
* For more info, please see the following Github issue [Google Mobile Vision relying on deprecated UIWebview](https://github.com/NeutrinosPlatform/cordova-plugin-mobile-ocr/issues/27).
* @usage
* ```typescript
* import { OCR, OCRSourceType } from '@ionic-native/ocr/ngx';

Some files were not shown because too many files have changed in this diff Show More