* feat(diagnostics): add missing constants and methods for latest plugin version (#4600)
* feat(cordova-plugin-firebase-model): Add new plugin to download and process ML model hosted in firebase. (#4608)
* feat(unvired-cordova-sdk): Add new function to regenrate the JWT Token
* feat(unvired-cordova-sdk): Add couple of properties to login parameters.
* feat(cordova-plugin-firebase-model): Add new plugin for downloading and processing ML model hosted in Firebase.
* fix(cordova-plugin-unvired-sdk): revert last set of changes.
* fix(cordova-plugin-unvired-sdk): Add two new login properties.
* fix(cordova-plugin-firebase-model): Delete the previously added plugin.
* Revert "fix(cordova-plugin-firebase-model): Delete the previously added plugin."
This reverts commit 86f39dc7e8.
* Revert "fix(cordova-plugin-unvired-sdk): Add two new login properties."
This reverts commit a79f31e12e.
* feat(clevertap): support clevertap-cordova 2.7.0 (#4617) [skip ci]
* feat(clevertap): add CleverTap plugin
* style(clevertap): cleanup stray lint error
* refactor
* feat(clevertap): update for latest CleverTap Cordova plugin
* chore: Update Repo from Ionic Native Repo
* fix: Code Changes for parity SDK-155
* fix: Indentation fixes for SDK-155
* fix: Code Repo fix while updating fork branch
* fix: Remove unnecessary adder .scripts Folder
* fix: Remove unwanted added folder .circleci
* fix: Remove unwanted added File .npmrc
* fix: Revert .Github Folder Changes to as per Ionic-Native master
* fix: Update changes as per ionic-native master
* fix: Code Repo fix while updating fork branch
fix: Remove unnecessary adder .scripts Folder
fix: Remove unwanted added folder .circleci
fix: Remove unwanted added File .npmrc
fix: Revert .Github Folder Changes to as per Ionic-Native master
fix: Update changes as per ionic-native master
* fix(CleverTap): Fix for missing methods issue #3491
* refactor(profile): remove setProfile methods for fb and google
* refactor(dynamic variables): remove Product A/B Testing (Dynamic Variables) code
* fix(product config): add key param to product config getters
* feat(identity): add a new public method getCleverTapID and deprecate existing CleverTapID methods
* feat(profile): add public methods to increment/decrement values set via User properties
* feat(profile): add public methods to increment/decrement values set via User properties
* feat(inapp): add public methods for suspending/discarding & resuming InApp Notifications
* feat(inbox): add new api for iOS to delete bulk inbox messages for given message ids
* refactor(xiaomi-push): add region as an extra mandatory parameter to setPushXiaomiToken
* Update index.ts to support cordova 2.7.0
* Update index.ts
---------
Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>
* feat(save-dialog): add plugin (#4618)
* smtp-client
* fix plugin ref
* cloud settings
* + save-dialog
---------
Co-authored-by: Daniel Sogl <daniel@sogls.de>
* Change installation example to use plugin author's package ID
(rather than a random fork)
---------
Co-authored-by: Dave Alden <dpa99c@gmail.com>
Co-authored-by: Srinidhi <srinidhi.rao@unvired.com>
Co-authored-by: AishwaryaNanna <97506871+AishwaryaNanna@users.noreply.github.com>
Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>
Co-authored-by: marysuon <marysuon@gmail.com>
* feat(diagnostics): add missing constants and methods for latest plugin version (#4600)
* feat(cordova-plugin-firebase-model): Add new plugin to download and process ML model hosted in firebase. (#4608)
* feat(unvired-cordova-sdk): Add new function to regenrate the JWT Token
* feat(unvired-cordova-sdk): Add couple of properties to login parameters.
* feat(cordova-plugin-firebase-model): Add new plugin for downloading and processing ML model hosted in Firebase.
* fix(cordova-plugin-unvired-sdk): revert last set of changes.
* fix(cordova-plugin-unvired-sdk): Add two new login properties.
* fix(cordova-plugin-firebase-model): Delete the previously added plugin.
* Revert "fix(cordova-plugin-firebase-model): Delete the previously added plugin."
This reverts commit 86f39dc7e8.
* Revert "fix(cordova-plugin-unvired-sdk): Add two new login properties."
This reverts commit a79f31e12e.
* feat(clevertap): support clevertap-cordova 2.7.0 (#4617) [skip ci]
* feat(clevertap): add CleverTap plugin
* style(clevertap): cleanup stray lint error
* refactor
* feat(clevertap): update for latest CleverTap Cordova plugin
* chore: Update Repo from Ionic Native Repo
* fix: Code Changes for parity SDK-155
* fix: Indentation fixes for SDK-155
* fix: Code Repo fix while updating fork branch
* fix: Remove unnecessary adder .scripts Folder
* fix: Remove unwanted added folder .circleci
* fix: Remove unwanted added File .npmrc
* fix: Revert .Github Folder Changes to as per Ionic-Native master
* fix: Update changes as per ionic-native master
* fix: Code Repo fix while updating fork branch
fix: Remove unnecessary adder .scripts Folder
fix: Remove unwanted added folder .circleci
fix: Remove unwanted added File .npmrc
fix: Revert .Github Folder Changes to as per Ionic-Native master
fix: Update changes as per ionic-native master
* fix(CleverTap): Fix for missing methods issue #3491
* refactor(profile): remove setProfile methods for fb and google
* refactor(dynamic variables): remove Product A/B Testing (Dynamic Variables) code
* fix(product config): add key param to product config getters
* feat(identity): add a new public method getCleverTapID and deprecate existing CleverTapID methods
* feat(profile): add public methods to increment/decrement values set via User properties
* feat(profile): add public methods to increment/decrement values set via User properties
* feat(inapp): add public methods for suspending/discarding & resuming InApp Notifications
* feat(inbox): add new api for iOS to delete bulk inbox messages for given message ids
* refactor(xiaomi-push): add region as an extra mandatory parameter to setPushXiaomiToken
* Update index.ts to support cordova 2.7.0
* Update index.ts
---------
Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Daniel Sogl <mytechde@outlook.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>
* feat(save-dialog): add plugin (#4618)
* smtp-client
* fix plugin ref
* cloud settings
* + save-dialog
---------
Co-authored-by: Daniel Sogl <daniel@sogls.de>
* Update to cordova 5 (#98)
---------
Co-authored-by: Dave Alden <dpa99c@gmail.com>
Co-authored-by: Srinidhi <srinidhi.rao@unvired.com>
Co-authored-by: AishwaryaNanna <97506871+AishwaryaNanna@users.noreply.github.com>
Co-authored-by: Peter Wilkniss <peter@clevertap.com>
Co-authored-by: Darshan Pania <darshan@clevertap.com>
Co-authored-by: Surya <suryanarayan@clevertap.com>
Co-authored-by: SuryaClevertap <63039490+SuryaClevertap@users.noreply.github.com>
Co-authored-by: Piyush Kukadiya <piyush.kukadiya@clevertap.com>
Co-authored-by: piyush-kukadiya <61137760+piyush-kukadiya@users.noreply.github.com>
Co-authored-by: marysuon <marysuon@gmail.com>
Co-authored-by: Cesar de la Vega <cesarvegaro@gmail.com>
Changes:
- added confirmationRequired param to show method to options
- moved plugin errors to a separate enum
- changes some plugin method return values
* chore(deps): bump angular and typescript
- required to enable ivy output & partial compilation mode
* chore(build): enable ivy output & partial compilation mode
- change ngx builds to use ivy
- remove some code that is no longer required with ivy
* add set zoom for Dynamsoft Barcode Scanner
* update Dynamsoft Barcode Scanner to add setFocus
* feat: add rotate scan option and rotation frame result to Dynamsoft Barcode Scanner
* add comments and rename the rotation result for Dynamsoft Barcode Scanner
Added new POST_NOTIFICATIONS, READ_MEDIA_AUDIO, READ_MEDIA_IMAGES, and READ_MEDIA_VIDEO permissions. Adding missing Bluetooth permissions for advertise, connect, and scan.
The Bluetooth permissions are already present in the underlying Cordova plugin. The Android 13 permissions have been submitted to the underlying Cordova plugin as a pull request so may not be present there yet, but match the pull request and the actual underlying permission names found in Android 13.
`useTouchID` is not an optional parameter. When it is not explicitly set, the whole app crashes with this error:
> Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull boolValue]: unrecognized selector sent to instance 0x111f02f08'
This bug is known since November 2018 and likely won't be fixed: https://github.com/ionic-team/cordova-plugin-ios-keychain/issues/34
* feat(urbanairship): Add attributes editing and fix tag editing
* feat(urbanairship): Update for urbanairship 14.0
Co-authored-by: Christian von Rohr <christian.vonrohr@well.ch>
"this.emailComposer.hasClient()" and "this.emailComposer.isAvailable()" method usage is wrong on the official documentation. Please check.
.hasClient and .isAvailable both requires an app name string as the parameter, and they return promises.
The original code of putting the parameter "app" into the "then()" chainable is not correct, as the "then()" only accepts callback functions as parameters.
Tested and proved in visual studio code.
* add chooser actual fork plugin
* * removes base64 functionality as we can use ionic native file plugin to get file directly
* use getFiles
Co-authored-by: Pronin Andrey <a@innoline.pro>
* 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
* feat(unvired-cordova-sdk): Add a new login parameter to send jwt options.
* feat(unvired-cordova-sdk): add new function to cache website data
* feat(unvired-cordova-sdk): new function to export the database for browser platform
* fix(unvired-cordova-sdk): fix method names
* feat(unvired-cordova-sdk): add new function 'setClientCredentials'
* doc(unvired-cordova-sdk): Update doc
* fix(unvired-cordova-sdk): Create a new Credential object and pass that as an input to the setClientCredentials() function.
* fix(unvired-cordova-sdk): Fix the typo in the function parameter.
* fix(unvired-cordova-sdk): Changed the type of port to string.
* feat(unvired-cordova-sdk): add methods to encrypt and decrypt the string.
* Delete package-lock.json
removed the package-locj.json from the PR
* Update package-lock.json
fix(unvired-cordova-sdk): Update package-lock.json corresponding to version 5.35.0
* doc(unvired-cordova-sdk) Updated document for the new function
Co-authored-by: Srinidhi Anand Rao <srinidhi.rao@unvired.io>
* add new methods
* feat(preview-any-file): new methods to preview or open files from url, path, assets or base64
* REVERT CHANGES
* feat(preview-any-file): new methods to preview or open files from url, path, assets or base64
* 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
* feat(unvired-cordova-sdk): Add a new login parameter to send jwt options.
* feat(unvired-cordova-sdk): add new function to cache website data
* feat(unvired-cordova-sdk): new function to export the database for browser platform
* fix(unvired-cordova-sdk): fix method names
* feat(unvired-cordova-sdk): add new function 'setClientCredentials'
* doc(unvired-cordova-sdk): Update doc
* fix(unvired-cordova-sdk): Create a new Credential object and pass that as an input to the setClientCredentials() function.
* fix(unvired-cordova-sdk): Fix the typo in the function parameter.
* fix(unvired-cordova-sdk): Changed the type of port to string.
* feat(unvired-cordova-sdk): add methods to encrypt and decrypt the string.
* Delete package-lock.json
removed the package-locj.json from the PR
Co-authored-by: Srinidhi Anand Rao <srinidhi.rao@unvired.io>
* feat(approov-advanced-http) add wrapper for approov advanced http cordova plugin
* feat(approov-advanced-http) update plugin name so that it does not collide with existing http module
* 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
* feat(CustomUiSDK): added app invoke method
* 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>
* 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>
* 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
* 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
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.
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.
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
* 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>
by.chemerisuk.cordova.firebase.FirebaseAuthenticationPlugin.signInWithVerificationId argument 2 has type java.lang.String, got java.lang.Integer
smsCode has to be string instead of number
As said in the comment: `if specified, aggregation is grouped an array of "buckets" (windows of time),` the `bucket` field in `HealthQueryOptionsAggregated` should be optional.
* feat(MobileMessaging): add methods for CustomEvents support
* fix(MobileMessaging) change customAttributes type
* fix(MobileMessaging): change methods return type
Co-authored-by: Konstantin Latypov <Konstantin.Latypov@infobip.com>
* 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
Co-authored-by: Srinidhi Anand Rao <srinidhi.rao@unvired.io>
When there are no apps installed that can handle "mail" then the "apps" array is returned as `null` from the plugin. Ensure we don't try to call `length` on `null`.
* 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(fcm): add missing clearAllNotifications
* getAPNSToken method added
New version of `cordova-plugin-fcm-with-dependecy-updated` released: v4.0.0
_“The old FCMPlugin.getToken is focused on retrieving the FCM Token. For the IOS, APNS token can now be retrieved by the new method”_ (Show readme)[https://github.com/andrehtissot/cordova-plugin-fcm-with-dependecy-updated#version-400-12102019]
* hasPermission added
[Show readme.md](https://github.com/andrehtissot/cordova-plugin-fcm-with-dependecy-updated#version-320-16092019)
#### Checking for permissions
Useful for IOS. On android, it will always return `true`.
```javascript
FCMPlugin.hasPermission(function(doesIt){
// doesIt === true => yes, push was allowed
// doesIt === false => nope, push will not be available
// doesIt === null => still not answered, recommended checking again later
if(doesIt) {
haveFun();
}
});
```
# Conflicts:
# src/@ionic-native/plugins/fcm/index.ts
Co-authored-by: Alexis Caffa <AlexisCaffa@users.noreply.github.com>
* 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(camera-preview):add getCameraCharacteristics
added getCameraCharacteristics to get the characteristics of all available cameras. #3163
* Update index.ts
* 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
* Update index.ts
Added description field to IChannelOptions object and changed vibration type to get a number array
* Update index.ts
Added description field to IChannelOptions object and changed vibration type to get a number array
BREAKING CHANGE: update firebase-x-cordova plugin to version 7
* fix(firebase-x): update types to match cordova-plugin-firebasex 7.0.0
* fix(firebase-x): Add getAPNSToken(), add `onApnsTokenReceived()`
* Add getAPNSToken() plugin API method to get the APNS token on iOS.
* (iOS) Add `onApnsTokenReceived()` to register a callback function to be invoked when the APNS token is allocated.
* fix lint errors
* 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
* 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
It seems like these two definitions were switched around accidentally. I'm just going from the obvious logic of it. I don't know if there is some situation where the names are intentionally switched around? Please only accept PR if you can vouch for my change.
* Add Basic WebSocketServer Class
* Change for custom plugin fork
* Set cordova observable property
* Setup for custom fork of plugin
Using custom fork for better support for
observables. Use original repo when pull request
https://github.com/becvert/cordova-plugin-websocket-server/pull/64 is merged
* Add Documentation
* Remove double quotes with single quotes
* Fix lint issues
* Fix stop() docs
* feat(cordova-plugin-preview-any-file): add new plugin to preview the files in both ios and android
* fix lint error
* add missing descriptions
* add the reop link
* feat(cordova-plugin-preview-any-file): add new plugin to preview the files in both ios and android
* fix lint error
* add missing descriptions
* add the reop link
* Fixes#2972https://github.com/ionic-team/ionic-native/issues/2972
* If window does not exist.
But is there a case where window does not exist? If ionic-native always runs in browsers enviroment (like Cordova / WebView) we could remove the `typeof` checks.
* 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
* Update index.d.ts
Property comments are omitted if they are not marked with double asterisks. Added missing asterisks
* Update index.d.ts
Updated comments to match linter settings
* Fix lint errors and some missing comments
* add missing options and improve types
* 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
cordova.plugins.diagnostic@5.0.0 introduced breaking change moving from `DENIED` to `DENIED_ONCE` and make the statuses semantically equal for iOS and Android. For backward compatibility `DENIED` is untouched in this PR but marked as deprecated
solves #3050
while diagnostic plugin docs may be confusing, the `requestRemoteNotificationsAuthorization(successCallback, errorCallback, types, omitRegistration)` signature is available in the sources:
0fac4a59d1/www/ios/diagnostic.notifications.js (L162)
* Adding missing functions to index.ts file
The functions were missing, Please refer to the issue #2909https://github.com/ionic-team/ionic-native/issues/2909
* Updated comments
Updated comments which were failing tslint test
* removed trailing whitespace
removed trailing whitespace
* feat: updating device account wrapper with maintained fork with android 8.0 compatibility
* updating func to include getPermission for email permissions on android 8.0+
* revert package-lock as per feedback
* fix conflicts in package-lock.json, revert back to commit 49d7ca7375
Adds missing sendRequest feature that has been implemented to cordova-plugin-advanced
which allows overriding global options for single request being sent via this method
Closes#2824
* Change for new 'headers' option
As of 1.1.19 of PhotoViewer, a new PhotoViewer option was added called 'headers' which allows for HTTP headers to be used when requesting the image. This is useful for authenticated sites.
* Typo in example
* Added new PhotoViewerOptions
There are several other new PhotoViewerOptions besides 'headers' that need to be imported into the latest version. I was selfishly only concerned about the one I needed, but the build really needs them all.
* Change guide color to string|number type
When the platform is Android, the cordova plugin wait for an Int value to set the guide color.
* Update index.ts
* fix(contacts plugin): add the rawId parameter
This adds the rawId parameter to the contact class which allows the rawId value to be passed to Android which is required for saving contacts.
* Update index.ts
The newly added wrapper for Admob __Plus__ had Admob __Free__ as its name.
This resulted in a broken docs-Page, _Admob Free_ occurred twice, both showing infos for _Admob Plus_
* Work on NFC reader-mode
* Remove dist files, not needed in plugin development folder
* Revert package changes
This reverts part of commit 24a893fdcf.
* Update index.ts
* Correct the flags and return types for the wrapper
* Add reader flags.
Thanks @sfaizanh
* feat(plugins): add web-server plugin
Add support of the cordova-plugin-webserver plugin, to start a
a dynamic content web server on iOS and android devices.
* Update index.ts
* Update createAuthenticationContext
Update createAuthenticationContext to include validateAuthority flag since it is throwing Error: Fail to valid authority with errors: [50049].
Without the flag it is throwing Error: Fail to valid authority with errors: [50049].
* Update index.ts
* feat(bluetooth-le): implemented all available methods and refactored existing ones
* fix(bluetooth-le): Removed @memberof jsdoc annotations to avoid ci check failure
* fix(bluetooth-le): Fixed multiple jsdocs typos/misformats preventing CI to pass checks while generating readmes
* fix(bluetooth-le): Removed package-lock.json
* Update index.ts
* fix(bluetooth-le): Fixed stringToBytes method, now properly takes a string as arg and return an Uint8Array
* fix(bluetooth-le): getAdapterInfo now returns an Observable for easier tracking of adapter states
* fix(bluetooth-le): Fixed missing cordova param (observable: true) in initializePeripheral method, fixed getAdapterInfo method, now return an adapterInfo object
* chore(bluetooth-le): Removed @description markup to allow a proper doc auto-format
* fix(bluetooth-le): Reverted getAdapterInfo method to a Promise return
We noticed that in some cases network state listeners are stopped triggering, but `navigator.onLine` still reflects the state correctly. I used the following code to debug and found out an issue with `window` and `document` difference:
```js
window.addEventListener("online", ()=>console.warn('WINDOW ONLINE'), false); // won't be triggered
window.addEventListener("online", ()=>console.warn('WINDOW ONLINE'), false); // won't be triggered
document.addEventListener("online", ()=>console.warn('DOCUMENT ONLINE'), false); // triggered
document.addEventListener("online", ()=>console.warn('DOCUMENT ONLINE'), false); // triggered
```
Also, according to plugin documentation, listeners should be bound to `document`: https://github.com/apache/cordova-plugin-network-information#offline
- Explicitly spell out that this is coming from "Ionic Native", instead of just "Native"
- Improve sentence that explains 2 most common reasons for missing Cordova
The transaction callback function argument is currently typed as `any`, however this isn't very helpful so I have added a base interface which contains only the `executeSql` function. This function is all that is available on the object returned by WebSQL, but is also available on the full SQLite implementation.
* fix(app-version): fix getVersionCode to return number
as is in the actual implementation. Also update and clarify the method docs
* fix(app-version): fix getVersionCode for compatibility
with Android and iOS at the same time
As documented in the image picker plugin, it also supports a data url, just like the camera does. However, this option is not documented in Ionic Native currently. I've added this documentation, and have also added an enum with a naming pattern that matches the DestinationType in Camera.
Docs from the image picker plugin:
```
...
// output type, defaults to FILE_URIs.
// available options are
// window.imagePicker.OutputType.FILE_URI (0) or
// window.imagePicker.OutputType.BASE64_STRING (1)
outputType: int
};
```
Made all properties in OSNotification optional because when you create a push notification the type is OSNotification but it does not have all the same properties required as the OSNotification as a response from a received notification. For example, you don't pass in isAppInFocus when you create a notification but it was causing issues when trying to post a notification because it was showing as required because OSNotification as a response will always have isAppInFocus.
* Correcting format of registerBroadcastReceiver, current implementation provides no way to receive the registered broadcasts.
Usage is as follows:
webintent.registerBroadcastReceiver({
filterActions: [
'com.example.ACTION'
],
filterCategories: [
'android.intent.category.DEFAULT'
]
}).subscribe((intent) => {console.log('Received Intent: ' + JSON.stringify(intent.extras));});
* Resolving linting errors
* Resolving additional linting error
In order to enable background mode data collection we used the cordova-plugin-background-mode plugin in a new Cordova plugin repo, cordova-plugin-jins-meme (vs. cordova-plugin-jins-meme-es.) We opted to maintain the old repository for backwards-compatibility as we have multiple apps using various versions; this is simplest.
Another unrelated change was made to silence unnecessary console logging.
* Update index.ts
* Update index.ts
* Add missing features, and bug fix of methods
* update: classname must be in pascal case
* remove: duplicated class definition
* export encode and spherical static classes
* Add comma
* Fix Encoding and Spherical
* Add convenience methods
* Fix decorators for Encoding and Spherical
* Update: getMap() methods return the instance of the wrapper plugin
* Update: getMap() methods return the instance of the wrapper plugin
* Remove `@CordovaInstance` decorators from getMap()
* Update: GoogleMapOptions (all fields are not optional).
* Follow up: version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps
* Fix: tslint error
* Fix: tslint error
* No more isAvailable() method.
* Bug fix: description is incorrect
* Bug fix: example code was wrong.
* Bug fix: HtmlInfoWindow does not work
https://github.com/ionic-team/ionic-native/pull/1815#issuecomment-318909795
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* It seems the ionViewDidLoad() is enough delayed after platform.ready()
* Bug fix: map.setDiv()
* Bug fix: HtmlInfoWindow does not work
* Bug fix: BaseArrayClass definition is incorrect
* Bug fix: BaseArrayClass constructor is wrong
* Bug fix: Geocoder class does not work
* Bug fix: LatLngBounds constructor is wrong
* update: noNotify option is not declared
* Bug fix: Geocoder.geocode() returns array of GeocoderResult
* Update: clarify acceptable parameters of BaseArrayClass
* Add: AnimateCameraOption.padding is missing
* Revert: BaseClass.empty() method does not have the noNotify option
* Add `destruct` option to the CordovaOption.
- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.
* A semicolon is mixing
* update: event names
* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()
* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)
* Build for working group
* Bug fix: map.getCameraTarget() definition is incorrect
* Bug fix: The definition of VisibleRegion interface is incorrect
* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()
Add: VisibleRegion class
* Bug fix: the definition of map.clear() method is incorrect
* Fix: map.fromLatLngToPoint()
* Ignore the dist directory on the master branch
* Remove the dist folder on the master branch
* fixes and tweaks
* use union types for CameraPosition
fixes issue mentioned on slack by @wf9a5m75
* fix types
* update AnimateCameraOptions interface
* remove AnimateCameraOptions interface
* add MarkerCluster class
* Bug fix: Can not create an instance of BaseArrayClass
* Bug fix: the icons property of MarkerClusterOptions
* Bug fix: the zoom option is missing
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1712
* Update index.ts
* fix: need to convert instance type from the JS class to the wrapper class
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1706
* remove test file
* fix: Error: Illegal use of "@private" tag.
* fix: The Environment, Encode, and Spherical are static class
* fix: convert JS instance to the ionic instance
add: BaseClass.destroy()
add: getId() method for all instance classes
* Documentation Error https://github.com/ionic-team/ionic-native/issues/1994
* Need to create another way to convert the instance for marker cluster
* save
* Remove the instance of wrapper class if the JS instance is removed.
* Bug fix: HtmlInfoWindow missing .on and .one methods
https://github.com/ionic-team/ionic-native/issues/2034
* Bug fix: HtmlInfoWindow constructor cause the error
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1661
* Fix: Error when removing map
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1823
* Add: the cssOptions argument for HtmlInfoWindow.setContent() method
* Bug fix: Polyline.getPoints(), Polygon.getPoints() and Polygon.getHoles()
Those methods need to create new instance of BaseArrayClass of wrapper plugin.
* Add: forEachAsync(), mapAsync(), and filterAsync() methods into BaseArray class
* update: use document.querySelector() instead of document.getElementById() if the passed element is string
update: map.setDiv()
Bug fix: can not create empty GoogleMap (pure JS version is available way)
* Fix: wait until the page is fully ready
* Fix: missing `clickable` option for PolygonOptions and PolylineOptions
* Add: accept own properties for `addMarker()` and others #2087
Fix: some properties are required, but specified as optional.
Add: descriptions for properties
* Bug fix: Static classes are defined as non static class
https://stackoverflow.com/questions/47083289/ionic-native-google-maps-plugin-set-app-background-color/47165721#47165721
* Add: poly class (plugin.google.maps.geometory.poly namespace)
* Bug fix: Ionic native googlemaps decodePath() returns undefined
https://forum.ionicframework.com/t/ionic-native-googlemaps-decodepath-returns-undefined/118624/
* PR #2254https://github.com/ionic-team/ionic-native/pull/2254
* PR #2199https://github.com/ionic-team/ionic-native/pull/2199
* Change defined event names for the cordova-plugin-googlemaps v2.0
* Change defined event names for the cordova-plugin-googlemaps v2.2.0
* Add Geolocation class
* Implement the `setMyLocationButtonEnabled()` method
* add: baseArrayClass.mapSeries() method
update: change internal methods
* update: implementation of the LocationService
* Implement the map.addKmlOverlay() method
* Update for the cordova-plugin-googlemaps v2.2.x
The current example in the docs is incomplete and thus quite useless. Just on its own won't manipulate the CSS of a loaded page. It requires the InAppBrowserEvent, and using it in the callback.
As stated in the plugin repo, the options field is optional. Also, the plugin returns a `iana_timezone` property such as 'America/New_York' which was not included.
In line 20, "this.navigationBar.hide(autoHide);". But there is no such a function .hide(). It shoud be correct as "this.navigationBar.setUp(autoHide);".
* Added missing methods beginSession and invalidateSession for iOS support
* Removed invalidateSession function and package-lock.json
* added current package-lock again
trueflywood's fork is currently used for this plugin. I'm changing it back to the original which contains the current changes and also includes type definitions and methods for the new version as well as documentation updates
Add hasScrubbing variable to options - used to enable or disable scrubbing from the iOS control center or lockscreen progress bar
Make optional items actually optional...
* feat(nfc): Add interfaces and missing references to UriHelper and TextHelper
This commit adds the missing references to UriHelper and TextHeler.
There were missing references to some methods of nfc and ndef modules.
The constants for ndef has ben added.
* feat(nfc): add NfcUtil class.
The most important change here is to point to the BlyncSync version of the plugin, which is actively maintained. The jins-meme version lacks a package.json, which causes issues on some platforms that will result in an inability to build.
The BlyncSync plugin uses standard naming convention for cordova plugins (cordova-plugin-jins-meme-es)
The plugin name should be JINS MEME ES (ES for Eye-Sensing,) as this is how the product is actually named: not "Jins Meme."
* Update index.ts
* Update index.ts
* Add missing features, and bug fix of methods
* update: classname must be in pascal case
* remove: duplicated class definition
* export encode and spherical static classes
* Add comma
* Fix Encoding and Spherical
* Add convenience methods
* Fix decorators for Encoding and Spherical
* Update: getMap() methods return the instance of the wrapper plugin
* Update: getMap() methods return the instance of the wrapper plugin
* Remove `@CordovaInstance` decorators from getMap()
* Update: GoogleMapOptions (all fields are not optional).
* Follow up: version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps
* Fix: tslint error
* Fix: tslint error
* No more isAvailable() method.
* Bug fix: description is incorrect
* Bug fix: example code was wrong.
* Bug fix: HtmlInfoWindow does not work
https://github.com/ionic-team/ionic-native/pull/1815#issuecomment-318909795
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* It seems the ionViewDidLoad() is enough delayed after platform.ready()
* Bug fix: map.setDiv()
* Bug fix: HtmlInfoWindow does not work
* Bug fix: BaseArrayClass definition is incorrect
* Bug fix: BaseArrayClass constructor is wrong
* Bug fix: Geocoder class does not work
* Bug fix: LatLngBounds constructor is wrong
* update: noNotify option is not declared
* Bug fix: Geocoder.geocode() returns array of GeocoderResult
* Update: clarify acceptable parameters of BaseArrayClass
* Add: AnimateCameraOption.padding is missing
* Revert: BaseClass.empty() method does not have the noNotify option
* Add `destruct` option to the CordovaOption.
- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.
* A semicolon is mixing
* update: event names
* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()
* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)
* Build for working group
* Bug fix: map.getCameraTarget() definition is incorrect
* Bug fix: The definition of VisibleRegion interface is incorrect
* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()
Add: VisibleRegion class
* Bug fix: the definition of map.clear() method is incorrect
* Fix: map.fromLatLngToPoint()
* Ignore the dist directory on the master branch
* Remove the dist folder on the master branch
* fixes and tweaks
* use union types for CameraPosition
fixes issue mentioned on slack by @wf9a5m75
* fix types
* update AnimateCameraOptions interface
* remove AnimateCameraOptions interface
* add MarkerCluster class
* Bug fix: Can not create an instance of BaseArrayClass
* Bug fix: the icons property of MarkerClusterOptions
* Bug fix: the zoom option is missing
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1712
* Update index.ts
* fix: need to convert instance type from the JS class to the wrapper class
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1706
* remove test file
* fix: Error: Illegal use of "@private" tag.
* fix: The Environment, Encode, and Spherical are static class
* fix: convert JS instance to the ionic instance
add: BaseClass.destroy()
add: getId() method for all instance classes
* Documentation Error https://github.com/ionic-team/ionic-native/issues/1994
* Need to create another way to convert the instance for marker cluster
* save
* Remove the instance of wrapper class if the JS instance is removed.
* Bug fix: HtmlInfoWindow missing .on and .one methods
https://github.com/ionic-team/ionic-native/issues/2034
* Bug fix: HtmlInfoWindow constructor cause the error
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1661
* Fix: Error when removing map
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1823
* Add: the cssOptions argument for HtmlInfoWindow.setContent() method
* Bug fix: Polyline.getPoints(), Polygon.getPoints() and Polygon.getHoles()
Those methods need to create new instance of BaseArrayClass of wrapper plugin.
* Add: forEachAsync(), mapAsync(), and filterAsync() methods into BaseArray class
* update: use document.querySelector() instead of document.getElementById() if the passed element is string
update: map.setDiv()
Bug fix: can not create empty GoogleMap (pure JS version is available way)
* Fix: wait until the page is fully ready
* Fix: missing `clickable` option for PolygonOptions and PolylineOptions
* Add: accept own properties for `addMarker()` and others #2087
Fix: some properties are required, but specified as optional.
Add: descriptions for properties
* Bug fix: Static classes are defined as non static class
https://stackoverflow.com/questions/47083289/ionic-native-google-maps-plugin-set-app-background-color/47165721#47165721
* Add: poly class (plugin.google.maps.geometory.poly namespace)
* Update index.ts
* Update index.ts
* Add missing features, and bug fix of methods
* update: classname must be in pascal case
* remove: duplicated class definition
* export encode and spherical static classes
* Add comma
* Fix Encoding and Spherical
* Add convenience methods
* Fix decorators for Encoding and Spherical
* Update: getMap() methods return the instance of the wrapper plugin
* Update: getMap() methods return the instance of the wrapper plugin
* Remove `@CordovaInstance` decorators from getMap()
* Update: GoogleMapOptions (all fields are not optional).
* Follow up: version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps
* Fix: tslint error
* Fix: tslint error
* No more isAvailable() method.
* Bug fix: description is incorrect
* Bug fix: example code was wrong.
* Bug fix: HtmlInfoWindow does not work
https://github.com/ionic-team/ionic-native/pull/1815#issuecomment-318909795
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* It seems the ionViewDidLoad() is enough delayed after platform.ready()
* Bug fix: map.setDiv()
* Bug fix: HtmlInfoWindow does not work
* Bug fix: BaseArrayClass definition is incorrect
* Bug fix: BaseArrayClass constructor is wrong
* Bug fix: Geocoder class does not work
* Bug fix: LatLngBounds constructor is wrong
* update: noNotify option is not declared
* Bug fix: Geocoder.geocode() returns array of GeocoderResult
* Update: clarify acceptable parameters of BaseArrayClass
* Add: AnimateCameraOption.padding is missing
* Revert: BaseClass.empty() method does not have the noNotify option
* Add `destruct` option to the CordovaOption.
- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.
* A semicolon is mixing
* update: event names
* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()
* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)
* Build for working group
* Bug fix: map.getCameraTarget() definition is incorrect
* Bug fix: The definition of VisibleRegion interface is incorrect
* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()
Add: VisibleRegion class
* Bug fix: the definition of map.clear() method is incorrect
* Fix: map.fromLatLngToPoint()
* Ignore the dist directory on the master branch
* Remove the dist folder on the master branch
* fixes and tweaks
* use union types for CameraPosition
fixes issue mentioned on slack by @wf9a5m75
* fix types
* update AnimateCameraOptions interface
* remove AnimateCameraOptions interface
* add MarkerCluster class
* Bug fix: Can not create an instance of BaseArrayClass
* Bug fix: the icons property of MarkerClusterOptions
* Bug fix: the zoom option is missing
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1712
* Update index.ts
* fix: need to convert instance type from the JS class to the wrapper class
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1706
* remove test file
* fix: Error: Illegal use of "@private" tag.
* fix: The Environment, Encode, and Spherical are static class
* fix: convert JS instance to the ionic instance
add: BaseClass.destroy()
add: getId() method for all instance classes
* Documentation Error https://github.com/ionic-team/ionic-native/issues/1994
* Need to create another way to convert the instance for marker cluster
* save
* Remove the instance of wrapper class if the JS instance is removed.
* Bug fix: HtmlInfoWindow missing .on and .one methods
https://github.com/ionic-team/ionic-native/issues/2034
* Bug fix: HtmlInfoWindow constructor cause the error
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1661
* Fix: Error when removing map
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1823
* Add: the cssOptions argument for HtmlInfoWindow.setContent() method
* Bug fix: Polyline.getPoints(), Polygon.getPoints() and Polygon.getHoles()
Those methods need to create new instance of BaseArrayClass of wrapper plugin.
* Add: forEachAsync(), mapAsync(), and filterAsync() methods into BaseArray class
* update: use document.querySelector() instead of document.getElementById() if the passed element is string
update: map.setDiv()
Bug fix: can not create empty GoogleMap (pure JS version is available way)
* Fix: wait until the page is fully ready
* Fix: missing `clickable` option for PolygonOptions and PolylineOptions
Hello guys,
I make this pull request to add the installation variable `GEOLOCATION_USAGE_DESCRIPTION` needed on iOS, since version 10.
Without this variable, using `getCurrentPosition` do nothing on iOS because phone wait user authorization. But that authorization is not display because there is no message defined.
This variable make this part of code in `info.plist` :
```
<key>NSLocationWhenInUseUsageDescription</key>
<string>To allow locate you</string>
```
Source : https://github.com/apache/cordova-plugin-geolocation#ios-quirks
Have a good coding day :)
* Update index.ts
* Update index.ts
* Add missing features, and bug fix of methods
* update: classname must be in pascal case
* remove: duplicated class definition
* export encode and spherical static classes
* Add comma
* Fix Encoding and Spherical
* Add convenience methods
* Fix decorators for Encoding and Spherical
* Update: getMap() methods return the instance of the wrapper plugin
* Update: getMap() methods return the instance of the wrapper plugin
* Remove `@CordovaInstance` decorators from getMap()
* Update: GoogleMapOptions (all fields are not optional).
* Follow up: version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps
* Fix: tslint error
* Fix: tslint error
* No more isAvailable() method.
* Bug fix: description is incorrect
* Bug fix: example code was wrong.
* Bug fix: HtmlInfoWindow does not work
https://github.com/ionic-team/ionic-native/pull/1815#issuecomment-318909795
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* It seems the ionViewDidLoad() is enough delayed after platform.ready()
* Bug fix: map.setDiv()
* Bug fix: HtmlInfoWindow does not work
* Bug fix: BaseArrayClass definition is incorrect
* Bug fix: BaseArrayClass constructor is wrong
* Bug fix: Geocoder class does not work
* Bug fix: LatLngBounds constructor is wrong
* update: noNotify option is not declared
* Bug fix: Geocoder.geocode() returns array of GeocoderResult
* Update: clarify acceptable parameters of BaseArrayClass
* Add: AnimateCameraOption.padding is missing
* Revert: BaseClass.empty() method does not have the noNotify option
* Add `destruct` option to the CordovaOption.
- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.
* A semicolon is mixing
* update: event names
* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()
* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)
* Build for working group
* Bug fix: map.getCameraTarget() definition is incorrect
* Bug fix: The definition of VisibleRegion interface is incorrect
* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()
Add: VisibleRegion class
* Bug fix: the definition of map.clear() method is incorrect
* Fix: map.fromLatLngToPoint()
* Ignore the dist directory on the master branch
* Remove the dist folder on the master branch
* fixes and tweaks
* use union types for CameraPosition
fixes issue mentioned on slack by @wf9a5m75
* fix types
* update AnimateCameraOptions interface
* remove AnimateCameraOptions interface
* add MarkerCluster class
* Bug fix: Can not create an instance of BaseArrayClass
* Bug fix: the icons property of MarkerClusterOptions
* Bug fix: the zoom option is missing
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1712
* Update index.ts
* fix: need to convert instance type from the JS class to the wrapper class
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1706
* remove test file
* fix: Error: Illegal use of "@private" tag.
* fix: The Environment, Encode, and Spherical are static class
* fix: convert JS instance to the ionic instance
add: BaseClass.destroy()
add: getId() method for all instance classes
* Documentation Error https://github.com/ionic-team/ionic-native/issues/1994
* Need to create another way to convert the instance for marker cluster
* save
* Remove the instance of wrapper class if the JS instance is removed.
Variable REVERSED_CLIENT_ID can be found in your GoogleService-Info.plist under the same key name.
Variable PHOTO_LIBRARY_USAGE_DESCRIPTION specifies required value for NSPhotoLibraryUsageDescription on iOS.
See: https://github.com/chemerisuk/cordova-plugin-firebase-dynamiclinks
This now includes the value 'resolved', as it is a valid action passed by the service browser on iOS (at least) when IP addresses for the chosen service have been resolved.
* Update index.ts
* Update index.ts
* Add missing features, and bug fix of methods
* update: classname must be in pascal case
* remove: duplicated class definition
* export encode and spherical static classes
* Add comma
* Fix Encoding and Spherical
* Add convenience methods
* Fix decorators for Encoding and Spherical
* Update: getMap() methods return the instance of the wrapper plugin
* Update: getMap() methods return the instance of the wrapper plugin
* Remove `@CordovaInstance` decorators from getMap()
* Update: GoogleMapOptions (all fields are not optional).
* Follow up: version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps
* Fix: tslint error
* Fix: tslint error
* No more isAvailable() method.
* Bug fix: description is incorrect
* Bug fix: example code was wrong.
* Bug fix: HtmlInfoWindow does not work
https://github.com/ionic-team/ionic-native/pull/1815#issuecomment-318909795
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* It seems the ionViewDidLoad() is enough delayed after platform.ready()
* Bug fix: map.setDiv()
* Bug fix: HtmlInfoWindow does not work
* Bug fix: BaseArrayClass definition is incorrect
* Bug fix: BaseArrayClass constructor is wrong
* Bug fix: Geocoder class does not work
* Bug fix: LatLngBounds constructor is wrong
* update: noNotify option is not declared
* Bug fix: Geocoder.geocode() returns array of GeocoderResult
* Update: clarify acceptable parameters of BaseArrayClass
* Add: AnimateCameraOption.padding is missing
* Revert: BaseClass.empty() method does not have the noNotify option
* Add `destruct` option to the CordovaOption.
- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.
* A semicolon is mixing
* update: event names
* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()
* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)
* Build for working group
* Bug fix: map.getCameraTarget() definition is incorrect
* Bug fix: The definition of VisibleRegion interface is incorrect
* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()
Add: VisibleRegion class
* Bug fix: the definition of map.clear() method is incorrect
* Fix: map.fromLatLngToPoint()
* Ignore the dist directory on the master branch
* Remove the dist folder on the master branch
* fixes and tweaks
* use union types for CameraPosition
fixes issue mentioned on slack by @wf9a5m75
* fix types
* update AnimateCameraOptions interface
* remove AnimateCameraOptions interface
* add MarkerCluster class
* Bug fix: Can not create an instance of BaseArrayClass
* Bug fix: the icons property of MarkerClusterOptions
* Bug fix: the zoom option is missing
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1712
* Update index.ts
* fix: need to convert instance type from the JS class to the wrapper class
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1706
* remove test file
* fix: Error: Illegal use of "@private" tag.
* fix: The Environment, Encode, and Spherical are static class
* fix: convert JS instance to the ionic instance
add: BaseClass.destroy()
add: getId() method for all instance classes
* Update index.ts
* Update index.ts
* Add missing features, and bug fix of methods
* update: classname must be in pascal case
* remove: duplicated class definition
* export encode and spherical static classes
* Add comma
* Fix Encoding and Spherical
* Add convenience methods
* Fix decorators for Encoding and Spherical
* Update: getMap() methods return the instance of the wrapper plugin
* Update: getMap() methods return the instance of the wrapper plugin
* Remove `@CordovaInstance` decorators from getMap()
* Update: GoogleMapOptions (all fields are not optional).
* Follow up: version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps
* Fix: tslint error
* Fix: tslint error
* No more isAvailable() method.
* Bug fix: description is incorrect
* Bug fix: example code was wrong.
* Bug fix: HtmlInfoWindow does not work
https://github.com/ionic-team/ionic-native/pull/1815#issuecomment-318909795
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* It seems the ionViewDidLoad() is enough delayed after platform.ready()
* Bug fix: map.setDiv()
* Bug fix: HtmlInfoWindow does not work
* Bug fix: BaseArrayClass definition is incorrect
* Bug fix: BaseArrayClass constructor is wrong
* Bug fix: Geocoder class does not work
* Bug fix: LatLngBounds constructor is wrong
* update: noNotify option is not declared
* Bug fix: Geocoder.geocode() returns array of GeocoderResult
* Update: clarify acceptable parameters of BaseArrayClass
* Add: AnimateCameraOption.padding is missing
* Revert: BaseClass.empty() method does not have the noNotify option
* Add `destruct` option to the CordovaOption.
- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.
* A semicolon is mixing
* update: event names
* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()
* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)
* Build for working group
* Bug fix: map.getCameraTarget() definition is incorrect
* Bug fix: The definition of VisibleRegion interface is incorrect
* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()
Add: VisibleRegion class
* Bug fix: the definition of map.clear() method is incorrect
* Fix: map.fromLatLngToPoint()
* Ignore the dist directory on the master branch
* Remove the dist folder on the master branch
* fixes and tweaks
* use union types for CameraPosition
fixes issue mentioned on slack by @wf9a5m75
* fix types
* update AnimateCameraOptions interface
* remove AnimateCameraOptions interface
* add MarkerCluster class
* Bug fix: Can not create an instance of BaseArrayClass
* Bug fix: the icons property of MarkerClusterOptions
* Bug fix: the zoom option is missing
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1712
* Update index.ts
* Update index.ts
* Update index.ts
* Add missing features, and bug fix of methods
* update: classname must be in pascal case
* remove: duplicated class definition
* export encode and spherical static classes
* Add comma
* Fix Encoding and Spherical
* Add convenience methods
* Fix decorators for Encoding and Spherical
* Update: getMap() methods return the instance of the wrapper plugin
* Update: getMap() methods return the instance of the wrapper plugin
* Remove `@CordovaInstance` decorators from getMap()
* Update: GoogleMapOptions (all fields are not optional).
* Follow up: version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps
* Fix: tslint error
* Fix: tslint error
* No more isAvailable() method.
* Bug fix: description is incorrect
* Bug fix: example code was wrong.
* Bug fix: HtmlInfoWindow does not work
https://github.com/ionic-team/ionic-native/pull/1815#issuecomment-318909795
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* It seems the ionViewDidLoad() is enough delayed after platform.ready()
* Bug fix: map.setDiv()
* Bug fix: HtmlInfoWindow does not work
* Bug fix: BaseArrayClass definition is incorrect
* Bug fix: BaseArrayClass constructor is wrong
* Bug fix: Geocoder class does not work
* Bug fix: LatLngBounds constructor is wrong
* update: noNotify option is not declared
* Bug fix: Geocoder.geocode() returns array of GeocoderResult
* Update: clarify acceptable parameters of BaseArrayClass
* Add: AnimateCameraOption.padding is missing
* Revert: BaseClass.empty() method does not have the noNotify option
* Add `destruct` option to the CordovaOption.
- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.
* A semicolon is mixing
* update: event names
* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()
* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)
* Build for working group
* Bug fix: map.getCameraTarget() definition is incorrect
* Bug fix: The definition of VisibleRegion interface is incorrect
* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()
Add: VisibleRegion class
* Bug fix: the definition of map.clear() method is incorrect
* Fix: map.fromLatLngToPoint()
* Ignore the dist directory on the master branch
* Remove the dist folder on the master branch
* fixes and tweaks
* use union types for CameraPosition
fixes issue mentioned on slack by @wf9a5m75
* fix types
* update AnimateCameraOptions interface
* remove AnimateCameraOptions interface
* add MarkerCluster class
* Bug fix: Can not create an instance of BaseArrayClass
* Bug fix: the icons property of MarkerClusterOptions
* Update index.ts
* Update index.ts
* Add missing features, and bug fix of methods
* update: classname must be in pascal case
* remove: duplicated class definition
* export encode and spherical static classes
* Add comma
* Fix Encoding and Spherical
* Add convenience methods
* Fix decorators for Encoding and Spherical
* Update: getMap() methods return the instance of the wrapper plugin
* Update: getMap() methods return the instance of the wrapper plugin
* Remove `@CordovaInstance` decorators from getMap()
* Update: GoogleMapOptions (all fields are not optional).
* Follow up: version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps
* Fix: tslint error
* Fix: tslint error
* No more isAvailable() method.
* Bug fix: description is incorrect
* Bug fix: example code was wrong.
* Bug fix: HtmlInfoWindow does not work
https://github.com/ionic-team/ionic-native/pull/1815#issuecomment-318909795
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* It seems the ionViewDidLoad() is enough delayed after platform.ready()
* Bug fix: map.setDiv()
* Bug fix: HtmlInfoWindow does not work
* Bug fix: BaseArrayClass definition is incorrect
* Bug fix: BaseArrayClass constructor is wrong
* Bug fix: Geocoder class does not work
* Bug fix: LatLngBounds constructor is wrong
* update: noNotify option is not declared
* Bug fix: Geocoder.geocode() returns array of GeocoderResult
* Update: clarify acceptable parameters of BaseArrayClass
* Add: AnimateCameraOption.padding is missing
* Revert: BaseClass.empty() method does not have the noNotify option
* Add `destruct` option to the CordovaOption.
- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.
* A semicolon is mixing
* update: event names
* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()
* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)
* Build for working group
* Bug fix: map.getCameraTarget() definition is incorrect
* Bug fix: The definition of VisibleRegion interface is incorrect
* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()
Add: VisibleRegion class
* Bug fix: the definition of map.clear() method is incorrect
* Fix: map.fromLatLngToPoint()
* Ignore the dist directory on the master branch
* Remove the dist folder on the master branch
* fixes and tweaks
* use union types for CameraPosition
fixes issue mentioned on slack by @wf9a5m75
* fix types
* update AnimateCameraOptions interface
* remove AnimateCameraOptions interface
* add MarkerCluster class
* Bug fix: Can not create an instance of BaseArrayClass
* Update index.ts
* Update index.ts
* Add missing features, and bug fix of methods
* update: classname must be in pascal case
* remove: duplicated class definition
* export encode and spherical static classes
* Add comma
* Fix Encoding and Spherical
* Add convenience methods
* Fix decorators for Encoding and Spherical
* Update: getMap() methods return the instance of the wrapper plugin
* Update: getMap() methods return the instance of the wrapper plugin
* Remove `@CordovaInstance` decorators from getMap()
* Update: GoogleMapOptions (all fields are not optional).
* Follow up: version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps
* Fix: tslint error
* Fix: tslint error
* No more isAvailable() method.
* Bug fix: description is incorrect
* Bug fix: example code was wrong.
* Bug fix: HtmlInfoWindow does not work
https://github.com/ionic-team/ionic-native/pull/1815#issuecomment-318909795
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* Bug fix: HtmlInfoWindow does not work
* It seems the ionViewDidLoad() is enough delayed after platform.ready()
* Bug fix: map.setDiv()
* Bug fix: HtmlInfoWindow does not work
* Bug fix: BaseArrayClass definition is incorrect
* Bug fix: BaseArrayClass constructor is wrong
* Bug fix: Geocoder class does not work
* Bug fix: LatLngBounds constructor is wrong
* update: noNotify option is not declared
* Bug fix: Geocoder.geocode() returns array of GeocoderResult
* Update: clarify acceptable parameters of BaseArrayClass
* Add: AnimateCameraOption.padding is missing
* Revert: BaseClass.empty() method does not have the noNotify option
* Add `destruct` option to the CordovaOption.
- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.
* A semicolon is mixing
* update: event names
* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()
* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)
* Build for working group
* Bug fix: map.getCameraTarget() definition is incorrect
* Bug fix: The definition of VisibleRegion interface is incorrect
* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()
Add: VisibleRegion class
* Bug fix: the definition of map.clear() method is incorrect
* Fix: map.fromLatLngToPoint()
* Ignore the dist directory on the master branch
* Remove the dist folder on the master branch
* fixes and tweaks
* use union types for CameraPosition
fixes issue mentioned on slack by @wf9a5m75
* fix types
* update AnimateCameraOptions interface
* remove AnimateCameraOptions interface
* add MarkerCluster class
Wrong pluginRef causes errors:
Native: tried calling SpinnerDialog.show, but the SpinnerDialog plugin is not installed.
Install the SpinnerDialog plugin: 'ionic cordova plugin add cordova-plugin-native-spinner'
Fix pluginRef to work properly.
* docs(nfc): update usage doc of the nfc plugin
show an example of how the event listeners work with observable subscription and implement an nfc share within the event listener.
* docs(AndroidPermissions): requestPermissions->requestPermission
* Update index.ts
* Update index.ts
* Add missing features, and bug fix of methods
* update: classname must be in pascal case
* remove: duplicated class definition
* export encode and spherical static classes
* Add comma
* Fix Encoding and Spherical
* Add convenience methods
* Fix decorators for Encoding and Spherical
* Update: getMap() methods return the instance of the wrapper plugin
* Update: getMap() methods return the instance of the wrapper plugin
* Remove `@CordovaInstance` decorators from getMap()
* Update: GoogleMapOptions (all fields are not optional).
* Follow up: version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps
* Fix: tslint error
* Fix: tslint error
* No more isAvailable() method.
BREAKING CHANGE: the plugin's `create` method no longer takes callback functions. You must use the
observables provided by the `MediaObject` instance. Refer to the updated documentation for more
information.
closes#1591
* change source and document interface
* document addAlias example
* feat(email-composer): add requestPermission and hasPermission methods
* refactor(): use getPlugin() instead of referencing cordova
BREAKING CHANGE: Package name is now `@ionic-native/file-transfer`. `Transfer` class has been
renamed to `FileTransfer`. Also, `TransferObject` class has been renamed to `FileTransferObject`.
* update google maps
* more updates
* add BaseClass
* add BaseArrayClass
* add BaseArrayClass constructor
* finish up BaseArrayClass
* add Environment class
* improve docs and add missing functions to GoogleMap class
* improve TileOverlayOptions interface
* add types to constants
* add ILatLng interface
* improve types in BaseArrayClass
* fix geocoder return type
* use Cordova decorator for geocoder
* document CameraPosition and add missing duration property
* document circle class and add update functions
* tslint
* remove extra decorator
* add setVisible and getVisible to Circle class
* complete Environment class
* add convenience method to return instance of environment
* add more classes to docs
* re-organize plugin definition
* document GroundOverlayOptions
* complete GroundOverlay class
* add and complete HtmlInfoWindow class
* complete LatLngBounds class
* update MyLocation interface
* complete GoogleMap class
* fix TERRAIN spelling
* complete Marker class
* complete Polygon class
* complete TileOverlay class
* remove setDebuggable and isAvailable
developer said they're not suited for users
* Improved the docs for firebase dynamic links
The config.xml example needed to switch the ios and android tag.
Added an example how to use onDynamicLink()
* (doc) Reverted change and expanded example
* (doc) Even more comments for clarity
As seen in the Cordova plugin (https://github.com/mjwheatley/cordova-plugin-android-fingerprint-auth) the isAvailable method returns an object that contains 3 parameters, {isAvailable:, isHardwareDetected, hasEnrolledFingerprints}.
If you do a console log on
this.androidFingerprintAuth.isAvailable()
.then(res => console.log(res)) //Outputs the Object {isAvailable: true, isHardwareDetected: true, hasEnrolledFingerprints: true}
.catch(err => console.error(err));
So we are getting the data, just need to make the interface expose it.
CircleCI can only save files one to a specific cache key. I set the cache key to depend on the checksum of package.json, so it updates the cache every time we update Ionic Native. In the long run, CircleCI will have to download the ionic-site changes less often.
Document the fact that confirm() will return a promise that resolves to 0 if the user clicks outside the dialog box. This behavior was previously undocummented and could lead to issues if not handled properly.
* chore(package): bump dependencies
I updated the dependencies to the latest bugfix and feature releases without any breaking changes.
* Update package.json
* Update package.json
Using the example in the previous version of this document, calling prepareInterstitial(adId) resulted in an
"-[__NSCFString count]: unrecognized selector sent to instance"
exception. This was alleviated by changing the call to prepareInterstitial({adId: adId})
(e.g. passing in an options object vs. just the adid string)
* typo(barcode-scanner): fixe circle lint error
* typo(docs): Unified the documentations
In some plugins the typescript markup was missing.
I also unified the console.log string from console.log("hello") to console.log('Hello') so any plugin page look the same.
* added phonegap-local-notifications
* update #1
* update #3
* update #4
* cleaned up the usage part
* removed old folder
* Update index.ts
* Update index.ts
* Update index.ts
* Update index.ts
* Update index.ts
* Update index.ts
* typo(barcode-scanner): fixe circle lint error
* typo(docs): Unified the documentations
In some plugins the typescript markup was missing.
I also unified the console.log string from console.log("hello") to console.log('Hello') so any plugin page look the same.
* Initial commit
* updated interface
* updated interface
* typo(barcode-scanner): fixe circle lint error
* typo(docs): Unified the documentations
In some plugins the typescript markup was missing.
I also unified the console.log string from console.log("hello") to console.log('Hello') so any plugin page look the same.
* Added AppMinimize plugin
* promisse
* usage
* typo(barcode-scanner): fixe circle lint error
* typo(docs): Unified the documentations
In some plugins the typescript markup was missing.
I also unified the console.log string from console.log("hello") to console.log('Hello') so any plugin page look the same.
* Initial commit
- added Plugin infos
- added methods
* Added Interface
* Implemented all methods
* fixed retun types
TODO: Improve Interface Docs
* Interface discription
Still needs some improvements
* typo(barcode-scanner): fixe circle lint error
* typo(docs): Unified the documentations
In some plugins the typescript markup was missing.
I also unified the console.log string from console.log("hello") to console.log('Hello') so any plugin page look the same.
* initial commit
Added wrapper
* Added usage guide
* Added parms
* refactor(diagnostic plugin): update camera API function signatures to support cordova.plugins.diagnostic@3.6.0. See 515317e89a
* fix(diagnostic plugin): fix whitespace linting errors in previous commit
* * fix(diagnostic plugin): add callback indices to Cordova decorator in camera API so externalStorage parameter can be optionally omitted.
See https://github.com/driftyco/ionic-native/pull/1458#issuecomment-299030833
* fix(diagnostic plugin): fix incorrect return type on getCameraRollAuthorizationStatus()
I struggled to figure out what options I had for target until I read them from the github repo.
I'm assuming that the documentation is generated from the comments and I think addition clarifies the intent of `target` a bit.
* typo(barcode-scanner): fixe circle lint error
* typo(docs): Unified the documentations
In some plugins the typescript markup was missing.
I also unified the console.log string from console.log("hello") to console.log('Hello') so any plugin page look the same.
The function never returns an object of MediaObject. The onSuccess callback is wrongly used to return the object. In fact, onSuccess/onError callbacks are only invoked after the current play, record, or stop action is called.
ShareViaEmail parameter for providing email "must be null or an array" because it's type is "string:[]" and the provided syntax is wrong, so i have updated that syntax.
I made changes to cordova-plugin-health to accept the following array as datatypes. Earlier it was just an array of strings. Now it also contains an object with `read` and `write` array.
```
[
'calories', 'distance', //read and write permissions
{
read : ['steps'], //read only permission
write : ['height', 'weight'] //write only permission
}
]
```
Don't know how to specify this array in typescript so just replaced by 'any'
The sample code does not work...this change returns the observable first with subscribe() before actually calling the Observable's subscribe method.
In fact, the way it's written in the example, the code would not build because of typescript errors.
remove the dash "import { AdMob, AdMobOptions, AdSize, AdExtras } from '@ionic-native/ad-mob';" to import { AdMob, AdMobOptions, AdSize, AdExtras } from '@ionic-native/admob' because typescript will not import the specified clases
* Initial plugin pass
* Remove unneeded imports, or else plugins will not build.
* Add try-catch blocks.
Applications will not bomb if the plugin is not installed or user is running in browser.
* handle missing intel variable.
* Add documentation
* Conform to Cordova decorators.
* Add IntelSecurityDataOptions
* Update plugin to use plain `return` method statements.
* Better conform to Ionic Native
* feat(push): plugin is now instance based
no more callbacks
closes#250
* fix(push): fix typo in PushEvents enum
* fix constructor
* feat(push): add subscribe/unsubscribe
fixes#861
* First try
* Moving to modules
* Removed
* Moving things aroudn
* tsconfig for plugins
* Plugin tsconfigs
* Core kind of buidls
* Core
* Plugin tsconfig
* Test
* Remove core
* Build
* Individual packages
* Build and push
* Some stuff
* Bump
* Update core-package.json.template
* Update plugin-package.json.template
* 3.0.0
* Working on injectable
* Updates
* Checkpoint
* More stuff
* Remove duplicate injectables
* Remove lots of static stuff with a fancy regex
* Fix build errors
* chore(): nodejs build script
* chore(): move fs-extra-promise to devDeps
* feat(): make instance based plugins injectable
* Cleanup
* chore(build): convert dependencies to peer dependencies
* chore(build): add auto install scripts (#1059)
* feat(core): auto install scripts
* minor fixes
* minor fixes
* remove prompt message
* fix(plugins): rename packages/classes
* rename google maps
* gulp task to generate readme files
* readme templates
* automating readme file generation and adding it to CI
# Conflicts:
# src/@ionic-native/plugins/googlemap/index.ts
# src/@ionic-native/plugins/inappbrowser/index.ts
# src/@ionic-native/plugins/media/index.ts
# src/@ionic-native/plugins/sqlite/index.ts
* outputting readmes to dist dir instead of src
* updating package name in usage instructions
* chore(): ngc build
* fix build
* 3.0.1-0
* 3.1.0-alpha.1
* fix AoT support and add publish script
* 3.1.0-alpha.2
* edit publish command
* remove alpha tag
* remove auto-install and cleanup
* 3.1.0-alpha.3
* remove utils from publish command
* refactor(): remove some prefixes
* remove console logs
closes#1145
* chore(): merge master into v3-injectable (#1146)
* 2.5.0
* chore(): update changelog
* fix(pin-dialog): add missing errorIndex
* 2.5.1
* chore(): update changelog
* fix(zip): progress callback is optional (#1049)
* fix(apprate): add missing Windows Store option (#1072)
* Update file-chooser.ts (#1071)
Removed semicolon after .then() in usage instructions
* docs(device-motion): update interface names (#1076)
AccelerationData interface is wrongly named in docs. It should be DeviceMotionAccelerationData. And I added it to import statement.
* feat(inappbrowser): add interface for IAB options (#1065)
* Add InAppBrowserOptions Interface for better tooling.
* feat(inappbrowser): add interface for IAB options
* Add more constructor tests.
* Add missing iOS options.
* docs(media): update method usage (#1089)
* fix(push): add the missing option clearBadge (#1087)
* docs(badge): fix example (#1096)
Error in code example (supplied parameters do not match call signature)
* fix(imagepicker): add outputType option (#1098)
* fix(facebook): fixes issue when not supplying default params (#1088)
* Fix default facebook logEvent parameters
* Implement correct parameters format in facebook logEvent method
* Update ibeacon.ts (#1099)
Return type of `getAuthorizationStatus()` made more explicit.
* fix(file): add missing exports (#1101)
Any declaration that is not being exported is missing from the resulting d.ts declaration files.
* Add InAppBrowserOptions interface to documentation. (#1103)
* Update sqlite.ts (#1106)
Added a bracket to remove the syntax error
* update device orientation docs to reflect renaming of CompassHeading interface (#1107)
* Move marker code inside MAP_READY (#1108)
The code to set the camera position and marker should be moved inside the function handling MAP_READY. Otherwise they execute before the event is fired and it doesn't work.
* refactor(file): accept ArrayBuffer for data to write (#1109)
* docs(google-maps): fix param type
closes#1110
* fix(media): add missing pauseRecord and resumeRecord methods (#1122)
* docs(stripe): fix type and naming issues (#1129)
* refactor(paypal): fix type of items (#1125)
Type of items should be Array<PayPalItem> instead of string.
* fix(serial): Serial.requestPermission() options are optional (#1128)
* add success/error indices
* feat(browser-tab): add browser tab plugin (#1126)
* feature: added hasPermission function to Firebase fixes#1115
* feat: Implemented support for BrowserTab #1077
* docs(browser-tab): add proper docs
* fix(background-geolocation): configure returns a promise
closes#1118
* docs(background-geolocation): add return types and platforms
* fix(contacts): allow passing asterisk as contact field type
closes 1093
* fix(contacts): allow passing asterisk as contact field type
closes#1093
* fix(plugin): revert changes to support stable version (#1116)
fix#1001
* feat(file): add system paths
* feat(app-update): add cordova-plugin-app-update support (#1105)
* add new app-update plugin
* update plugin info
* docs(app-update): add docs
* feat(alipay): add alipay support. (#1097)
* add cordova-alipay-base plugin. to support Alipay payment
* change ALI_PID to APP_ID, make it same with the latest SDK
* rewrite comments
* docs(google-maps): improve docs (#1095)
Move `map.moveCamera(position);` inside the MAP_READY event.
Allow to zoom the map on first launch (both iOS and Android).
* fix(file): remove FileError from return type (#1086)
Promises that reject with a `FileError` are not of the type `Promise<T|FileError>`, but `Promise<T>`.
The previous declarations of `Promise<T|FileError>` would break typing further down the chain where you are trying to use the value that the typing says could be `T|FileError` but in reality could only be `T`.
* feat(google-maps): add constant for map type
* fix(file): platform Browser will raise a an DOMException (#1082)
fix(File): Platform Browser will raise a an DOMException on resoleLocalFilesystemUrl and tries to write on readonly property DOMException err.message in fillErrorMessage
* feat(local-notifications): support for icon background color (#1079)
The Cordova plugin Ionic Natives uses allows specifying the background color of the smallIcon. By not including it in your interface you force users to use the default color for their version of Android. While the LocalNotification plugin is not well documented, it does include this feature, see Options.java line 253:
```
/**
* @return
* The notification background color for the small icon
* Returns null, if no color is given.
*/
public int getColor() {
String hex = options.optString("color", null);
if (hex == null) {
return NotificationCompat.COLOR_DEFAULT;
}
int aRGB = Integer.parseInt(hex, 16);
return aRGB + 0xFF000000;
}
```
I've simply added the option to the interface as well as a short description.
This lets you go from the default color (varies by Android version): https://goo.gl/photos/nERcj4GZgapy8aee9
To any color you'd like: https://goo.gl/photos/t8V9WVba8jDU49aHA
And also works if you also specify a large icon: https://goo.gl/photos/gWQYwa12djmdXfYcA
* feat(unique-device-add): add UniqueDeviceId plugin (#1064)
* fix plugin
* feat(text-to-speech): Add stop method (#1063)
https://github.com/vilic/cordova-plugin-tts/pull/32
* feat(appodeal): adds Appodeal SDK wrappers for iOS and Android (#1031)
* feat(Appodeal) bootrapping
* starting docs
* more docs
* feat(appodeal): add event Observables
* feat(appodeal): replace Cordova Observable events with #.fromEvent()
* feat(appodeal): update decorator metadata
* feat(couchbase-lite): add CouchbaseLite cordova plugin (#1025)
* feat(CouchbaseLite): add CouchbaseLite cordova plugin
* add plugin url
* feat(background-fetch): Adding Background Fetch requested in #990 (#1013)
* Adding Background Fetch (https://github.com/transistorsoft/cordova-plugin-background-fetch) requested in #990
* Adding BackgroundFetch to index
* feat(gyroscope): add Gyroscope plugin (#1004)
* add gyroscope.ts to plugins
* add gyroscope to index
* Update gyroscope.ts
* Update gyroscope.ts
* Revert "fix(File): typing where `FileError` can be thrown" (#1130)
* tslint and fix build issues
* 2.6.0
* chore(): update changelog
* fix(core): dont check if method exists when overriding
fixes#1043
* fix(file): fix writeExistingFile
closes#1044
* feat(diagnostic): add new methods
closes#1045
* feat(background-mode): replace event listeners with on method
The methods onactivate, ondeactive and onfailure no longer exist. You must now use `on` method.
* feat(background-mode): add missing functions
closes#1078
* tslint
* set GoogleMapsMapTypeId to private
* remove beta from stripe
* 2.7.0
* chore(): update changelog
* feat(app-preferences): added cordova-plugin-app-preferences support (#1084)
* (feat) added cordova-plugin-app-preferences support
* replaced callback functions with promises
* updated example
* (feat) added cordova-plugin-browsertab support
* Revert "(feat) added cordova-plugin-browsertab support"
This reverts commit 00eb5cf5d8.
* (update) synchronize fetch
* feat(photo-library): added cordova-plugin-photo-library (#1102)
* feat(photo-library): added cordova-plugin-photo-library
* CordovaFiniteObservable moved to photo-library.
Overloads are marked as private.
* refactor(photo-library): fixed circleci failing in 2.7.0 (#1132)
* feat(photo-library): added cordova-plugin-photo-library
* CordovaFiniteObservable moved to photo-library.
Overloads are marked as private.
* fixed typescript error in 2.7.0
* feat(health): add wrapper for cordova-plugin-health (#1039)
* feat(health): add wrapper for cordova-plugin-health
* fix(Health): add optional params to QueryOptions for .query()
* docs(health): fix javadoc of interfaces
* fix(health): remove unused Plugin option
* docs(health): add missing documentation
* doc(health): add promise to return
* doc(health): remove empty lines
* doc(health): Add description & reference to repo
* doc(health: add "return {Promise<any>}"
* refactor(safari-view-controller): hide returns promise
* fix typo in ibeacon plugin (#1138)
* fix(file): fix return types
fixes#1139
* docs(background-geolocation): fix param docs
* refactor(health): fix return types and prefix interfaces
* 2.8.0
* chore(): update changelog
* docs(sqlite): syntax error resolved (#1142)
* Syntax error resolved
The `{}` should be `[]`, but since there is no binding we do not get error. In case we add one, then the syntax will be incorrect.
* Fixed a syntax error
* fix(background-geolocation): configure returns an observable
* docs(): update docs
* 3.1.0-rc.1
* refactor(background-geolocation): update imports
* docs(background-fetch): fix return type
* docs(health): fix return type
* chore(CI): fixing npm install instructions in generated readmes
* set concurrency to number of cores
* chore(): update deps
* 3.1.0-rc.2
* chore(): update angular to 2.4.8
* 3.1.0-rc.3
* chore(): update angular to 2.4.8
* chore(): update rxjs to 5.0.1
* chore(): organize and enhance decorators (#1171)
* fix/add decorators
* fix google maps design
* chore(): add root tsconfig to resolve imports in IDE
* updates
* more fixes
* chore(): add options to InstanceCheck
* chore(decorators): promise is default for Cordova/Instance check
* chore(): add check decroators
* docs(): update plugin docs
* chore(decorators): fix cordovaCheck and instanceCheck
* 3.1.0-rc.4
* chore(docs): remove gitPackage from doc generator
* chore(docs): update to latest dgeni version
* fix diagnostic
* feat(media): create method now returns a promise
Breaking change: create no longer returns a MediaObject instance. Make changes to your app accordingly.
* docs update + remove any static methods/properties
* remove duplicate method
* remove extra docs
* remove extra docs
* docs(): rename plugins
* chore(decorators): do not check method name on instancecheck
* chore(decorators): do not check method name on cordovacheck
* chore(plugin): fix pluginWarn
* chore(plugin): fix pluginWarn
* fix(decorators): fix InstanceCheck decorator
* 3.1.0-rc.5
* chore(docs): fix readme generation
* fix(transfer): fix v3 implementation
* refactor(paypal): PayPal is brand name
* chore(docs): replace all spaces with dashes
* chore(): add dashify filter
* chore(build): add aot path to core tsconfig
* feat(action-sheet): add ANDROID_THEMES constant
* refactor(): general cleanup (#1193)
* feat(screen-orientation): update wrapper to match v2 of the plugin
The whole implementation has changed now. You must update your code.
* feat(stripe): add new methods
* feat(linkedin): add LinkedIn plugin
* 3.1.0-rc.6
* style(screen-orientation): double quote to single
* tslint
* refactor(pedometer): rename file to index
* Syntax error resolved
The `{}` should be `[]`, but since there is no binding we do not get error. In case we add one, then the syntax will be incorrect.
* Fixed a syntax error
* feat(photo-library): added cordova-plugin-photo-library
* CordovaFiniteObservable moved to photo-library.
Overloads are marked as private.
* fixed typescript error in 2.7.0
The Cordova plugin Ionic Natives uses allows specifying the background color of the smallIcon. By not including it in your interface you force users to use the default color for their version of Android. While the LocalNotification plugin is not well documented, it does include this feature, see Options.java line 253:
```
/**
* @return
* The notification background color for the small icon
* Returns null, if no color is given.
*/
public int getColor() {
String hex = options.optString("color", null);
if (hex == null) {
return NotificationCompat.COLOR_DEFAULT;
}
int aRGB = Integer.parseInt(hex, 16);
return aRGB + 0xFF000000;
}
```
I've simply added the option to the interface as well as a short description.
This lets you go from the default color (varies by Android version): https://goo.gl/photos/nERcj4GZgapy8aee9
To any color you'd like: https://goo.gl/photos/t8V9WVba8jDU49aHA
And also works if you also specify a large icon: https://goo.gl/photos/gWQYwa12djmdXfYcA
fix(File): Platform Browser will raise a an DOMException on resoleLocalFilesystemUrl and tries to write on readonly property DOMException err.message in fillErrorMessage
Promises that reject with a `FileError` are not of the type `Promise<T|FileError>`, but `Promise<T>`.
The previous declarations of `Promise<T|FileError>` would break typing further down the chain where you are trying to use the value that the typing says could be `T|FileError` but in reality could only be `T`.
The code to set the camera position and marker should be moved inside the function handling MAP_READY. Otherwise they execute before the event is fired and it doesn't work.
Adding a link to **cordova plugin file** for ease of understanding file management using cordova.
It took me almost a day to figure out how to properly save things like a pdf/image in a publicly accessible directory. Having a link to the main **cordova file** documentation will save a lot of time.
#### There are no rules, but here are a few things to consider:
###### Before you submit an issue:
* Do a quick search to see if there are similar issues
* Make sure that you are waiting for `deviceready` to fire before interacting with any plugin. If you are using Ionic 2, this can be done using [the `Platform.ready()` function](http://ionicframework.com/docs/v2/api/platform/Platform/#ready).
* **Check that you are using the latest version of** `ionic-native`, you can install the latest version by running `npm i --save ionic-native@latest`
* Make sure that you are waiting for `deviceready` to fire before interacting with any plugin. If you are using Ionic, this can be done using [the `Platform.ready()` function](http://ionicframework.com/docs/api/platform/Platform/#ready).
* **Check that you are using the latest version of** `ionic-native`, you can install the latest version by running `npm i --save @ionic-native/core@latest`
###### Still having problems? submit an issue with the following details:
* Short description of the issue
@@ -16,4 +16,4 @@
## Feature request?
Have a plugin you'd like to see supported? Since Ionic Native is a thin wrapper around existing Cordova plugins, adding support for new plugins is as easy as creating a new wrapper for whatever plugin you'd like to add.
Take a look at our [Developer Guide](https://github.com/driftyco/ionic-native/blob/master/DEVELOPER.md) for more info on adding new plugins.
Take a look at our [Developer Guide](https://github.com/ionic-team/ionic-native/blob/master/DEVELOPER.md) for more info on adding new plugins.
- [ ] support request => Please do not submit support requests here, use the discussions section https://github.com/danielsogl/awesome-cordova-plugins/discussions
**Current behavior:**
<!-- Describe how the bug manifests. -->
**Expected behavior:**
<!-- Describe what the behavior would be without the bug. -->
**Steps to reproduce:**
<!-- If you are able to illustrate the bug or feature request with an example, please provide steps to reproduce. -->
**Related code:**
```
insert any relevant code here
```
**Other information:**
<!-- List any other information that is relevant to your issue. Stack traces, related issues, suggestions on how to fix, Stack Overflow links, forum links, etc. -->
**Ionic info:** (run `ionic info` from a terminal/cmd prompt and paste output below):
As contributors and maintainers of the Ionic project, we pledge to respect everyone who contributes by posting issues, updating documentation, submitting pull requests, providing feedback in comments, and any other activities.
Communication through any of Ionic's channels (GitHub, Slack, Forum, IRC, mailing lists, Twitter, etc.) must be constructive and never resort to personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
We promise to extend courtesy and respect to everyone involved in this project regardless of gender, gender identity, sexual orientation, disability, age, race, ethnicity, religion, or level of experience. We expect anyone contributing to the Ionic project to do the same.
If any member of the community violates this code of conduct, the maintainers of the Ionic project may take action, removing issues, comments, and PRs or blocking accounts as deemed appropriate.
If you are subject to or witness unacceptable behavior, or have any other concerns, please email us at [hi@ionicframework.com](mailto:hi@ionicframework.com).
This is a short guide on creating new plugin wrappers for Ionic Native.
## Creating Plugin Wrappers
First, let's start by creating a new plugin wrapper from template.
```
// Call this command, and replace PluginName with the name of the plugin you wish to add
// Make sure to capitalize the first letter, or use CamelCase if necessary.
gulp plugin:create -n PluginName
// add -m flag to get a minimal template to start with
gulp plugin:create -m -n PluginName
```
Running the command above will create a new directory `src/@ionic-native/plugins/plugin-name/` with a single file in there: `index.ts`. This file is where all the plugin definitions should be.
Let's take a look at the existing plugin wrapper for Geolocation to see what goes into an Ionic Native plugin (comments have been removed for clarity):
@@ -22,17 +25,18 @@ Let's take a look at the existing plugin wrapper for Geolocation to see what goe
First and foremost, we want to create a class representing our plugin, in this case Geolocation.
```
@Injectable()
class Geolocation {
}
@@ -57,6 +62,7 @@ For example, the `@Plugin` decorator adds information about the plugin to our Ge
plugin: 'cordova-plugin-geolocation',
pluginRef: 'navigator.geolocation'
})
@Injectable()
export class Geolocation {
}
@@ -64,7 +70,7 @@ export class Geolocation {
Here, `plugin` is the name of the plugin package on npm and used when calling `cordova plugin add`.
`pluginRef` refers to the where on `window` the underlying Cordova plugin is normally exposed. For example, in the case of the Cordova Geolocation plugin, normally you would make calls like `window.navigator.geolocation.getCurrentPosition({}, success, error)`, so the `pluginRef` in this case is `navigator.geolocation`.
`pluginRef` refers to the where on `window` the underlying Cordova plugin is normally exposed. For example, in the case of the Cordova Geolocation plugin, normally you would make calls like `window.navigator.geolocation.getCurrentPosition({}, success, error)`, so the `pluginRef` in this case is `navigator.geolocation`.
#### Class Methods
@@ -74,14 +80,12 @@ Let's take a look at `getCurrentPosition` first.
It's just a stub. The `return` is only there to keep the TypeScript type-checker from complaining since we indicate that `getCurrentPosition` returns a `Promise<Geoposition>`.
By default, the `@Cordova` decorator wraps the plugin callbacks in a Promise that resolves when the success callback is called and rejects when the error callback is called. It also ensures that Cordova and the underlying plugin are available, and prints helpful diagnostics if they aren't.
You'll also notice that `getCurrentPosition` is a static method. That's because the plugin class is just a utility class to call the underlying Cordova plugin methods, it's not an instance and has no state.
By default, the `@Cordova` decorator wraps the plugin callbacks in a Promise that resolves when the success callback is called and rejects when the error callback is called. It also ensures that Cordova and the underlying plugin are available, and prints helpful diagnostics if they aren't.
Next, let's look at the `watchPosition` method.
@@ -91,80 +95,28 @@ Next, let's look at the `watchPosition` method.
The `@Cordova` decorator has a few more options now.
`observable` indicates that this method may call its callbacks multiple times, so `@Cordova` wraps it in an [`Observable`](https://github.com/driftyco/ionic-native#promises-and-observables) instead of a Promise.
`observable` indicates that this method may call its callbacks multiple times, so `@Cordova` wraps it in an [`Observable`](https://github.com/ionic-team/ionic-native#promises-and-observables) instead of a Promise.
`callbackOrder` refers to the method signature of the underlying Cordova plugin, and tells Ionic Native which arguments are the callbacks to map to the wrapping Promise or Observable. In this case, the signature is [`watchPosition(success, error, options)`](https://github.com/apache/cordova-plugin-geolocation#navigatorgeolocationwatchposition), so we need to tell `@Cordova` that the callbacks are the first arguments, not the last arguments. For rare cases, you can also specify the options `successIndex` and `errorIndex` to indicate where in the argument list the callbacks are located.
`callbackOrder` refers to the method signature of the underlying Cordova plugin, and tells Ionic Native which arguments are the callbacks to map to the wrapping Promise or Observable. In this case, the signature is [`watchPosition(success, error, options)`](https://github.com/apache/cordova-plugin-geolocation#navigatorgeolocationwatchposition), so we need to tell `@Cordova` that the callbacks are the first arguments, not the last arguments. For rare cases, you can also specify the options `successIndex` and `errorIndex` to indicate where in the argument list the callbacks are located.
`clearFunction` is used in conjunction with the `observable` option and indicates the function to be called when the Observable is disposed.
### Updating index.ts
For new plugins, you will need to update `/src/index.ts` to properly export your plugin and make it available for use.
1. Import the plugin class into `index.ts`:
`import {PluginClassName} from ./plugins/filenameForPlugin`
No need to put the `.ts` extension on the filename.
2. Add the plugin class name to the list in the `export` object:
```
export {
ActionSheet,
AdMob,
AndroidFingerprintAuth,
YourPluginClassName,
...
}
```
3. Add the plugin class name to the `window['IonicNative']` object:
```
window['IonicNative'] = {
ActionSheet: ActionSheet,
AdMob: AdMob,
AndroidFingerprintAuth: AndroidFingerprintAuth,
YourPluginClassName: YourPluginClassName,
...
```
4. If your plugin exports any other objects outside of the plugin class, add an export statement for the file:
`export * from './plugins/filenameForPlugin';`
No need to put the `.ts` extension on the filename.
For example, `googlemaps.ts` exports a const outside of the plugin's main `GoogleMap` class:
```
export const GoogleMapsAnimation = {
BOUNCE: 'BOUNCE',
DROP: 'DROP'
};
```
To properly export `GoogleMapsAnimation`, `index.ts` is updated with:
`export * from './plugins/googlemaps';`
### Testing your changes
You need to run `npm run build` in the `ionic-native` project, this will create a `dist` directory. Then, you must go to your ionic application folder and replace your current `node_modules/ionic-native/dist/` with the newly generated one.
You need to run `npm run build` in the `ionic-native` project, this will create a `dist` directory. The`dist` directory will contain a sub directory `@ionic-native` with all the packages compiled in there. Copy the package(s) you created/modified to your app's node_modules under the `@ionic-native` directory. (e.g. `cp -r dist/@ionic-native/plugin-name ../my-app/node_modules/@ionic-native/`).
### Cleaning the code
You need to run `npm run lint` to analyze the code and ensure it's consistency with the repository style. Fix any errors before submitting a PR.
You need to run `npm run lint` to analyze the code and ensure its consistency with the repository style. Fix any errors before submitting a PR.
### 'Wrapping' Up
That's it! The only thing left to do is rigorously document the plugin and it's usage. Take a look at some of the other plugins for good documentation styles.
That's it! The only thing left to do is rigorously document the plugin and its usage. Take a look at some of the other plugins for good documentation styles.
## Commit Message Format
@@ -173,24 +125,109 @@ We have very precise rules over how our git commit messages can be formatted. Th
`type(scope): subject`
#### Type
Must be one of the following:
* **fix**: A bug fix
* **feat**: A new feature
* **docs**: Documentation only changes
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
* **refactor**: A code change that neither fixes a bug nor adds a feature
* **perf**: A code change that improves performance
* **test**: Adding missing tests
* **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation
- **fix**: A bug fix
- **feat**: A new feature
- **docs**: Documentation only changes
- **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
- **refactor**: A code change that neither fixes a bug nor adds a feature
- **perf**: A code change that improves performance
- **test**: Adding missing tests
- **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation
#### Scope
The scope could be anything specifying place of the commit change. For example, the name of the plugin being changed
#### Subject
The subject contains succinct description of the change:
* use the imperative, present tense: "change" not "changed" nor "changes"
* do not capitalize first letter
* do not place a period (.) at the end
* entire length of the commit message must not go over 50 characters
- use the imperative, present tense: "change" not "changed" nor "changes"
- do not capitalize first letter
- do not place a period (.) at the end
- entire length of the commit message must not go over 50 characters
### Ionic Native Decorators
#### Plugin
A decorator to wrap the main plugin class, and any other classes that will use `@Cordova` or `@CordovaProperty` decorators. This decorator accepts the following configuration:
- _pluginName_: Plugin name, this should match the class name
- _plugin_: The plugin's NPM package, or Github URL if NPM is not available.
- _pluginRef_: The plugin object reference. Example: 'cordova.file'.
- _repo_: The plugin's Github Repository URL
- _install_: (optional) Install command. This is used in case a plugin has a custom install command (takes variables).
- _platforms_: An array of strings indicating the supported platforms.
#### Cordova
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
- **callbackOrder**: set to `reverse` if the success and error callbacks are the first two arguements of the method
- **callbackStyle**: set to `node` if the plugin has one callback with a node style (e.g: `function(err, result){}`), or set to `object` if the callbacks are part of an object
- **successName**: Success function property name. This must be set if callbackStyle is set to object.
- **errorName**: Error function property name. This must be set if callbackStyle is set to object.
- **successIndex**: Set a custom index for the success callback function. This doesn't work if callbackOrder or callbackStyle are set.
- **errorIndex**: Set a custom index for the error callback function. This doesn't work if callbackOrder or callbackStyle are set.
- **eventObservable**: set to true to return an observable that wraps an event listener
- **event**: Event name, this must be set if eventObservable is set to true
- **element**: Element to attach the event listener to, this is optional, defaults to `window`
- **otherPromise**: Set to true if the wrapped method returns a promise
- **platforms**: array of strings indicating supported platforms. Specify this if the supported platforms doesn't match the plugin's supported platforms.
Example:
```ts
@Cordova()
someMethod():Promise<any>{return;}
@Cordova({sync: true})
syncMethod():number{}
```
#### CordovaProperty
Checks if the plugin and property exist before getting/setting the property's value
Example:
```ts
@CordovaProperty()
someProperty: string;
```
#### CordovaCheck
Checks if the plugin exists before performing a custom written method. By default, the method will return a promise that will reject with an error if the plugin is not available. This wrapper accepts two optional configurations:
- **observable**: set to true to return an empty Observable if the plugin isn't available
- **sync**: set to true to return nothing if the plugin isn't available
Example:
```ts
@CordovaCheck()
someMethod():Promise<any>{
// anything here will only run if the plugin is available
}
```
#### CordovaFunctionOverride
Wrap a stub function in a call to a Cordova plugin, checking if both Cordova and the required plugin are installed.
Awesome Cordova Plugins is a curated set of wrappers for Cordova plugins that make adding any native functionality you need to your [Ionic](https://ionicframework.com/) mobile app easy.
Ionic Native is a curated set of wrappers for Cordova plugins that make adding any native functionality you need to your [Ionic](http://ionicframework.com/), Cordova, or Web View mobile app easy.
Awesome Cordova Plugins wraps plugin callbacks in a Promise or Observable, providing a common interface for all plugins and making it easy to use plugins with Angular change detection.
### Documentation
To learn more about the reasons why Ionic Native was renamed to Awesome Cordova Plugins, read the official [Ionic blog](https://ionicframework.com/blog/a-new-chapter-for-ionic-native/) post by Max Lyncht.
For the full Ionic Native documentation, please visit [http://ionicframework.com/docs/v2/native/](http://ionicframework.com/docs/v2/native/).
## Capacitor Support
### Promises and Observables
In addition to Cordova, Awesome Cordova Plugins also works with [Capacitor](https://capacitorjs.com), Ionic's official native runtime. Basic usage below. For complete details, [see the Capacitor documentation](https://capacitorjs.com/docs/v2/cordova/using-cordova-plugins).
Ionic Native wraps plugin callbacks in a Promise or [Observable](https://gist.github.com/staltz/868e7e9bc2a7b8c1f754), providing a common interface for all plugins and ensuring that native events trigger change detection in Angular 2.
## Installation
```
import { Geolocation } from 'ionic-native';
Run following command to install Awesome Cordova Plugins in your project.
You also need to install the Awesome Cordova Plugins package for each plugin you want to add. Please see the [Awesome Cordova Plugins documentation](https://ionicframework.com/docs/native/) for complete instructions on how to add and use the plugins.
Ionic Native works as a stand-in for [ngCordova](http://ngcordova.com/). In many cases, the usage is identical, but we import `ionic.native` instead of `ngCordova` as our module.
## Documentation
As a rule of thumb: take the ES6 class name of the plugin and add `$cordova` to get the service name. For example, `Geolocation` would be `$cordovaGeolocation`, and `Camera` will be `$cordovaCamera`:
For the full Awesome Cordova Plugins documentation, please visit [https://ionicframework.com/docs/native/](https://ionicframework.com/docs/native/).
These modules can work in any ES2015+/TypeScript app (including Angular/Ionic apps). To use any plugin, import the class from the appropriate package, and use it's static methods.
console.log('Error occurred while taking a picture',err);
}
);
});
```
### Mocking and Browser Development (Ionic/Angular apps only)
Awesome Cordova Plugins makes it possible to mock plugins and develop nearly the entirety of your app in the browser or in `ionic serve`.
To do this, you need to provide a mock implementation of the plugins you wish to use. Here's an example of mocking the `Camera` plugin to return a stock image while in development:
First import the `Camera` class in your `src/app/app.module.ts` file:
Spent way too long diagnosing an issue only to realize a plugin wasn't firing or installed? Ionic Native lets you know what the issue is and how you can resolve it.
Run following commmand to install ionic-native in your project.
```
npm install ionic-native --save
```
Spent way too long diagnosing an issue only to realize a plugin wasn't firing or installed? Awesome Cordova Plugins lets you know what the issue is and how you can resolve it.
Let us know or submit a PR! Take a look at [the Developer Guide](https://github.com/driftyco/ionic-native/blob/master/DEVELOPER.md) for more on how to contribute. :heart:
Let us know or submit a PR! Take a look at [the Developer Guide](https://github.com/danielsogl/awesome-cordova-plugins/blob/master/DEVELOPER.md) for more on how to contribute. :heart:
**1\) Use the** [**Ionic CLI**](https://ionicframework.com/docs/cli) **to add/update/delete plugins.**
Instead of directly editing `config.xml` and `package.json`. Use `ionic` in front of Cordova commands for a better experience and additional functionality \(`ionic cordova build ios` instead of `cordova build ios`\).
**2\) Upgrade plugins by removing, then re-adding them.**
**4\) Restore Cordova in an existing Ionic project**
Useful when adding new developers to a project. `ionic cordova prepare` restores platforms and plugins from `package.json` and `config.xml`. The version to be installed is taken from `package.json` or `config.xml`, if found in those files. In case of conflicts, `package.json` is given precedence over `config.xml`.
**5\) Troubleshoot Cordova issues with Ionic CLI commands**
*`ionic doctor list`: Detects [common issues](https://ionicframework.com/docs/cli/commands/doctor-list) and suggests steps to fix them
*`ionic repair`: Remove, then [regenerate](https://ionicframework.com/docs/cli/commands/repair) all dependencies
### [Understanding Version Numbers](https://ionicframework.com/docs/native/community#understanding-version-numbers) <a id="understanding-version-numbers"></a>
For any given Ionic Native plugin, the Ionic Native \(TypeScript code\) and Cordova \(native code\) version numbers will not match. The Ionic Native version number is found in `package.json`:
```text
"@ionic-native/camera": "^5.3.0",
```
CopyCopied
The Cordova plugin version number is found in both `package.json` and `config.xml`:
When checking for new native functionality or bug fixes, look for new versions on the Cordova plugin GitHub page itself \(here's the [Camera one](https://github.com/apache/cordova-plugin-camera), for example\).
To check for new Ionic Native releases \(may include exposing methods recently added by the Cordova plugin, etc.\), see [here](https://github.com/ionic-team/ionic-native/releases).
Plugins can conflict with each other when they share the same underlying native dependencies or when more than one plugin tries to access the same native code at once. For example, common libraries like the Google Play Services version \(Google Maps is using GPS v24.2 but Firebase wants GPS v27.1\). Keeping these plugins updated regularly can help with this.
Another tip is to ensure that your app uses only one plugin per specific feature/functionality \(example: Push Notifications\).
The most Ionic stable apps are routinely updated, especially at the native layer. Keeping native plugins up to date ensures your project has the latest security fixes, new features, and improved performance.
Update your project's plugins one at a time, ideally in separate code branches. This reduces the surface area that issues can arise from - if you update everything in your project at once, it's sometimes hard to tell where the problem stems from.
#### [When should I update?](https://ionicframework.com/docs/native/community#when-should-i-update-) <a id="when-should-i-update-"></a>
* When a new feature/bug is released: Run `npm outdated` to see a list of available updates.
* When new major versions are released: Official blogs, such as the [Cordova blog](https://cordova.apache.org/blog/)and [Ionic blog](https://ionicframework.com/blog/), will publish announcements and news.
* Evaluate the nature of the update: is it a shiny new feature or critical security fix?
* Timing: Where does it fit in against your team's project goals?
[Apache Cordova](https://cordova.apache.org/) is an open source native runtime that allows developers to build native mobile apps with HTML, CSS, and JavaScript. Similar to [Capacitor](https://capacitorjs.com/), Ionic’s own native runtime, Cordova allows developers to access native device features, such as camera, keyboard, and geolocation, using a system of plugins. A plugin is a small amount of add-on code that provides JavaScript interface to native components. They allow your app to use native device capabilities beyond what is available to pure web apps.
For developers using Ionic with Cordova, our team has developed a collection of TypeScript wrappers for open source Cordova plugins that make it easy to add native functionality to any Ionic app. See [Ionic Native](https://github.com/ionic-team/ionic-native).
These plugins are submitted and maintained by the Ionic community. While community members are generally quick to find and fix issues, certain plugins may not function properly.
For professional developers and teams that require dedicated native plugin support & SLAs, ongoing maintenance, and security patches, please explore our [premium options](https://ionicframework.com/native), including plugin support and pre-built solutions for common native use cases.
> These docs are for apps built with Ionic Framework 4.0.0 and greater. For older Ionic v3 projects, please [see here](https://ionicframework.com/docs/v3/native).
In addition to Cordova, Ionic Native also works with [Capacitor](https://capacitor.ionicframework.com/), Ionic's official native runtime. Basic usage below. For complete details, [see the Capacitor documentation](https://capacitor.ionicframework.com/docs/cordova/using-cordova-plugins).
All plugins have two components - the native code \(Cordova\) and the TypeScript code \(Ionic Native\). Cordova plugins are also wrapped in a `Promise` or `Observable` in order to provide a common plugin interface and modernized development approach.
Using the [Camera plugin](https://ionicframework.com/docs/native/camera) as an example, first install it:CORDOVACAPACITOR
```text
// Install Cordova plugin
$ ionic cordova plugin add cordova-plugin-camera
// Install Ionic Native TypeScript wrapper
$ npm install @ionic-native/camera
// Install Ionic Native core library (once per project)
$ npm install @ionic-native/core
```
Next, begin using the plugin, following the various framework usage options below. For FAQ, see [here](https://ionicframework.com/docs/native/faq).
Angular apps can use either Cordova or Capacitor to build native mobile apps. Import the plugin in a `@NgModule` and add it to the list of Providers. For Angular, the import path should end with `/ngx`. Angular's change detection is automatically handled.
```text
// app.module.ts
import { Camera } from '@ionic-native/camera/ngx';
...
@NgModule({
...
providers: [
...
Camera
...
]
...
})
export class AppModule { }
```
CopyCopied
After the plugin has been declared, it can be imported and injected like any other service:
```text
// camera.service.ts
import { Injectable } from "@angular/core";
import { Camera, CameraOptions } from "@ionic-native/camera/ngx";
React apps must use Capacitor to build native mobile apps. However, Ionic Native \(and therefore, Cordova plugins\) can still be used.// Install Core library \(once per project\)npm install @ionic-native/core
Vanilla JavaScript apps, targeting ES2015+ and/or TypeScript, can use either Cordova or Capacitor to build native mobile apps. To use any plugin, import the class from the appropriate package and use its static methods:
```text
import { Camera } from "@ionic-native/camera";
document.addEventListener("deviceready", () => {
Camera.getPicture()
.then((data) => console.log("Took a picture!", data))
.catch((e) => console.log("Error occurred while taking a picture", e));
The ActionSheet plugin shows a native list of options the user can choose from.
Requires Cordova plugin: `cordova-plugin-actionsheet`. For more info, please see the [ActionSheet plugin docs](https://github.com/EddyVerbruggen/cordova-plugin-actionsheet).
The ActionSheet plugin shows a native list of options the user can choose from.
Requires Cordova plugin: `cordova-plugin-actionsheet`. For more info, please see the [ActionSheet plugin docs](https://github.com/EddyVerbruggen/cordova-plugin-actionsheet).
Plugin for Google Ads, including AdMob / DFP \(DoubleClick for publisher\) and mediations to other Ad networks.
IMPORTANT NOTICE: this plugin takes a percentage out of your earnings if you profit more than $1,000. Read more about this on the plugin's repo. For a completely free alternative, see [AdMobPro Free](https://github.com/danielsogl/awesome-cordova-plugins/tree/8516b357edaca8fc543713ba99c42cfde0225f86/docs/plugins/admob-free/README.md).
Plugin for Google Ads, including AdMob / DFP (DoubleClick for publisher) and mediations to other Ad networks.
IMPORTANT NOTICE: this plugin takes a percentage out of your earnings if you profit more than $1,000. Read more about this on the plugin's repo. For a completely free alternative, see [AdMobPro Free](../admob-free).
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!
This cordova ionic plugin allows you to perform AES 256 encryption and decryption on the plain text. It's a cross-platform plugin which supports both Android and iOS. The encryption and decryption are performed on the device native layer so that the performance is much faster.
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 user’s 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 customer’s 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/](https://developer.paytm.com/docs/all-in-one-sdk/hybrid-apps/cordova/)
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 user’s 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 customer’s 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/
This plugin enables developers to offer users a true full screen experience in their Cordova and PhoneGap apps for Android. Using Android 4.0+, you can use true full screen in "lean mode", the way you see in apps like YouTube, expanding the app right to the edges of the screen, hiding the status and navigation bars until the user next interacts. This is ideally suited to video or cut-scene content. In Android 4.4+, however, you can now enter true full screen, fully interactive immersive mode. In this mode, your app will remain in true full screen until you choose otherwise; users can swipe down from the top of the screen to temporarily display the system UI.
This plugin enables developers to offer users a true full screen experience in their Cordova and PhoneGap apps for Android.
Using Android 4.0+, you can use true full screen in "lean mode", the way you see in apps like YouTube, expanding the app right to the edges of the screen, hiding the status and navigation bars until the user next interacts. This is ideally suited to video or cut-scene content.
In Android 4.4+, however, you can now enter true full screen, fully interactive immersive mode. In this mode, your app will remain in true full screen until you choose otherwise; users can swipe down from the top of the screen to temporarily display the system UI.
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](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.
This plugin is designed to support Android new permissions checking mechanism.
You can find all permissions here: [https://developer.android.com/reference/android/Manifest.permission.html](https://developer.android.com/reference/android/Manifest.permission.html)
This plugin allows you to check if an app is installed on the user's device. It requires an URI Scheme \(e.g. twitter://\) on iOS or a Package Name \(e.g com.twitter.android\) on Android.
Requires Cordova plugin: cordova-plugin-appavailability. For more info, please see the [AppAvailability plugin docs](https://github.com/ohh2ahh/AppAvailability).
This plugin allows you to check if an app is installed on the user's device. It requires an URI Scheme (e.g. twitter://) on iOS or a Package Name (e.g com.twitter.android) on Android.
Requires Cordova plugin: cordova-plugin-appavailability. For more info, please see the [AppAvailability plugin docs](https://github.com/ohh2ahh/AppAvailability).
App Center Analytics helps you understand user behavior and customer engagement to improve your app. The SDK automatically captures session count and device properties like model, OS version, etc. You can define your own custom events to measure things that matter to you. All the information captured is available in the App Center portal for you to analyze the data.
For more info, please see [https://docs.microsoft.com/en-us/appcenter/sdk/analytics/cordova](https://docs.microsoft.com/en-us/appcenter/sdk/analytics/cordova)
App Center Analytics helps you understand user behavior and customer engagement to improve your app. The SDK automatically captures session count and device properties like model, OS version, etc. You can define your own custom events to measure things that matter to you. All the information captured is available in the App Center portal for you to analyze the data.
For more info, please see [https://docs.microsoft.com/en-us/appcenter/sdk/crashes/cordova](https://docs.microsoft.com/en-us/appcenter/sdk/crashes/cordova)
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](https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-generate-low-memory)
For more info, please see [https://docs.microsoft.com/en-us/appcenter/sdk/other-apis/cordova](https://docs.microsoft.com/en-us/appcenter/sdk/other-apis/cordova)
The AppRate plugin makes it easy to prompt the user to rate your app, either now, later, or never.
Requires Cordova plugin: cordova-plugin-apprate. For more info, please see the [AppRate plugin docs](https://github.com/pushandplay/cordova-plugin-apprate).
The AppRate plugin makes it easy to prompt the user to rate your app, either now, later, or never.
Requires Cordova plugin: cordova-plugin-apprate. For more info, please see the [AppRate plugin docs](https://github.com/pushandplay/cordova-plugin-apprate).
Reads the version of your app from the target build settings.
Requires Cordova plugin: `cordova-plugin-app-version`. For more info, please see the [Cordova App Version docs](https://github.com/whiteoctober/cordova-plugin-app-version).
Reads the version of your app from the target build settings.
Requires Cordova plugin: `cordova-plugin-app-version`. For more info, please see the [Cordova App Version docs](https://github.com/whiteoctober/cordova-plugin-app-version).
Cordova / Phonegap plugin for communicating with HTTP servers. Supports iOS and Android.
Advantages over Javascript requests:
* SSL / TLS Pinning
* CORS restrictions do not apply
* Handling of HTTP code 401 - read more at [Issue CB-2415](https://issues.apache.org/jira/browse/CB-2415)
Note: This plugin extends the pre-existing [cordova-advanced-http-plugin](https://github.com/silkimen/cordova-plugin-advanced-http), we have only added approov functionality on top of it. All credit goes to the actual plugin developer.
iOS Background Fetch Implementation. See: [https://developer.apple.com/reference/uikit/uiapplication\#1657399](https://developer.apple.com/reference/uikit/uiapplication#1657399) iOS Background Fetch is basically an API which wakes up your app about every 15 minutes \(during the user's prime-time hours\) and provides your app exactly 30s of background running-time. This plugin will execute your provided callbackFn whenever a background-fetch event occurs. There is no way to increase the rate which a fetch-event occurs and this plugin sets the rate to the most frequent possible value of UIApplicationBackgroundFetchIntervalMinimum -- iOS determines the rate automatically based upon device usage and time-of-day \(ie: fetch-rate is about ~15min during prime-time hours; less frequently when the user is presumed to be sleeping, at 3am for example\). For more detail, please see [https://github.com/transistorsoft/cordova-plugin-background-fetch](https://github.com/transistorsoft/cordova-plugin-background-fetch)
iOS Background Fetch is basically an API which wakes up your app about every 15 minutes (during the user's prime-time hours) and provides your app exactly 30s of background running-time. This plugin will execute your provided callbackFn whenever a background-fetch event occurs. There is no way to increase the rate which a fetch-event occurs and this plugin sets the rate to the most frequent possible value of UIApplicationBackgroundFetchIntervalMinimum -- iOS determines the rate automatically based upon device usage and time-of-day (ie: fetch-rate is about ~15min during prime-time hours; less frequently when the user is presumed to be sleeping, at 3am for example).
For more detail, please see https://github.com/transistorsoft/cordova-plugin-background-fetch
This plugin provides foreground and background geolocation with battery-saving "circular region monitoring" and "stop detection". For more detail, please see [https://github.com/mauron85/cordova-plugin-background-geolocation](https://github.com/mauron85/cordova-plugin-background-geolocation)
Cordova plugin to prevent the app from going to sleep while in background. Requires Cordova plugin: cordova-plugin-background-mode. For more info about plugin, visit: [https://github.com/katzer/cordova-plugin-background-mode](https://github.com/katzer/cordova-plugin-background-mode)
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 isn’t 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.
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 isn’t 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.
The Barcode Scanner Plugin opens a camera view and automatically scans a barcode, returning the data back to you.
Requires Cordova plugin: `phonegap-plugin-barcodescanner`. For more info, please see the [BarcodeScanner plugin docs](https://github.com/phonegap/phonegap-plugin-barcodescanner).
The Barcode Scanner Plugin opens a camera view and automatically scans a barcode, returning the data back to you.
Requires Cordova plugin: `phonegap-plugin-barcodescanner`. For more info, please see the [BarcodeScanner plugin docs](https://github.com/phonegap/phonegap-plugin-barcodescanner).
Requires Cordova plugin: cordova-plugin-batterystatus. For more info, please see the [BatteryStatus plugin docs](https://github.com/apache/cordova-plugin-battery-status).
Requires Cordova plugin: cordova-plugin-batterystatus. For more info, please see the [BatteryStatus plugin docs](https://github.com/apache/cordova-plugin-battery-status).
This plugin enables communication between a phone and Bluetooth Low Energy \(BLE\) peripherals.
The plugin provides a simple JavaScript API for iOS and Android.
* Scan for peripherals
* Connect to a peripheral
* Read the value of a characteristic
* Write new value to a characteristic
* Get notified when characteristic's value changes
Advertising information is returned when scanning for peripherals. Service, characteristic, and property info is returned when connecting to a peripheral. All access is via service and characteristic UUIDs. The plugin manages handles internally.
Simultaneous connections to multiple peripherals are supported.
This plugin enables communication between a phone and Bluetooth Low Energy (BLE) peripherals.
The plugin provides a simple JavaScript API for iOS and Android.
- Scan for peripherals
- Connect to a peripheral
- Read the value of a characteristic
- Write new value to a characteristic
- Get notified when characteristic's value changes
Advertising information is returned when scanning for peripherals. Service, characteristic, and property info is returned when connecting to a peripheral. All access is via service and characteristic UUIDs. The plugin manages handles internally.
Simultaneous connections to multiple peripherals are supported.
## Supported platforms
- Android
- iOS
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.