Compare commits

..
Author SHA1 Message Date
Daniel Sogl da517ae0cb feat(local-notifications): sync wrapper with cordova-plugin-local-notification 1.2.3
Add Android channel/alarm/unused-app-restrictions APIs, new android*-prefixed
option properties, and drop Windows from supported platforms to match the
plugin's current (1.2.3) API surface. Deprecated properties/methods are kept
for backward compatibility with JSDoc @deprecated notes.
2026-07-27 22:19:04 +02:00
30 changed files with 334 additions and 5725 deletions
+1 -1
View File
@@ -1,3 +1,3 @@
{
".": "9.4.1"
".": "9.3.0"
}
-50
View File
@@ -256,56 +256,6 @@
## [9.4.1](https://github.com/danielsogl/awesome-cordova-plugins/compare/awesome-cordova-plugins-v9.4.0...awesome-cordova-plugins-v9.4.1) (2026-08-03)
### Miscellaneous Chores
* **deps:** update build and bundling tools ([#5220](https://github.com/danielsogl/awesome-cordova-plugins/issues/5220)) ([cf31209](https://github.com/danielsogl/awesome-cordova-plugins/commit/cf31209d56e5d3ada3150d423235d25d0718a33c))
## [9.4.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/awesome-cordova-plugins-v9.3.0...awesome-cordova-plugins-v9.4.0) (2026-07-27)
### Features
* **airship:** add Live Activities/Live Updates and other 19.1.0 additions ([#5213](https://github.com/danielsogl/awesome-cordova-plugins/issues/5213)) ([c550363](https://github.com/danielsogl/awesome-cordova-plugins/commit/c55036392c482441b10beb71a5a096ce3e3251c3))
* **anyline:** add setDefaultScanStartPlatformOptions and note legacy API deprecation ([#5207](https://github.com/danielsogl/awesome-cordova-plugins/issues/5207)) ([9513fd7](https://github.com/danielsogl/awesome-cordova-plugins/commit/9513fd7dbaf6140d824d8b870655dc8ada258df0))
* **applovin:** sync wrapper with cordova-plugin-applovin-max@2.1.0 ([#5216](https://github.com/danielsogl/awesome-cordova-plugins/issues/5216)) ([c061770](https://github.com/danielsogl/awesome-cordova-plugins/commit/c061770c00841c5ca0ecc6774bd93ac7f62f84dd))
* **appsflyer:** add missing v6.18.1 SDK methods ([#5209](https://github.com/danielsogl/awesome-cordova-plugins/issues/5209)) ([6b5df9a](https://github.com/danielsogl/awesome-cordova-plugins/commit/6b5df9a2d330b53a47f4c91903e383f9394dba97))
* **background-fetch:** update wrapper to match cordova-plugin-background-fetch 7.3.1 API ([#5210](https://github.com/danielsogl/awesome-cordova-plugins/issues/5210)) ([d189208](https://github.com/danielsogl/awesome-cordova-plugins/commit/d189208630956fddd94a82f8db2e89a41553e370))
* **background-upload:** add uploadDuration and finishUploadTime to UploadEvent ([#5204](https://github.com/danielsogl/awesome-cordova-plugins/issues/5204)) ([6d674c7](https://github.com/danielsogl/awesome-cordova-plugins/commit/6d674c74eb575b1427737c40d636386628a7aab7))
* **barkoder:** sync wrapper with barkoder-cordova 1.6.8 API ([#5219](https://github.com/danielsogl/awesome-cordova-plugins/issues/5219)) ([5129756](https://github.com/danielsogl/awesome-cordova-plugins/commit/512975647e125e566346293301d5a4004ca20662))
* **branch-io:** sync wrapper with branch-cordova-sdk v6.6.1 API ([#5205](https://github.com/danielsogl/awesome-cordova-plugins/issues/5205)) ([040df10](https://github.com/danielsogl/awesome-cordova-plugins/commit/040df107aeecfb3b93f8f223be3ebce60d2cfe60))
* **camera-preview:** add white balance controls, getSupportedColorEffects and getBlob ([#5200](https://github.com/danielsogl/awesome-cordova-plugins/issues/5200)) ([451be4b](https://github.com/danielsogl/awesome-cordova-plugins/commit/451be4b3d67637838e3f3ad280fe8f5e81541729))
* **clevertap:** add variants and unmute APIs, support discardInAppNotifications param (upstream 5.0.0) ([#5202](https://github.com/danielsogl/awesome-cordova-plugins/issues/5202)) ([1e0af65](https://github.com/danielsogl/awesome-cordova-plugins/commit/1e0af65c7929a113d9f519d918c1028287faa1ab))
* **diagnostic:** sync wrapper with cordova.plugins.diagnostic 7.3.1 ([#5203](https://github.com/danielsogl/awesome-cordova-plugins/issues/5203)) ([1d2465d](https://github.com/danielsogl/awesome-cordova-plugins/commit/1d2465d18c51d263f20855ae7e21856f93fd6153))
* **firebase-x:** add methods added upstream since last sync, deprecate getByteArray ([#5211](https://github.com/danielsogl/awesome-cordova-plugins/issues/5211)) ([bd8aff2](https://github.com/danielsogl/awesome-cordova-plugins/commit/bd8aff2414d44209b80788073b329daddec33241))
* **genius-scan:** add barcode scanning and sync ScanConfiguration/result types with 6.3.0 ([#5214](https://github.com/danielsogl/awesome-cordova-plugins/issues/5214)) ([a053001](https://github.com/danielsogl/awesome-cordova-plugins/commit/a0530015d243666170d33e8aaf03ebc64050dd29))
* **in-app-browser:** add zoomcontrols option and download event, fix stale platform docs for cordova-plugin-inappbrowser 7.0.0 ([#5196](https://github.com/danielsogl/awesome-cordova-plugins/issues/5196)) ([81dc871](https://github.com/danielsogl/awesome-cordova-plugins/commit/81dc871d8ea349c6f8aa2088b76b519eb9152566))
* **in-app-purchase-2:** add missing classic store API surface ([#5215](https://github.com/danielsogl/awesome-cordova-plugins/issues/5215)) ([2a3521a](https://github.com/danielsogl/awesome-cordova-plugins/commit/2a3521abdffac0921cce170f58d4b21e14612120))
* **in-app-purchase-3:** sync wrapper with cordova-plugin-purchase 13.18.0 ([#5218](https://github.com/danielsogl/awesome-cordova-plugins/issues/5218)) ([366c511](https://github.com/danielsogl/awesome-cordova-plugins/commit/366c5115e3b544da680cca36793e065f88e7d28f))
* **intercom:** add suppressProactiveContent method ([#5198](https://github.com/danielsogl/awesome-cordova-plugins/issues/5198)) ([3d4909d](https://github.com/danielsogl/awesome-cordova-plugins/commit/3d4909d8de9f8f70ae2ebccb6cff635b48771fa3))
* **local-notifications:** sync wrapper with cordova-plugin-local-notification 1.2.3 ([#5206](https://github.com/danielsogl/awesome-cordova-plugins/issues/5206)) ([93fe3ac](https://github.com/danielsogl/awesome-cordova-plugins/commit/93fe3ac6b2ec35058e657219e99fdc800f167d2a))
* **mobile-messaging:** sync wrapper with upstream SDK v8.6.0 ([#5217](https://github.com/danielsogl/awesome-cordova-plugins/issues/5217)) ([d2c9ca6](https://github.com/danielsogl/awesome-cordova-plugins/commit/d2c9ca6f4ee5fff2df9e9b0ae70231b92d3a4bce))
* **network:** add 5G connection type support ([#5194](https://github.com/danielsogl/awesome-cordova-plugins/issues/5194)) ([201d73b](https://github.com/danielsogl/awesome-cordova-plugins/commit/201d73b39ec97d43027ab0fa825245824c64d897))
* **onesignal:** add OneSignal v5 user-centric API, deprecate removed v2 flat API ([#5212](https://github.com/danielsogl/awesome-cordova-plugins/issues/5212)) ([b624a9b](https://github.com/danielsogl/awesome-cordova-plugins/commit/b624a9b374e3a4d9a37893307fd938f233a3de09))
* **sms:** add requestPermission method and android slot option ([#5201](https://github.com/danielsogl/awesome-cordova-plugins/issues/5201)) ([3143a63](https://github.com/danielsogl/awesome-cordova-plugins/commit/3143a63955597970dc70e201fb934a1a33f8d074))
* **sqlite:** add Android provider options, fix abort call, add Browser platform ([#5197](https://github.com/danielsogl/awesome-cordova-plugins/issues/5197)) ([3fc9fc1](https://github.com/danielsogl/awesome-cordova-plugins/commit/3fc9fc1ecbe8c76427d22b322d340577ccbd3ec3))
* **tealium:** add missing v2.5.0 APIs and remote command params ([#5195](https://github.com/danielsogl/awesome-cordova-plugins/issues/5195)) ([70e904e](https://github.com/danielsogl/awesome-cordova-plugins/commit/70e904ebb7c64248af08fa50019fcc644ad5ee96))
* **wonderpush:** add credential-remembering init and subscribeToNotifications fallback param ([#5199](https://github.com/danielsogl/awesome-cordova-plugins/issues/5199)) ([053f4f8](https://github.com/danielsogl/awesome-cordova-plugins/commit/053f4f887f91530095e9ca6db57195b2a954eba0))
### Bug Fixes
* **cashfree-pg:** mark doDropPayment as deprecated per upstream 1.1.0 ([#5208](https://github.com/danielsogl/awesome-cordova-plugins/issues/5208)) ([63802d1](https://github.com/danielsogl/awesome-cordova-plugins/commit/63802d1ee104feb3a688c5df74d79efebbcb4d78))
* **deps:** update angular to 20.3.26 to patch @babel/core advisory ([8b997cf](https://github.com/danielsogl/awesome-cordova-plugins/commit/8b997cf357e821484d2147eedd3860e7d85ce8af))
* **media-capture:** correct CaptureError.code type to number ([#5193](https://github.com/danielsogl/awesome-cordova-plugins/issues/5193)) ([9cf7e6a](https://github.com/danielsogl/awesome-cordova-plugins/commit/9cf7e6a9852e8525aebcb1eeddc926c422e52579))
### Miscellaneous Chores
* **deps:** update angular to 21.2.18 ([1204bc5](https://github.com/danielsogl/awesome-cordova-plugins/commit/1204bc52e746bb5fc918faf4a8dd70a9ce75d55d))
## [9.3.0](https://github.com/danielsogl/awesome-cordova-plugins/compare/awesome-cordova-plugins-v9.2.0...awesome-cordova-plugins-v9.3.0) (2026-07-27)
+110 -131
View File
@@ -1,12 +1,12 @@
{
"name": "awesome-cordova-plugins",
"version": "9.4.1",
"version": "9.3.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "awesome-cordova-plugins",
"version": "9.4.1",
"version": "9.3.0",
"license": "MIT",
"dependencies": {
"tslib": "2.8.1"
@@ -29,9 +29,9 @@
"jest-environment-jsdom": "^30.4.1",
"lefthook": "^2.1.10",
"prettier": "^3.9.6",
"rollup": "^4.62.4",
"rollup": "^4.62.3",
"rxjs": "^7.8.2",
"tsx": "^4.23.5",
"tsx": "^4.23.1",
"typedoc": "^0.28.20",
"typedoc-plugin-markdown": "^4.12.0",
"typescript": "~5.9.3",
@@ -2040,26 +2040,6 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@napi-rs/lzma-linux-x64-gnu": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz",
"integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==",
"cpu": [
"x64"
],
"dev": true,
"libc": [
"glibc"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^22.20 || ^24.12 || >=25"
}
},
"node_modules/@napi-rs/wasm-runtime": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz",
@@ -2104,9 +2084,9 @@
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.4.tgz",
"integrity": "sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.3.tgz",
"integrity": "sha512-c0wdcekXtQvvn5Tsrk/+op/gUArrbWaFduBnTLP2l1cKLSQs4diMWjJw3m6A0DdzT8dAAX95KpkJ3qynCePbmw==",
"cpu": [
"arm"
],
@@ -2118,9 +2098,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.4.tgz",
"integrity": "sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.3.tgz",
"integrity": "sha512-3YjElDdWN+qXAFbJ/CzPV+0wspLqh54k/I6GfdYtEJRqg7buSgc1yPM3B+93j1M4neobtkATHZTmxK2AMVGfnA==",
"cpu": [
"arm64"
],
@@ -2132,9 +2112,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.4.tgz",
"integrity": "sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.3.tgz",
"integrity": "sha512-Pch2pFNOxxz1hTjypIdPyRTR6riiwRl84+VcN9djS680fw+Co1nAJINrdpqp7KV0NvyuU8ilZXZCjd7ykJl1GQ==",
"cpu": [
"arm64"
],
@@ -2146,9 +2126,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.4.tgz",
"integrity": "sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.3.tgz",
"integrity": "sha512-LEuncFUHFiF8t4yZVZvvZA1wk0pjAscRnsrn1EfTEmN4HXotBi2YtcnLRyaK6UbuczW7xZS5ES+81Rdz8Z0T6g==",
"cpu": [
"x64"
],
@@ -2160,9 +2140,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-arm64": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.4.tgz",
"integrity": "sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.3.tgz",
"integrity": "sha512-zvBUvsQUpOWALdDsk6qbS8bXf2VxmPisuudNDrY7x0p0jBdsoZl8HsHczIOgkQiZldmcacMKtBzpoGVNeIe2bQ==",
"cpu": [
"arm64"
],
@@ -2174,9 +2154,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-x64": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.4.tgz",
"integrity": "sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.3.tgz",
"integrity": "sha512-C2KmNrcSem/AMg984H/dev+si0lieQGdXdR/lYGJnuumXnFb9Y7QdiI62obFdLlxRYLBv4P0eUVIDbD4c1vVvw==",
"cpu": [
"x64"
],
@@ -2188,9 +2168,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.4.tgz",
"integrity": "sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.3.tgz",
"integrity": "sha512-ggXnsTAEzNQx74XpunRsiZ9aBZDsI7XIa0hm2nzR9f4WzH5/f/d73ZSDaC5ejJ8YLY4NW+V3wr0tjOaeCq8hqA==",
"cpu": [
"arm"
],
@@ -2205,9 +2185,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.4.tgz",
"integrity": "sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.3.tgz",
"integrity": "sha512-2vng+FlzNUhKZxtej3IUqJgbZoQk2M/dwQM20+ULV0R/E/8tr9/P6uEf2iiGIk4HL0zMKh5Jry7mUHdUOvyGgA==",
"cpu": [
"arm"
],
@@ -2222,9 +2202,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.4.tgz",
"integrity": "sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.3.tgz",
"integrity": "sha512-LLLFZKt4/Nraf9rxDkhiU8QVgLF4WmCkfr0L4fj0fPfIZFBib0DeiFk1hhaYKd03LFAFJcxHslhDFlNJLylf5Q==",
"cpu": [
"arm64"
],
@@ -2239,9 +2219,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.4.tgz",
"integrity": "sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.3.tgz",
"integrity": "sha512-WJkdQCvS9sWNOUBJZfQRKpZGFBztRzcowI+nndmflKgU4XY+3a420FgTOSKTsVqJbnzSxeT4vaJalpOaPo2YCQ==",
"cpu": [
"arm64"
],
@@ -2256,9 +2236,9 @@
]
},
"node_modules/@rollup/rollup-linux-loong64-gnu": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.4.tgz",
"integrity": "sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.3.tgz",
"integrity": "sha512-PwHXCCS2n64/1Ot6rP1YEYA02MGYBcQlr8CSZZyrUG2O7NH6NklYmvr9v3Jy+5e/eDeNchc/ukmKJi9LuflMIQ==",
"cpu": [
"loong64"
],
@@ -2273,9 +2253,9 @@
]
},
"node_modules/@rollup/rollup-linux-loong64-musl": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.4.tgz",
"integrity": "sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.3.tgz",
"integrity": "sha512-vUjxINQu3RC8NZS3ykk1gN65gIz8pAopOq2HXuZhiIxHdx7TFvDG+jgrdSgInu1Eza4/Rfi2VzZgyIgEH4WOaw==",
"cpu": [
"loong64"
],
@@ -2290,9 +2270,9 @@
]
},
"node_modules/@rollup/rollup-linux-ppc64-gnu": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.4.tgz",
"integrity": "sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.3.tgz",
"integrity": "sha512-wzko4aJ13+0G3kGnviCg5gnXFKd40izKsrf2uOw12US4XqprkDrmwOpeW14aSNa37V8bfPcz5Fkob6LZ3BAPmA==",
"cpu": [
"ppc64"
],
@@ -2307,9 +2287,9 @@
]
},
"node_modules/@rollup/rollup-linux-ppc64-musl": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.4.tgz",
"integrity": "sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.3.tgz",
"integrity": "sha512-8120ue0JUMSwy11stlwnfdX3pPd+WZYGCDBwEHWtIHi6pOpZmsEF5QKB7a/UN+XFdqvobxz98kv8RTqikyCEBw==",
"cpu": [
"ppc64"
],
@@ -2324,9 +2304,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.4.tgz",
"integrity": "sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.3.tgz",
"integrity": "sha512-XLFHnR3tXMjbOCh2vtVJHmxt+995uJsTERQyseFDRA0xxMxyTZPLa3OIUlyFaO4mF/Lu0FjmWHCuPXJT1n/IOg==",
"cpu": [
"riscv64"
],
@@ -2341,9 +2321,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-musl": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.4.tgz",
"integrity": "sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.3.tgz",
"integrity": "sha512-se6yXvNGMIl0f+RQzyh7XAmia8/9kplQx424wnG2w0C1oi6XgO6Y8otKhdXFHbHs88Ihavzmvh1NWjuovE76BQ==",
"cpu": [
"riscv64"
],
@@ -2358,9 +2338,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.4.tgz",
"integrity": "sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.3.tgz",
"integrity": "sha512-gNoxRefktVIiGflpONuxWWXZAzIQG++z9qHO3xKwk4WdDMuQja3JHGfE1u0i3PfPDyvhypdk+WrgIJqLhGG7sg==",
"cpu": [
"s390x"
],
@@ -2375,9 +2355,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.4.tgz",
"integrity": "sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.3.tgz",
"integrity": "sha512-V4KtWtQfAFMU7+9/A/VDps/VI8CHd3cYz0L8sgJzz8qK7eY7wI4ruFD82UYIYvW9Z4DtlTfhQcsl4XyPHW5uSg==",
"cpu": [
"x64"
],
@@ -2392,9 +2372,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.4.tgz",
"integrity": "sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.3.tgz",
"integrity": "sha512-LBx9LYXvj2CBkMkjLdNAWLwH0MLMin7do2VcVo9kVPibGLkY0BQQut2fv7NVqkXqZ/CrAu9LqDHVV1xHCMpCPw==",
"cpu": [
"x64"
],
@@ -2409,9 +2389,9 @@
]
},
"node_modules/@rollup/rollup-openbsd-x64": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.4.tgz",
"integrity": "sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.3.tgz",
"integrity": "sha512-ABVf3Q0RCu7NcyCCOZQI0pJ3GuSdfSl8EXcy88QtdceIMIoCUdfhsJChZ64L9zVM2aJHjde1Bhn5uqSRcX9ySA==",
"cpu": [
"x64"
],
@@ -2423,9 +2403,9 @@
]
},
"node_modules/@rollup/rollup-openharmony-arm64": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.4.tgz",
"integrity": "sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.3.tgz",
"integrity": "sha512-+2Cy/ldweGBLlPIKsQLF8U5N44a0KDdbrk1rAjHOM9M2K+kGdIVjHLmmrZIcx+9Ny3ke/1JomCsDI1ocb11+sg==",
"cpu": [
"arm64"
],
@@ -2437,9 +2417,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.4.tgz",
"integrity": "sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.3.tgz",
"integrity": "sha512-dtZvzc8BedpSaFNy75x6uiWwAGTH+aZHDtdrqP6qk+WcLJrfti6sGje1ZJ9UxyzDLF23d/mV+PaMwuC0hL7UVA==",
"cpu": [
"arm64"
],
@@ -2451,9 +2431,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.4.tgz",
"integrity": "sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.3.tgz",
"integrity": "sha512-Rj8Ra4noo+aYy7sKBggCx0407mws34kAb1ySyWuq5DAtFBQdkSwnsjCgPrhPe9cvgBKZIukpE+CVHvORCS93kQ==",
"cpu": [
"ia32"
],
@@ -2465,9 +2445,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-gnu": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.4.tgz",
"integrity": "sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.3.tgz",
"integrity": "sha512-vp7N084ew/odXn2gi/mzm9mUkQu9l6AiN6dt4IeUM2Uvm9o+cVmP+YkqbMOteLbiGgqBBlJZjIMYVCfOOIVbVQ==",
"cpu": [
"x64"
],
@@ -2479,9 +2459,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.4.tgz",
"integrity": "sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.3.tgz",
"integrity": "sha512-MOG/3gTOn4Fwf574RVOaY61I5o6P90legkFADiTyn1hyjNydT+cerU2rLUwPdZkKKyJ+iT+K9p7WXK4LM1Ka6g==",
"cpu": [
"x64"
],
@@ -7045,9 +7025,9 @@
}
},
"node_modules/rollup": {
"version": "4.62.4",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.4.tgz",
"integrity": "sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg==",
"version": "4.62.3",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.3.tgz",
"integrity": "sha512-Gu0c0iH9FzgX1L1t7ByIbbS3Vmdz+6KHm/EsqmmC71gUQ82yvZRkTK6XzrFObSka91WUVdynqp6nsfilzr5k6Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7061,32 +7041,31 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
"@napi-rs/lzma-linux-x64-gnu": "1.5.1",
"@rollup/rollup-android-arm-eabi": "4.62.4",
"@rollup/rollup-android-arm64": "4.62.4",
"@rollup/rollup-darwin-arm64": "4.62.4",
"@rollup/rollup-darwin-x64": "4.62.4",
"@rollup/rollup-freebsd-arm64": "4.62.4",
"@rollup/rollup-freebsd-x64": "4.62.4",
"@rollup/rollup-linux-arm-gnueabihf": "4.62.4",
"@rollup/rollup-linux-arm-musleabihf": "4.62.4",
"@rollup/rollup-linux-arm64-gnu": "4.62.4",
"@rollup/rollup-linux-arm64-musl": "4.62.4",
"@rollup/rollup-linux-loong64-gnu": "4.62.4",
"@rollup/rollup-linux-loong64-musl": "4.62.4",
"@rollup/rollup-linux-ppc64-gnu": "4.62.4",
"@rollup/rollup-linux-ppc64-musl": "4.62.4",
"@rollup/rollup-linux-riscv64-gnu": "4.62.4",
"@rollup/rollup-linux-riscv64-musl": "4.62.4",
"@rollup/rollup-linux-s390x-gnu": "4.62.4",
"@rollup/rollup-linux-x64-gnu": "4.62.4",
"@rollup/rollup-linux-x64-musl": "4.62.4",
"@rollup/rollup-openbsd-x64": "4.62.4",
"@rollup/rollup-openharmony-arm64": "4.62.4",
"@rollup/rollup-win32-arm64-msvc": "4.62.4",
"@rollup/rollup-win32-ia32-msvc": "4.62.4",
"@rollup/rollup-win32-x64-gnu": "4.62.4",
"@rollup/rollup-win32-x64-msvc": "4.62.4",
"@rollup/rollup-android-arm-eabi": "4.62.3",
"@rollup/rollup-android-arm64": "4.62.3",
"@rollup/rollup-darwin-arm64": "4.62.3",
"@rollup/rollup-darwin-x64": "4.62.3",
"@rollup/rollup-freebsd-arm64": "4.62.3",
"@rollup/rollup-freebsd-x64": "4.62.3",
"@rollup/rollup-linux-arm-gnueabihf": "4.62.3",
"@rollup/rollup-linux-arm-musleabihf": "4.62.3",
"@rollup/rollup-linux-arm64-gnu": "4.62.3",
"@rollup/rollup-linux-arm64-musl": "4.62.3",
"@rollup/rollup-linux-loong64-gnu": "4.62.3",
"@rollup/rollup-linux-loong64-musl": "4.62.3",
"@rollup/rollup-linux-ppc64-gnu": "4.62.3",
"@rollup/rollup-linux-ppc64-musl": "4.62.3",
"@rollup/rollup-linux-riscv64-gnu": "4.62.3",
"@rollup/rollup-linux-riscv64-musl": "4.62.3",
"@rollup/rollup-linux-s390x-gnu": "4.62.3",
"@rollup/rollup-linux-x64-gnu": "4.62.3",
"@rollup/rollup-linux-x64-musl": "4.62.3",
"@rollup/rollup-openbsd-x64": "4.62.3",
"@rollup/rollup-openharmony-arm64": "4.62.3",
"@rollup/rollup-win32-arm64-msvc": "4.62.3",
"@rollup/rollup-win32-ia32-msvc": "4.62.3",
"@rollup/rollup-win32-x64-gnu": "4.62.3",
"@rollup/rollup-win32-x64-msvc": "4.62.3",
"fsevents": "~2.3.2"
}
},
@@ -7647,9 +7626,9 @@
"license": "0BSD"
},
"node_modules/tsx": {
"version": "4.23.5",
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.5.tgz",
"integrity": "sha512-rw55FUaqOoI7RvlQwLbhO4nSDApnQ4/CykPuiQ/EPvtrX3WA9Ig55jIt9VvbBJbzJuj12ueRu4PMZ2SxPVbihg==",
"version": "4.23.1",
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.1.tgz",
"integrity": "sha512-GQHnkIfxyx1wYCOS/wonik5MVRZU9hi1TEZmzGZSCJB1y9YgoZ8H6itNE/u4suE+yLmOzuE4E5S4TZ/ZX2wcWQ==",
"dev": true,
"license": "MIT",
"dependencies": {
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "awesome-cordova-plugins",
"version": "9.4.1",
"version": "9.3.0",
"description": "Native plugin wrappers for Cordova and Ionic with TypeScript, ES6+, Promise and Observable support",
"homepage": "https://awesome-cordova-plugins.com",
"author": "Daniel Sogl <me@danielsogl.com> (https://danielsogl.com)",
@@ -44,9 +44,9 @@
"jest-environment-jsdom": "^30.4.1",
"lefthook": "^2.1.10",
"prettier": "^3.9.6",
"rollup": "^4.62.4",
"rollup": "^4.62.3",
"rxjs": "^7.8.2",
"tsx": "^4.23.5",
"tsx": "^4.23.1",
"typedoc": "^0.28.20",
"typedoc-plugin-markdown": "^4.12.0",
"typescript": "~5.9.3",
@@ -35,7 +35,7 @@ declare const window: Window & { Airship: any };
pluginName: 'Airship',
plugin: '@ua/cordova-airship',
pluginRef: 'Airship',
repo: 'https://github.com/urbanairship/urbanairship-cordova',
repo: 'https://www.npmjs.com/package/@ua/cordova-airship',
install: 'ionic cordova plugin add @ua/cordova-airship',
platforms: ['Android', 'iOS'],
})
@@ -52,14 +52,6 @@ export class Airship extends AwesomeCordovaNativePlugin {
public preferenceCenter: AirshipPreferenceCenter;
public privacyManager: AirshipPrivacyManager;
public push: AirshipPush;
/**
* Live Activity manager. iOS only.
*/
public liveActivityManager: AirshipLiveActivityManager;
/**
* Live Update manager. Android only.
*/
public liveUpdateManager: AirshipLiveUpdateManager;
/**
* Call after platform ready
@@ -265,252 +257,6 @@ export interface DisplayPreferenceCenterEvent {
preferenceCenterId: string;
}
/**
* Event fired when Live Activities are updated. iOS only.
*/
export interface LiveActivitiesUpdatedEvent {
/**
* The Live Activities.
*/
activities: LiveActivity[];
}
/**
* Live Activity info. iOS only.
*/
export interface LiveActivity {
/**
* The activity ID.
*/
id: string;
/**
* The attribute types.
*/
attributeTypes: string;
/**
* The content.
*/
content: LiveActivityContent;
/**
* The attributes.
*/
attributes: JsonObject;
}
/**
* Live Activity content. iOS only.
*/
export interface LiveActivityContent {
/**
* The content state.
*/
state: JsonObject;
/**
* Optional ISO 8601 date string that defines when the Live Activity will be stale.
*/
staleDate?: string;
/**
* The relevance score.
*/
relevanceScore: number;
}
/**
* Base Live Activity request. iOS only.
*/
export interface LiveActivityRequest {
/**
* Attributes type. This should match the Activity type of your Live Activity.
*/
attributesType: string;
}
/**
* Live Activity list request. iOS only.
*/
export type LiveActivityListRequest = LiveActivityRequest;
/**
* Live Activity start request. iOS only.
*/
export interface LiveActivityStartRequest extends LiveActivityRequest {
/**
* Dynamic content.
*/
content: LiveActivityContent;
/**
* Fixed attributes.
*/
attributes: JsonObject;
}
/**
* Live Activity update request. iOS only.
*/
export interface LiveActivityUpdateRequest extends LiveActivityRequest {
/**
* The Live Activity ID to update.
*/
activityId: string;
/**
* Dynamic content.
*/
content: LiveActivityContent;
}
/**
* Live Activity end request. iOS only.
*/
export interface LiveActivityEndRequest extends LiveActivityRequest {
/**
* The Live Activity ID to end.
*/
activityId: string;
/**
* Dynamic content.
*/
content?: LiveActivityContent;
/**
* Dismissal policy. Defaults to `LiveActivityDismissalPolicyDefault`.
*/
dismissalPolicy?: LiveActivityDismissalPolicy;
}
export type LiveActivityDismissalPolicy =
LiveActivityDismissalPolicyImmediate | LiveActivityDismissalPolicyDefault | LiveActivityDismissalPolicyAfterDate;
/**
* Dismissal policy to immediately dismiss the Live Activity on end.
*/
export interface LiveActivityDismissalPolicyImmediate {
type: 'immediate';
}
/**
* Dismissal policy to dismiss the Live Activity after the expiration.
*/
export interface LiveActivityDismissalPolicyDefault {
type: 'default';
}
/**
* Dismissal policy to dismiss the Live Activity after a given date.
*/
export interface LiveActivityDismissalPolicyAfterDate {
type: 'after';
/**
* ISO 8601 date string.
*/
date: string;
}
/**
* Live Update info. Android only.
*/
export interface LiveUpdate {
/**
* The Live Update name.
*/
name: string;
/**
* The Live Update type.
*/
type: string;
/**
* Dynamic content.
*/
content: JsonObject;
/**
* ISO 8601 date string of the last content update.
*/
lastContentUpdateTimestamp: string;
/**
* ISO 8601 date string of the last state update.
*/
lastStateChangeTimestamp: string;
/**
* Optional ISO 8601 date string that defines when to end this Live Update.
*/
dismissTimestamp?: string;
}
/**
* Live Update list request. Android only.
*/
export interface LiveUpdateListRequest {
type: string;
}
/**
* Live Update start request. Android only.
*/
export interface LiveUpdateStartRequest {
/**
* The Live Update name.
*/
name: string;
/**
* The Live Update type.
*/
type: string;
/**
* Dynamic content.
*/
content: JsonObject;
/**
* Optional ISO 8601 date string, used to filter out of order updates.
*/
timestamp?: string;
/**
* Optional ISO 8601 date string that defines when to end this Live Update.
*/
dismissTimestamp?: string;
}
/**
* Live Update update request. Android only.
*/
export interface LiveUpdateUpdateRequest {
/**
* The Live Update name.
*/
name: string;
/**
* Dynamic content.
*/
content: JsonObject;
/**
* Optional ISO 8601 date string, used to filter out of order updates.
*/
timestamp?: string;
/**
* Optional ISO 8601 date string that defines when to end this Live Update.
*/
dismissTimestamp?: string;
}
/**
* Live Update end request. Android only.
*/
export interface LiveUpdateEndRequest {
/**
* The Live Update name.
*/
name: string;
/**
* Dynamic content.
*/
content?: JsonObject;
/**
* Optional ISO 8601 date string, used to filter out of order updates.
*/
timestamp?: string;
/**
* Optional ISO 8601 date string that defines when to end this Live Update.
*/
dismissTimestamp?: string;
}
/**
* iOS options
*/
@@ -702,18 +448,6 @@ export interface ConfigEnvironment {
* Optional log level.
*/
logLevel?: LogLevel;
/**
* Optional iOS config.
*/
ios?: {
/**
* Log privacy level. By default it logs at `private`, not logging anything lower than info to the console
* and redacting logs with string interpolation. `public` will log all configured log levels to the console
* without redacting any of the log lines.
*/
logPrivacyLevel?: 'private' | 'public';
};
}
/**
@@ -885,14 +619,12 @@ export namespace Android {
* Enum of authorized Features.
*/
export enum Feature {
All = 'all',
InAppAutomation = 'in_app_automation',
MessageCenter = 'message_center',
Push = 'push',
Analytics = 'analytics',
TagsAndAttributes = 'tags_and_attributes',
Contacts = 'contacts',
FeatureFlags = 'feature_flags',
}
/**
@@ -1264,17 +996,6 @@ export interface AttributeEditor {
*/
setAttribute(name: string, value: string | number | boolean | Date): AttributeEditor;
/**
* Adds a JSON attribute.
*
* @param name The attribute name.
* @param instanceId The instance ID.
* @param json The json value. Must not contain `exp` as top level key.
* @param expiration Optional expiration.
* @return The attribute editor instance.
*/
setJsonAttribute(name: string, instanceId: string, json: Record<string, any>, expiration?: Date): AttributeEditor;
/**
* Removes an attribute.
* @param name The name of the attribute to remove.
@@ -1282,14 +1003,6 @@ export interface AttributeEditor {
*/
removeAttribute(name: string): AttributeEditor;
/**
* Removes a JSON attribute.
* @param name The name of the attribute to remove.
* @param instanceId The instance ID.
* @return The attribute editor instance.
*/
removeJsonAttribute(name: string, instanceId: string): AttributeEditor;
/**
* Applies the attribute operations.
* @param success Success callback.
@@ -1331,15 +1044,6 @@ class AirshipPush {
return;
}
/**
* Enables user notifications and prompts the user for permission, if needed.
* @returns Whether user notifications are enabled after the request.
*/
@CordovaInstance()
enableUserNotifications(): Promise<boolean> {
return;
}
/**
* Gets the notification status.
*/
@@ -1482,13 +1186,6 @@ export interface AirshipPushIOS {
*/
getBadgeNumber(success: (badge: number) => void, error?: (err: string) => void): void;
/**
* Resets the badge number to zero.
* @param success Success callback.
* @param error Error callback.
*/
resetBadge(success?: () => void, error?: (err: string) => void): void;
/**
* Gets the list of authorized notification settings.
* @param success Success callback.
@@ -1853,41 +1550,6 @@ export interface AirshipFeatureFlagManager {
trackInteraction(flag: FeatureFlag, success?: () => void, error?: (err: string) => void): void;
}
/**
* Options for email channel registration.
*/
export interface EmailRegistrationOptions {
/**
* Transactional opt-in date as milliseconds since epoch.
*/
transactionalOptedIn?: number;
/**
* Commercial opt-in date as milliseconds since epoch.
*/
commercialOptedIn?: number;
/**
* Custom properties for the email channel.
*/
properties?: Record<string, string>;
/**
* Request double opt-in for commercial messages when `commercialOptedIn` is not set.
*/
doubleOptIn?: boolean;
}
/**
* Options for SMS channel registration.
*/
export interface SmsRegistrationOptions {
/**
* The sender ID.
*/
senderId: string;
}
/**
* Airship contact.
*/
@@ -1958,26 +1620,6 @@ class AirshipContact {
reset(): Promise<void> {
return;
}
/**
* Registers an email channel for the contact.
* @param email The email address.
* @param options Registration options.
*/
@CordovaInstance()
registerEmail(email: string, options: EmailRegistrationOptions): Promise<void> {
return;
}
/**
* Registers an SMS channel for the contact.
* @param msisdn The MSISDN, including country code.
* @param options Registration options.
*/
@CordovaInstance()
registerSMS(msisdn: string, options: SmsRegistrationOptions): Promise<void> {
return;
}
}
/**
@@ -2123,114 +1765,3 @@ export interface AirshipActions {
error?: (err: string) => void
): void;
}
/**
* Live Activity manager. iOS only.
*/
export interface AirshipLiveActivityManager {
/**
* Lists any Live Activities for the request.
* @param request The request options.
* @param success Success callback with the list.
* @param error Error callback.
*/
list(
request: LiveActivityListRequest,
success: (activities: LiveActivity[]) => void,
error?: (err: string) => void
): void;
/**
* Lists all Live Activities.
* @param success Success callback with the list.
* @param error Error callback.
*/
listAll(success: (activities: LiveActivity[]) => void, error?: (err: string) => void): void;
/**
* Starts a Live Activity.
* @param request The request options.
* @param success Success callback with the started activity.
* @param error Error callback.
*/
start(
request: LiveActivityStartRequest,
success: (activity: LiveActivity) => void,
error?: (err: string) => void
): void;
/**
* Updates a Live Activity.
* @param request The request options.
* @param success Success callback.
* @param error Error callback.
*/
update(request: LiveActivityUpdateRequest, success?: () => void, error?: (err: string) => void): void;
/**
* Ends a Live Activity.
* @param request The request options.
* @param success Success callback.
* @param error Error callback.
*/
end(request: LiveActivityEndRequest, success?: () => void, error?: (err: string) => void): void;
/**
* Live Activities updated listener.
*
* @param callback The callback.
* @return A cancellable that can be used to cancel the listener.
*/
onLiveActivitiesUpdated(callback: (event: LiveActivitiesUpdatedEvent) => void): Cancellable;
}
/**
* Live Update manager. Android only.
*/
export interface AirshipLiveUpdateManager {
/**
* Lists any Live Updates for the request.
* @param request The request options.
* @param success Success callback with the list.
* @param error Error callback.
*/
list(request: LiveUpdateListRequest, success: (updates: LiveUpdate[]) => void, error?: (err: string) => void): void;
/**
* Lists all Live Updates.
* @param success Success callback with the list.
* @param error Error callback.
*/
listAll(success: (updates: LiveUpdate[]) => void, error?: (err: string) => void): void;
/**
* Starts a Live Update.
* @param request The request options.
* @param success Success callback.
* @param error Error callback.
*/
start(request: LiveUpdateStartRequest, success?: () => void, error?: (err: string) => void): void;
/**
* Updates a Live Update.
* @param request The request options.
* @param success Success callback.
* @param error Error callback.
*/
update(request: LiveUpdateUpdateRequest, success?: () => void, error?: (err: string) => void): void;
/**
* Ends a Live Update.
* @param request The request options.
* @param success Success callback.
* @param error Error callback.
*/
end(request: LiveUpdateEndRequest, success?: () => void, error?: (err: string) => void): void;
/**
* Clears all Live Updates.
* @param success Success callback.
* @param error Error callback.
*/
clearAll(success?: () => void, error?: (err: string) => void): void;
}
@@ -9,10 +9,6 @@ export interface AnylineConfig {
* @name Anyline
* @description
* Anyline provides an easy-to-use SDK for applications to enable Optical Character Recognition (OCR) on mobile devices.
*
* @deprecated since v56.0.0. This legacy `AnylineSDK` API remains functional but upstream recommends migrating to the
* new `AnylineInfinityPlugin` API (exposed natively as `window.AnylineInfinity`), which is not covered by this wrapper.
* See https://documentation.anyline.com/cordova-plugin-component/latest/infinity-plugins/upgrade-guide.html
* @usage
* ```typescript
* import { Anyline } from '@awesome-cordova-plugins/anyline/ngx';
@@ -63,17 +59,4 @@ export class Anyline extends AwesomeCordovaNativePlugin {
scan(config: AnylineConfig): Promise<any> {
return;
}
/**
* Sets platform-specific scanning options, such as selecting the camera API on Android
* (CameraX vs Camera1) or managing camera permission handling. Must be called before `scan`.
*
* @param scanStartPlatformOptionsString {string} A JSON-stringified object of platform-specific attributes,
* e.g. `JSON.stringify({ androidScanViewAttributes: { useCameraX: false } })`
* @returns {Promise<any>} Returns a promise that resolves when the options have been set
*/
@Cordova()
setDefaultScanStartPlatformOptions(scanStartPlatformOptionsString: string): Promise<any> {
return;
}
}
@@ -3,27 +3,10 @@ import { AwesomeCordovaNativePlugin, Cordova, Plugin } from '@awesome-cordova-pl
import { Observable } from 'rxjs';
export interface InitializeConfig {
/**
* @deprecated Never populated by the native SDKs. Use `hasUserConsent` instead.
*/
hasUserConsentValue?: boolean;
/**
* @deprecated Never populated by the native SDKs, and the underlying `isAgeRestrictedUser`
* field was removed upstream in cordova-plugin-applovin-max@2.0.0.
*/
isAgeRestrictedUserValue?: boolean;
/**
* @deprecated Never populated by the native SDKs. Use `isDoNotSell` instead.
*/
isDoNotSellValue?: boolean;
/**
* @deprecated Never populated by the native SDKs. Use `isTablet` instead.
*/
isTabletValue?: boolean;
hasUserConsent: boolean;
isDoNotSell: boolean;
isTablet: boolean;
countryCode: string;
hasUserConsentValue: boolean;
isAgeRestrictedUserValue: boolean;
isDoNotSellValue: boolean;
isTabletValue: boolean;
}
export interface AdInfo {
@@ -34,11 +17,6 @@ export interface AdInfo {
revenue: number;
}
export interface AdRewardInfo extends AdInfo {
rewardLabel: string;
rewardAmount: number;
}
export enum AdViewPosition {
TOP_CENTER = 'top_center',
TOP_RIGHT = 'top_right',
@@ -50,10 +28,6 @@ export enum AdViewPosition {
BOTTOM_RIGHT = 'bottom_right',
}
/**
* @deprecated Only produced by the now-removed `getConsentDialogState` method
* (removed upstream in cordova-plugin-applovin-max@2.0.0).
*/
export enum ConsentDialogState {
UNKNOWN = 0,
APPLIES = 1,
@@ -106,22 +80,11 @@ export class Applovin extends AwesomeCordovaNativePlugin {
return;
}
/**
* Check whether the SDK has been initialized.
*/
@Cordova()
isInitialized(): Promise<boolean> {
return;
}
@Cordova()
showMediationDebugger(): Promise<any> {
return;
}
/**
* @deprecated Removed upstream in cordova-plugin-applovin-max@2.0.0.
*/
@Cordova()
getConsentDialogState(): Promise<ConsentDialogState> {
return;
@@ -137,17 +100,11 @@ export class Applovin extends AwesomeCordovaNativePlugin {
return;
}
/**
* @deprecated Removed upstream in cordova-plugin-applovin-max@2.0.0.
*/
@Cordova()
setIsAgeRestrictedUser(isAgeRestrictedUser: boolean): Promise<any> {
return;
}
/**
* @deprecated Removed upstream in cordova-plugin-applovin-max@2.0.0.
*/
@Cordova()
isAgeRestrictedUser(): Promise<boolean> {
return;
@@ -173,11 +130,8 @@ export class Applovin extends AwesomeCordovaNativePlugin {
return;
}
/**
* @param {boolean} muted Whether ads should be muted.
*/
@Cordova()
setMuted(muted: boolean): Promise<any> {
setMuted(): Promise<boolean> {
return;
}
@@ -191,19 +145,6 @@ export class Applovin extends AwesomeCordovaNativePlugin {
return;
}
/** SEGMENT TARGETING */
/**
* Add a segment for segment targeting. Must be called before `initialize()`.
*
* @param {number} key The segment key.
* @param {number[]} values The segment values.
*/
@Cordova()
addSegment(key: number, values: number[]): Promise<any> {
return;
}
@Cordova()
trackEvent(event: string, parameters?: object): Promise<any> {
return;
@@ -226,11 +167,6 @@ export class Applovin extends AwesomeCordovaNativePlugin {
return;
}
@Cordova()
updateBannerPosition(adUnitId: string, position: AdViewPosition): Promise<any> {
return;
}
@Cordova()
setBannerExtraParameter(adUnitId: string, key: string, value: string): Promise<any> {
return;
@@ -251,46 +187,6 @@ export class Applovin extends AwesomeCordovaNativePlugin {
return;
}
@Cordova({
eventObservable: true,
event: 'OnBannerAdLoadedEvent',
})
onBannerAdLoaded(): Observable<AdInfo> {
return;
}
@Cordova({
eventObservable: true,
event: 'OnBannerAdLoadFailedEvent',
})
onBannerAdLoadFailed(): Observable<AdInfo> {
return;
}
@Cordova({
eventObservable: true,
event: 'OnBannerAdClickedEvent',
})
onBannerAdClicked(): Observable<AdInfo> {
return;
}
@Cordova({
eventObservable: true,
event: 'OnBannerAdExpandedEvent',
})
onBannerAdExpanded(): Observable<AdInfo> {
return;
}
@Cordova({
eventObservable: true,
event: 'OnBannerAdCollapsedEvent',
})
onBannerAdCollapsed(): Observable<AdInfo> {
return;
}
/** MRECS */
@Cordova()
@@ -308,11 +204,6 @@ export class Applovin extends AwesomeCordovaNativePlugin {
return;
}
@Cordova()
updateMRecPosition(adUnitId: string, position: AdViewPosition): Promise<any> {
return;
}
@Cordova()
setMRecExtraParameter(adUnitId: string, key: string, value: string): Promise<any> {
return;
@@ -333,46 +224,6 @@ export class Applovin extends AwesomeCordovaNativePlugin {
return;
}
@Cordova({
eventObservable: true,
event: 'OnMRecAdLoadedEvent',
})
onMRecAdLoaded(): Observable<AdInfo> {
return;
}
@Cordova({
eventObservable: true,
event: 'OnMRecAdLoadFailedEvent',
})
onMRecAdLoadFailed(): Observable<AdInfo> {
return;
}
@Cordova({
eventObservable: true,
event: 'OnMRecAdClickedEvent',
})
onMRecAdClicked(): Observable<AdInfo> {
return;
}
@Cordova({
eventObservable: true,
event: 'OnMRecAdExpandedEvent',
})
onMRecAdExpanded(): Observable<AdInfo> {
return;
}
@Cordova({
eventObservable: true,
event: 'OnMRecAdCollapsedEvent',
})
onMRecAdCollapsed(): Observable<AdInfo> {
return;
}
/** INTERSTITIALS */
@Cordova()
@@ -380,14 +231,6 @@ export class Applovin extends AwesomeCordovaNativePlugin {
return;
}
/**
* @param {string} adUnitId The ad unit id to check.
*/
@Cordova()
isInterstitialReady(adUnitId: string): Promise<boolean> {
return;
}
@Cordova()
showInterstitial(adUnitId: string, placement?: string): Promise<any> {
return;
@@ -406,14 +249,6 @@ export class Applovin extends AwesomeCordovaNativePlugin {
return;
}
@Cordova({
eventObservable: true,
event: 'OnInterstitialClickedEvent',
})
onInterstitialClicked(): Observable<AdInfo> {
return;
}
@Cordova({
eventObservable: true,
event: 'OnInterstitialLoadFailedEvent',
@@ -453,14 +288,6 @@ export class Applovin extends AwesomeCordovaNativePlugin {
return;
}
/**
* @param {string} adUnitId The ad unit id to check.
*/
@Cordova()
isRewardedAdReady(adUnitId: string): Promise<boolean> {
return;
}
@Cordova()
showRewardedAd(adUnitId: string, placement?: string): Promise<any> {
return;
@@ -479,14 +306,6 @@ export class Applovin extends AwesomeCordovaNativePlugin {
return;
}
@Cordova({
eventObservable: true,
event: 'OnRewardedAdClickedEvent',
})
onRewardedAdClicked(): Observable<AdInfo> {
return;
}
@Cordova({
eventObservable: true,
event: 'OnRewardedAdLoadFailedEvent',
@@ -513,17 +332,9 @@ export class Applovin extends AwesomeCordovaNativePlugin {
@Cordova({
eventObservable: true,
event: 'OnRewardedAdFailedToDisplayEvent',
event: 'OnRewardedAdAdFailedToDisplayEvent',
})
onRewardedAdAdFailedToDisplay(): Observable<AdInfo> {
return;
}
@Cordova({
eventObservable: true,
event: 'OnRewardedAdReceivedRewardEvent',
})
onRewardedAdReceivedReward(): Observable<AdRewardInfo> {
return;
}
}
@@ -36,16 +36,6 @@ export interface AppsflyerOptions {
* time for the sdk to wait before launch - IOS 14 ONLY!
*/
waitForATTUserAuthorization?: number;
/**
* For iOS only, to test uninstall in Sandbox environment
*/
useUninstallSandbox?: boolean;
/**
* Prevents the SDK from sending the launch request after calling initSdk(...). When using this property, the app needs to manually trigger the startSdk() API to report the app launch. default=true
*/
shouldStartSdk?: boolean;
}
export interface AppsflyerEvent {
@@ -60,87 +50,6 @@ export interface AppsflyerInviteOptions {
};
}
export interface AppsflyerConsent {
/**
* Indicates whether GDPR regulations apply to the user. Also serves as a flag for compliance with relevant aspects of DMA regulations.
*/
isUserSubjectToGDPR: boolean | null;
/**
* Indicates whether the user has consented to use their data for advertising purposes.
*/
hasConsentForDataUsage: boolean | null;
/**
* Indicates whether the user has consented to use their data for personalized advertising.
*/
hasConsentForAdsPersonalization: boolean | null;
/**
* Indicates whether the user has provided consent for the storage of their advertising data.
*/
hasConsentForAdStorage: boolean | null;
}
export interface AppsflyerPurchaseDetails {
/**
* The purchase type: "subscription" or "one_time_purchase"
*/
purchaseType: string;
/**
* The purchase token from Google Play Store (Android) or transaction ID (iOS)
*/
purchaseToken: string;
/**
* The product identifier
*/
productId: string;
}
/**
* Mediation network values accepted by logAdRevenue's AppsflyerAdRevenueData.mediationNetwork field.
*/
export enum AppsflyerMediationNetwork {
IRONSOURCE = 'ironsource',
APPLOVIN_MAX = 'applovinmax',
GOOGLE_ADMOB = 'googleadmob',
FYBER = 'fyber',
APPODEAL = 'appodeal',
ADMOST = 'Admost',
TOPON = 'Topon',
TRADPLUS = 'Tradplus',
YANDEX = 'Yandex',
CHARTBOOST = 'chartboost',
UNITY = 'Unity',
TOPON_PTE = 'toponpte',
CUSTOM_MEDIATION = 'customMediation',
DIRECT_MONETIZATION_NETWORK = 'directMonetizationNetwork',
}
export interface AppsflyerAdRevenueData {
/**
* The monetization network name
*/
monetizationNetwork: string;
/**
* The mediation network used
*/
mediationNetwork: AppsflyerMediationNetwork;
/**
* ISO 4217 currency code
*/
currencyIso4217Code: string;
/**
* The ad revenue amount
*/
revenue: number;
}
/**
* @name Appsflyer
* @description
@@ -162,9 +71,6 @@ export interface AppsflyerAdRevenueData {
* AppsflyerOptions
* AppsflyerEvent
* AppsflyerInviteOptions
* AppsflyerConsent
* AppsflyerPurchaseDetails
* AppsflyerAdRevenueData
*/
@Plugin({
pluginName: 'Appsflyer',
@@ -303,276 +209,4 @@ export class Appsflyer extends AwesomeCordovaNativePlugin {
*/
@Cordova({ sync: true })
logCrossPromotionAndOpenStore(appId: string, campaign: string, options: object): void {}
/**
* Starts the SDK. Must call initSdk first in order to make this work. Used together with the AppsflyerOptions.shouldStartSdk option.
*/
@Cordova({ sync: true })
startSdk(): void {}
/**
* Register Unified deep link listener. Must be called before initSdk() and it overrides registerOnAppOpenAttribution.
*
* @returns {Promise<any>}
*/
@Cordova()
registerDeepLink(): Promise<any> {
return;
}
/**
* Set the currency code used for in-app purchase events.
*
* @param {string} currencyId ISO 4217 Currency Codes, default 'USD'
*/
@Cordova({ sync: true })
setCurrencyCode(currencyId: string): void {}
/**
* Get the current SDK version
*
* @returns {Promise<any>}
*/
@Cordova()
getSdkVersion(): Promise<any> {
return;
}
/**
* @deprecated deprecated since 6.4.0. Use setSharingFilterForPartners instead
* Used by advertisers to exclude all networks/integrated partners from getting data
*/
@Cordova({ sync: true })
setSharingFilterForAllPartners(): void {}
/**
* @deprecated deprecated since 6.4.0. Use setSharingFilterForPartners instead
* Used by advertisers to exclude specified networks/integrated partners from getting data
*
* @param {string[]} networks Array of partners that need to be excluded
*/
@Cordova({ sync: true })
setSharingFilter(networks: string[]): void {}
/**
* Used by advertisers to exclude specified networks/integrated partners from getting data
*
* @param {string[]} networks Array of partners that need to be excluded
*/
@Cordova({ sync: true })
setSharingFilterForPartners(networks: string[]): void {}
/**
* @deprecated Will be removed in the future. Please use validateAndLogInAppPurchaseV2.
* Receipt validation is a secure mechanism whereby the payment platform (e.g. Apple or Google) validates that an in-app purchase indeed occurred as reported.
*
* @param {AppsflyerEvent} purchaseInfo In-App Purchase parameters
* @returns {Promise<any>}
*/
@Cordova()
validateAndLogInAppPurchase(purchaseInfo: AppsflyerEvent): Promise<any> {
return;
}
/**
* Receipt validation is a secure mechanism whereby the payment platform (e.g. Apple or Google) validates that an in-app purchase indeed occurred as reported. This method uses V2 API.
*
* @param {AppsflyerPurchaseDetails} purchaseDetails Purchase details object containing productId, purchaseToken and purchaseType
* @param {AppsflyerEvent} additionalParameters Additional parameters to include with the purchase event (optional)
* @returns {Promise<any>}
*/
@Cordova()
validateAndLogInAppPurchaseV2(
purchaseDetails: AppsflyerPurchaseDetails,
additionalParameters?: AppsflyerEvent
): Promise<any> {
return;
}
/**
* In app purchase receipt validation Apple environment (production or sandbox)
*
* @param {boolean} isSandbox true if In app purchase is done with sandbox
* @returns {Promise<any>}
*/
@Cordova()
setUseReceiptValidationSandbox(isSandbox: boolean): Promise<any> {
return;
}
/**
* (iOS only) AppsFlyer SDK dynamically loads the Apple iAd.framework. This framework is required to record and measure the performance of Apple Search Ads in your app. If you don't want AppsFlyer to dynamically load this framework, set this property to true.
*
* @param {boolean} collectASA If you don't want AppsFlyer to dynamically load iAd.framework, set this property to true
* @returns {Promise<any>}
*/
@Cordova()
disableCollectASA(collectASA: boolean): Promise<any> {
return;
}
/**
* Disable collection of Apple, Google, Amazon and Open advertising ids (IDFA, GAID, AAID, OAID).
*
* @param {boolean} disableAdvertisingIdentifier Disable collection of advertising ids
* @returns {Promise<any>}
*/
@Cordova()
setDisableAdvertisingIdentifier(disableAdvertisingIdentifier: boolean): Promise<any> {
return;
}
/**
* Set Onelink custom/branded domains. Use this API during the SDK Initialization to indicate branded domains.
*
* @param {string[]} domains String array of branded domains
* @returns {Promise<any>}
*/
@Cordova()
setOneLinkCustomDomains(domains: string[]): Promise<any> {
return;
}
/**
* Support deferred deep linking from Facebook Ads. Use this API before initSdk().
*
* @param {boolean} isEnabled enable support deferred deep linking from Facebook Ads
*/
@Cordova({ sync: true })
enableFacebookDeferredApplinks(isEnabled: boolean): void {}
/**
* Set user emails for FB Advanced Matching
*
* @param {string[]} emails String array of emails
* @returns {Promise<any>}
*/
@Cordova()
setUserEmails(emails: string[]): Promise<any> {
return;
}
/**
* Set phone number for FB Advanced Matching
*
* @param {string} phoneNumber String phone number
* @returns {Promise<any>}
*/
@Cordova()
setPhoneNumber(phoneNumber: string): Promise<any> {
return;
}
/**
* Set custom host prefix and host name
*
* @param {string} hostPrefix host prefix
* @param {string} hostName host name
*/
@Cordova({ sync: true })
setHost(hostPrefix: string, hostName: string): void {}
/**
* Provides app owners with a flexible interface for configuring how deep links are extracted from push notification payloads. Must be called before initSdk().
*
* @param {string[]} path strings array of the path
*/
@Cordova({ sync: true })
addPushNotificationDeepLinkPath(path: string[]): void {}
/**
* Use this API to get the OneLink from click domains that launch the app. Make sure to call this API before SDK initialization.
*
* @param {string[]} urls strings array of domains
*/
@Cordova({ sync: true })
setResolveDeepLinkURLs(urls: string[]): void {}
/**
* Enable or disable SKAD support. Set true if you want to disable it. Must be called before initSdk() and for iOS only.
*
* @param {boolean} isDisabled disable or enable SKAD support
*/
@Cordova({ sync: true })
disableSKAD(isDisabled: boolean): void {}
/**
* Set the language of the device. The data will be displayed in Raw Data Reports. Must be called before initSdk() and for iOS only.
*
* @param {string} language The device language
*/
@Cordova({ sync: true })
setCurrentDeviceLanguage(language: string): void {}
/**
* Allows you to add custom data to events sent from the SDK. Typically used to integrate on the SDK level with several external partner platforms.
*
* @param {AppsflyerEvent} additionalData custom data
*/
@Cordova({ sync: true })
setAdditionalData(additionalData: AppsflyerEvent): void {}
/**
* Allows sending custom data for partner integration purposes.
*
* @param {string} partnerId ID of the partner (usually suffixed with "_int")
* @param {AppsflyerEvent} data Customer data, depends on the integration configuration with the specific partner
*/
@Cordova({ sync: true })
setPartnerData(partnerId: string, data: AppsflyerEvent): void {}
/**
* Measure and get data from push-notification campaigns.
*
* @param {AppsflyerEvent} pushData JSON object contains the push data
*/
@Cordova({ sync: true })
sendPushNotificationData(pushData: AppsflyerEvent): void {}
/**
* Use to opt-out of collecting the network operator name (carrier) and sim operator name from the device.
*
* @param {boolean} disable Defaults to false
*/
@Cordova({ sync: true })
setDisableNetworkData(disable: boolean): void {}
/**
* Set consent fields manually (e.g. by prompting user and collecting results). Use this API to provide the consent data directly to the SDK when GDPR applies to the user and your app does not use a CMP compatible with TCF v2.2.
*
* @param {AppsflyerConsent} appsFlyerConsent Consent data
*/
@Cordova({ sync: true })
setConsentData(appsFlyerConsent: AppsflyerConsent): void {}
/**
* Instruct the SDK to collect the TCF data from the device.
*
* @param {boolean} enable enable/disable TCF data collection
*/
@Cordova({ sync: true })
enableTCFDataCollection(enable: boolean): void {}
/**
* Log ad revenue event.
*
* @param {AppsflyerAdRevenueData} adRevenueData the ad revenue data
* @param {AppsflyerEvent} additionalParameters additional params data (optional)
*/
@Cordova({ sync: true })
logAdRevenue(adRevenueData: AppsflyerAdRevenueData, additionalParameters?: AppsflyerEvent): void {}
/**
* (Android only) Disables App Set ID collection (enabled by default).
*/
@Cordova({ sync: true })
disableAppSetId(): void {}
/**
* (iOS) Log deep linking. Add a function 'handleOpenUrl' to your root and call this to track deeplinks with AppsFlyer attribution data.
*
* @param {string} url the opened url
*/
@Cordova({ sync: true })
handleOpenUrl(url: string): void {}
}
@@ -1,196 +1,18 @@
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';
import { Injectable } from '@angular/core';
/**
* Authorization status of the Background Fetch API. Returned by `BackgroundFetch#configure` and `BackgroundFetch#status`.
*
* @since 7.0.0
*/
export enum BackgroundFetchStatus {
/**
* Background fetch updates are unavailable and the user cannot enable them again.
* For example, this status can occur when parental controls are in effect for the current user.
*/
STATUS_RESTRICTED = 0,
/**
* The user explicitly disabled background behavior for this app or for the whole system.
*/
STATUS_DENIED = 1,
/**
* Background fetch is available and enabled.
*/
STATUS_AVAILABLE = 2,
}
/**
* [Android only] Network type constraint for scheduled tasks. Used with `BackgroundFetchConfig#requiredNetworkType`
* and `BackgroundFetchTaskConfig#requiredNetworkType`.
*
* @since 7.0.0
*/
export enum BackgroundFetchNetworkType {
/**
* No network constraint. The task will run regardless of network state.
*/
NONE = 0,
/**
* The task requires any active network connection.
*/
ANY = 1,
/**
* The task requires an unmetered (e.g. Wi-Fi) network connection.
*/
UNMETERED = 2,
/**
* The task requires a non-roaming network connection.
*/
NOT_ROAMING = 3,
/**
* The task requires a cellular (mobile data) network connection.
*/
CELLULAR = 4,
}
/**
* Configuration properties shared by both `BackgroundFetchConfig` and `BackgroundFetchTaskConfig`.
*
* Aside from `stopOnTerminate`, all properties are Android-only. iOS manages background execution
* through its own system-controlled Background Fetch mechanism and does not support these constraints.
*/
export interface BackgroundFetchAbstractConfig {
export interface BackgroundFetchConfig {
/**
* Set true to cease background-fetch from operating after user "closes" the app. Defaults to true.
*/
stopOnTerminate?: boolean;
/**
* [Android only] Set `true` to initiate background-fetch events when the device is rebooted. Defaults to `false`.
* NOTE: `startOnBoot` requires `stopOnTerminate: false`.
*
* @since 7.0.0
*/
startOnBoot?: boolean;
/**
* [Android only] Set `true` to enable the Headless mechanism for handling fetch events after app termination.
* Defaults to `false`. NOTE: Requires `stopOnTerminate: false`.
*
* @since 7.0.0
*/
enableHeadless?: boolean;
/**
* [Android only] By default, the plugin uses Android's `JobScheduler` when possible and falls back to
* `AlarmManager` for older devices. Set `true` to always use `AlarmManager` regardless of API level.
* Defaults to `false`.
*
* @since 7.0.0
*/
forceAlarmManager?: boolean;
/**
* [Android only] Specify the kind of network connectivity required to run this task. Defaults to
* `BackgroundFetchNetworkType.NONE`.
*
* @since 7.0.0
*/
requiredNetworkType?: BackgroundFetchNetworkType;
/**
* [Android only] Set `true` to require the device's battery level to be above the "low battery" threshold
* before running this task. Defaults to `false`.
*
* @since 7.0.0
*/
requiresBatteryNotLow?: boolean;
/**
* [Android only] Set `true` to require the device's available storage to be above the "low storage"
* threshold before running this task. Defaults to `false`.
*
* @since 7.0.0
*/
requiresStorageNotLow?: boolean;
/**
* [Android only] Set `true` to require the device to be charging (or connected to permanent power, such
* as an Android TV device) before running this task. Defaults to `false`.
*
* @since 7.0.0
*/
requiresCharging?: boolean;
/**
* [Android only] Set `true` to require the device to be idle (not actively used) before running this task.
* Defaults to `false`.
*
* @since 7.0.0
*/
requiresDeviceIdle?: boolean;
}
export interface BackgroundFetchConfig extends BackgroundFetchAbstractConfig {
/**
* The minimum interval in **minutes** between background-fetch events. Defaults to `15` minutes. The
* minimum allowed value is `15` minutes.
*
* NOTE: The OS does not guarantee fetch events will fire at exactly this interval. iOS adjusts the
* interval based on usage patterns and system conditions. This value is a *minimum*, not a schedule.
*
* @since 7.0.0
*/
minimumFetchInterval?: number;
}
/**
* Configuration for a custom scheduled task, provided to `BackgroundFetch#scheduleTask`.
*
* @since 7.0.0
*/
export interface BackgroundFetchTaskConfig extends BackgroundFetchAbstractConfig {
/**
* A unique identifier for this task. Use the same `taskId` with `BackgroundFetch#finish` to signal
* completion and with `BackgroundFetch#stopTask` to cancel it. Use reverse-domain notation to avoid
* collisions (e.g. `'com.foo.sync'`).
*/
taskId: string;
/**
* The minimum delay in **milliseconds** before this task runs.
*
* NOTE: On iOS, the system may delay the task beyond this value depending on device conditions. On
* Android, `JobScheduler` treats this as a minimum delay.
*/
delay: number;
/**
* Set `true` to schedule a repeating task. Defaults to `false` (one-shot).
*/
periodic?: boolean;
/**
* [iOS only] Set `true` to require a network connection before running this task. On Android, use
* `requiredNetworkType` instead.
*/
requiresNetworkConnectivity?: boolean;
}
/**
* @name Background Fetch
* @description
* Cross-platform Background Fetch implementation. This plugin will execute your provided callbackFn
* whenever a background-fetch event occurs.
*
* ### iOS
* 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 -- 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).
*
* ### Android
* Uses `JobScheduler` (API 21+) or `AlarmManager` to schedule periodic callbacks. Additional constraints
* (network, charging, idle) can be set via `BackgroundFetchConfig`.
*
* iOS Background Fetch Implementation. See: 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
* @usage
*
@@ -201,23 +23,17 @@ export interface BackgroundFetchTaskConfig extends BackgroundFetchAbstractConfig
* constructor(private backgroundFetch: BackgroundFetch) {
*
* const config: BackgroundFetchConfig = {
* minimumFetchInterval: 15,
* stopOnTerminate: false, // Set true to cease background-fetch from operating after user "closes" the app. Defaults to true.
* }
*
* backgroundFetch.configure(config, (taskId: string) => {
* backgroundFetch.configure(config)
* .then(() => {
* console.log('Background Fetch initialized');
*
* console.log('Background Fetch event received', taskId);
* this.backgroundFetch.finish();
*
* this.backgroundFetch.finish(taskId);
*
* }, (taskId: string) => {
* // OS has signalled that remaining background time is about to expire.
* console.log('Background Fetch TIMEOUT', taskId);
* this.backgroundFetch.finish(taskId);
* }).then((status) => {
* console.log('Background Fetch initialized', status);
* }).catch(e => console.log('Error initializing background fetch', e));
* })
* .catch(e => console.log('Error initializing background fetch', e));
*
* // Start the background-fetch API. Your callbackFn provided to #configure will be executed each time a background-fetch event occurs. NOTE the #configure method automatically calls #start. You do not have to call this method after you #configure the plugin
* backgroundFetch.start();
@@ -231,38 +47,26 @@ export interface BackgroundFetchTaskConfig extends BackgroundFetchAbstractConfig
* ```
* @interfaces
* BackgroundFetchConfig
* BackgroundFetchTaskConfig
*/
@Plugin({
pluginName: 'BackgroundFetch',
plugin: 'cordova-plugin-background-fetch',
pluginRef: 'BackgroundFetch',
repo: 'https://github.com/transistorsoft/cordova-plugin-background-fetch',
platforms: ['Android', 'iOS'],
platforms: ['iOS'],
})
@Injectable()
export class BackgroundFetch extends AwesomeCordovaNativePlugin {
/**
* Configures the plugin's fetch callbackFn.
*
* Calling `configure` automatically starts background-fetch (equivalent to calling `#start` immediately
* after configuration).
* Configures the plugin's fetch callbackFn
*
* @param {BackgroundFetchConfig} config Configuration for plugin
* @param {Function} [onEvent] Callback fired when a background-fetch event is received. The `taskId`
* string identifies which task fired -- pass it to `#finish` when done. Required as of plugin `7.0.0`.
* @param {Function} [onTimeout] Callback fired when the OS signals that remaining background time is
* about to expire. Call `#finish` immediately. Added in plugin `7.0.0`.
* @returns {Promise<any>}
*/
@Cordova({
otherPromise: true,
callbackOrder: 'reverse',
})
configure(
config: BackgroundFetchConfig,
onEvent?: (taskId: string) => void,
onTimeout?: (taskId: string) => void
): Promise<any> {
configure(config: BackgroundFetchConfig): Promise<any> {
return;
}
@@ -306,33 +110,4 @@ export class BackgroundFetch extends AwesomeCordovaNativePlugin {
status(): Promise<any> {
return;
}
/**
* Schedule a custom one-shot or periodic background task in addition to the default fetch callback
* registered with `#configure`.
*
* Custom tasks fire the same callback registered via `#configure`'s `onEvent` argument, with their
* unique `taskId`. Use `#finish` with that `taskId` to signal completion.
*
* @param {BackgroundFetchTaskConfig} config Task configuration, including a unique `taskId` and a
* minimum `delay` in milliseconds.
* @returns {Promise<any>}
* @since 7.0.0
*/
@Cordova()
scheduleTask(config: BackgroundFetchTaskConfig): Promise<any> {
return;
}
/**
* Cancel a specific task previously scheduled via `#scheduleTask`, identified by its `taskId`.
*
* @param taskId The identifier of the scheduled task to stop.
* @returns {Promise<any>}
* @since 7.0.0
*/
@Cordova()
stopTask(taskId: string): Promise<any> {
return;
}
}
@@ -21,8 +21,6 @@ export interface UploadEvent {
errorCode?: number; // error code for any exception encountered
progress?: any; // progress for ongoing upload
eventId?: string; // id of the event
uploadDuration?: number; // duration of the upload in milliseconds (UPLOADED state only)
finishUploadTime?: number; // timestamp (ms) at which the upload finished (UPLOADED state only)
}
export interface FTMPayloadOptions {
File diff suppressed because it is too large Load Diff
@@ -36,40 +36,6 @@ export interface BranchIoProperties {
[x: string]: any;
}
export interface BranchIoQRCodeSettings {
codeColor?: string;
backgroundColor?: string;
centerLogo?: string;
width?: number;
margin?: number;
imageFormat?: 'PNG' | 'JPEG';
[x: string]: any;
}
export interface BranchIoStandardEvents {
STANDARD_EVENT_ADD_TO_CART: string;
STANDARD_EVENT_ADD_TO_WISHLIST: string;
STANDARD_EVENT_VIEW_CART: string;
STANDARD_EVENT_INITIATE_PURCHASE: string;
STANDARD_EVENT_ADD_PAYMENT_INFO: string;
STANDARD_EVENT_PURCHASE: string;
STANDARD_EVENT_SEARCH: string;
STANDARD_EVENT_VIEW_ITEM: string;
STANDARD_EVENT_VIEW_ITEMS: string;
STANDARD_EVENT_RATE: string;
STANDARD_EVENT_SHARE: string;
STANDARD_EVENT_INITIATE_STREAM: string;
STANDARD_EVENT_COMPLETE_STREAM: string;
STANDARD_EVENT_COMPLETE_REGISTRATION: string;
STANDARD_EVENT_COMPLETE_TUTORIAL: string;
STANDARD_EVENT_ACHIEVE_LEVEL: string;
STANDARD_EVENT_UNLOCK_ACHIEVEMENT: string;
STANDARD_EVENT_INVITE: string;
STANDARD_EVENT_LOGIN: string;
STANDARD_EVENT_SUBSCRIBE: string;
STANDARD_EVENT_START_TRIAL: string;
}
export interface BranchUniversalObject {
generateShortUrl(analytics: BranchIoAnalytics, properties: BranchIoProperties): Promise<any>;
registerView(): Promise<any>;
@@ -97,8 +63,6 @@ export interface BranchUniversalObject {
* BranchIoPromise
* BranchIoAnalytics
* BranchIoProperties
* BranchIoQRCodeSettings
* BranchIoStandardEvents
* BranchUniversalObject
*/
@Plugin({
@@ -113,7 +77,6 @@ export class BranchIo extends AwesomeCordovaNativePlugin {
/**
* for development and debugging only
*
* @deprecated since branch-cordova-sdk v6.1.0. Use setLogging instead.
* @param {boolean} enable Enable debug
* @returns {Promise<any>}
*/
@@ -122,27 +85,6 @@ export class BranchIo extends AwesomeCordovaNativePlugin {
return;
}
/**
* Enables debug logging in the native layer. Must be called before initSession.
*
* @param {boolean} enable Enable logging
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
setLogging(enable: boolean): Promise<any> {
return;
}
/**
* Enables test mode. Must be called before initSession.
*
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
enableTestMode(): Promise<any> {
return;
}
/**
* Disable tracking
*
@@ -167,7 +109,6 @@ export class BranchIo extends AwesomeCordovaNativePlugin {
/**
* Initializes Branch with callback
*
* @deprecated not present in branch-cordova-sdk (absent since at least v3.4.0, still absent in v6.6.1). Use initSession instead.
* @returns {Observable<any>}
*/
@Cordova({ observable: true })
@@ -178,12 +119,10 @@ export class BranchIo extends AwesomeCordovaNativePlugin {
/**
* Set Request Metadata
*
* @param {string} key
* @param {string} val
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
setRequestMetadata(key: string, val: string): Promise<any> {
setRequestMetadata(): Promise<any> {
return;
}
@@ -218,26 +157,6 @@ export class BranchIo extends AwesomeCordovaNativePlugin {
return;
}
/**
* Get the cross platform and developer identity data most recently set
*
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
crossPlatformIds(): Promise<any> {
return;
}
/**
* Get the last attributed touch data
*
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
lastAttributedTouchData(): Promise<any> {
return;
}
/**
* Set identy of user
*
@@ -262,7 +181,6 @@ export class BranchIo extends AwesomeCordovaNativePlugin {
/**
* Registers a custom event
*
* @deprecated since branch-cordova-sdk v5.0.0. Use sendBranchEvent instead.
* @param {string} eventName
* @param {any} metaData
* @returns {Promise<any>}
@@ -297,16 +215,6 @@ export class BranchIo extends AwesomeCordovaNativePlugin {
return;
}
/**
* Get the map of Branch standard event names
*
* @returns {Promise<BranchIoStandardEvents>}
*/
@Cordova({ otherPromise: true })
getStandardEvents(): Promise<BranchIoStandardEvents> {
return;
}
/**
* create a branchUniversalObj variable to reference with other Branch methods
*
@@ -318,29 +226,9 @@ export class BranchIo extends AwesomeCordovaNativePlugin {
return;
}
/**
* Generate a Branch QR code as a base64 encoded image
*
* @param {BranchIoQRCodeSettings} qrCodeSettings
* @param {BranchUniversalObject} branchUniversalObject
* @param {BranchIoAnalytics} analytics
* @param {BranchIoProperties} properties
* @returns {Promise<string>}
*/
@Cordova({ otherPromise: true })
getBranchQRCode(
qrCodeSettings: BranchIoQRCodeSettings,
branchUniversalObject: BranchUniversalObject,
analytics: BranchIoAnalytics,
properties: BranchIoProperties
): Promise<string> {
return;
}
/**
* Load credits
*
* @deprecated since branch-cordova-sdk v5.0.0. Branch's Rewards/Credits feature was removed upstream.
* @param {any} bucket
* @returns {Promise<any>}
*/
@@ -352,7 +240,6 @@ export class BranchIo extends AwesomeCordovaNativePlugin {
/**
* Redeem Rewards
*
* @deprecated since branch-cordova-sdk v5.0.0. Branch's Rewards/Credits feature was removed upstream.
* @param {string} value
* @param {any} bucket
* @returns {Promise<any>}
@@ -365,73 +252,10 @@ export class BranchIo extends AwesomeCordovaNativePlugin {
/**
* Show credit history
*
* @deprecated since branch-cordova-sdk v5.0.0. Branch's Rewards/Credits feature was removed upstream.
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
creditHistory(): Promise<any> {
return;
}
/**
* Sets Digital Markets Act (DMA) consent parameters for users in the European Economic Area
*
* @param {boolean} eeaRegion whether the user is in the EEA
* @param {boolean} adPersonalizationConsent whether the user has consented to ad personalization
* @param {boolean} adUserDataUsageConsent whether the user has consented to ad user data usage
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
setDMAParamsForEEA(
eeaRegion: boolean,
adPersonalizationConsent: boolean,
adUserDataUsageConsent: boolean
): Promise<any> {
return;
}
/**
* Sets the Consumer Protection Attribution (CPP) level
*
* @param {string} level one of 'FULL', 'REDUCED', 'MINIMAL', 'NONE'
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true })
setConsumerProtectionAttributionLevel(level: string): Promise<any> {
return;
}
/**
* Sets the SDK wait time, in seconds, for third party API responses (Google On Device Measurement). iOS only.
*
* @param {number} waitTime
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true, platforms: ['iOS'] })
setSDKWaitTimeForThirdPartyAPIs(waitTime: number): Promise<any> {
return;
}
/**
* Sets a custom Meta anonymous ID for the current user. iOS only.
*
* @param {string} anonID
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true, platforms: ['iOS'] })
setAnonID(anonID: string): Promise<any> {
return;
}
/**
* Passes Google On Device Measurement (ODM) event data and the app's first-open timestamp. iOS only.
*
* @param {string} odmInfo
* @param {number} firstOpenTimeStamp
* @returns {Promise<any>}
*/
@Cordova({ otherPromise: true, platforms: ['iOS'] })
setODMInfo(odmInfo: string, firstOpenTimeStamp: number): Promise<any> {
return;
}
}
@@ -30,9 +30,9 @@ export interface CameraPreviewOptions {
/** Preview box drag across the screen, default 'false' */
previewDrag?: boolean;
/** Capture images to a file and return back the file path instead of returning base64 encoded data. Defaults to false */
storeToFile?: boolean;
/** Capture images to a file and return back the file path instead of returning base64 encoded data. */
storeToFile: boolean;
/** Preview box to the back of the webview (true => back, false => front) , default false */
toBack?: boolean;
@@ -166,19 +166,6 @@ export class CameraPreview extends AwesomeCordovaNativePlugin {
CUSTOM: 'custom',
};
WHITE_BALANCE_MODE = {
LOCK: 'lock',
AUTO: 'auto',
CONTINUOUS: 'continuous',
INCANDESCENT: 'incandescent',
CLOUDY_DAYLIGHT: 'cloudy-daylight',
DAYLIGHT: 'daylight',
FLUORESCENT: 'fluorescent',
SHADE: 'shade',
TWILIGHT: 'twilight',
WARM_FLUORESCENT: 'warm-fluorescent',
};
FLASH_MODE = {
OFF: 'off',
ON: 'on',
@@ -310,16 +297,6 @@ export class CameraPreview extends AwesomeCordovaNativePlugin {
return;
}
/**
* Get color effects supported by the camera device currently started. Android only.
*
* @returns {Promise<any>}
*/
@Cordova()
getSupportedColorEffects(): Promise<any> {
return;
}
/**
*
* Set camera color effect.
@@ -530,40 +507,6 @@ export class CameraPreview extends AwesomeCordovaNativePlugin {
return;
}
/**
* Get white balance modes supported by the camera device currently started.
*
* @returns {Promise<any>}
*/
@Cordova()
getSupportedWhiteBalanceModes(): Promise<any> {
return;
}
/**
* Get the current white balance mode of the camera device currently started.
*
* @returns {Promise<any>}
*/
@Cordova()
getWhiteBalanceMode(): Promise<any> {
return;
}
/**
* Set the white balance mode for the camera device currently started.
*
* @param {string} [whiteBalanceMode] 'lock', 'auto', 'continuous', 'incandescent', 'cloudy-daylight', 'daylight', 'fluorescent', 'shade', 'twilight' or 'warm-fluorescent'
* @returns {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
setWhiteBalanceMode(whiteBalanceMode?: string): Promise<any> {
return;
}
/**
* Set specific focus point. Note, this assumes the camera is full-screen.
*
@@ -605,18 +548,4 @@ export class CameraPreview extends AwesomeCordovaNativePlugin {
getCameraCharacteristics(): Promise<any> {
return;
}
/**
* Convert a local file (e.g. a `file://` path returned by takePicture with storeToFile) into a Blob.
*
* @param {string} path the local url to convert
* @returns {Promise<any>}
*/
@Cordova({
successIndex: 1,
errorIndex: 2,
})
getBlob(path: string): Promise<any> {
return;
}
}
@@ -304,7 +304,6 @@ export class CFPaymentGateway extends AwesomeCordovaNativePlugin {
/**
* Initiate Drop Payment.
* @param {CFDropCheckoutPayment} [dropObject] dropPaymentObject information
* @deprecated Use doWebCheckoutPayment instead. Deprecated upstream as of cordova-plugin-cashfree-pg 1.1.0.
*/
@Cordova()
doDropPayment(dropObject: CFDropCheckoutPayment) {
@@ -62,35 +62,35 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
return;
}
/**
* Sets the user's consent for event and profile tracking.
*
* You must call this method separately for each active user profile,
* for example, when switching user profiles using `onUserLogin`.
*
* Consent Scenarios:
*
* 1. **Complete Opt-Out**
* `userOptOut = true`, `allowSystemEvents = false`
* → No events (custom or system) are saved locally or remotely. Maximum privacy.
*
* 2. **Full Opt-In**
* `userOptOut = false`, `allowSystemEvents = true`
* → All events (custom and system) are tracked. Default behavior.
*
* 3. **Partial Opt-In**
* `userOptOut = true`, `allowSystemEvents = true`
* → Only system events (e.g., app launch, notification viewed) are tracked. Custom events are ignored.
*
* ⚠️ The combination `userOptOut = false` and `allowSystemEvents = false` is invalid.
* In such cases, the SDK defaults to **Full Opt-In**.
*
* To re-enable full tracking after opting out, call with:
* `userOptOut = false`, `allowSystemEvents = true`.
*
* @param {boolean} userOptOut - Set to `true` to disable custom event tracking.
* @param {boolean} allowSystemEvents - Set to `true` to allow system-level event tracking.
*/
/**
* Sets the user's consent for event and profile tracking.
*
* You must call this method separately for each active user profile,
* for example, when switching user profiles using `onUserLogin`.
*
* Consent Scenarios:
*
* 1. **Complete Opt-Out**
* `userOptOut = true`, `allowSystemEvents = false`
* → No events (custom or system) are saved locally or remotely. Maximum privacy.
*
* 2. **Full Opt-In**
* `userOptOut = false`, `allowSystemEvents = true`
* → All events (custom and system) are tracked. Default behavior.
*
* 3. **Partial Opt-In**
* `userOptOut = true`, `allowSystemEvents = true`
* → Only system events (e.g., app launch, notification viewed) are tracked. Custom events are ignored.
*
* ⚠️ The combination `userOptOut = false` and `allowSystemEvents = false` is invalid.
* In such cases, the SDK defaults to **Full Opt-In**.
*
* To re-enable full tracking after opting out, call with:
* `userOptOut = false`, `allowSystemEvents = true`.
*
* @param {boolean} userOptOut - Set to `true` to disable custom event tracking.
* @param {boolean} allowSystemEvents - Set to `true` to allow system-level event tracking.
*/
@Cordova()
setOptOut(optOut: boolean, allowSystemEvents?: boolean): Promise<any> {
return;
@@ -361,7 +361,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
*/
@Cordova()
getUserEventLog(eventName: string): Promise<any> {
return;
return;
}
/**
@@ -372,7 +372,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
*/
@Cordova()
getUserEventLogCount(eventName: string): Promise<any> {
return;
return;
}
/**
@@ -382,7 +382,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
*/
@Cordova()
getUserLastVisitTs(): Promise<any> {
return;
return;
}
/**
@@ -392,7 +392,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
*/
@Cordova()
getUserAppLaunchCount(): Promise<any> {
return;
return;
}
/**
@@ -402,9 +402,10 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
*/
@Cordova()
getUserEventLogHistory(): Promise<any> {
return;
return;
}
/**
* @deprecated - Use getUserEventLog() instead
* Get Event First Time
@@ -669,7 +670,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
* @returns {Promise<any>}
*/
@Cordova()
profileIncrementValueBy(key: string, value: number): Promise<any> {
profileIncrementValueBy(key: string,value: number): Promise<any> {
return;
}
@@ -681,7 +682,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
* @returns {Promise<any>}
*/
@Cordova()
profileDecrementValueBy(key: string, value: number): Promise<any> {
profileDecrementValueBy(key: string,value: number): Promise<any> {
return;
}
@@ -705,12 +706,9 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
* Discards inApp notifications until 'resumeInAppNotifications' is called for current session.
* Automatically resumes InApp notifications display on CleverTap shared instance creation.
* Pending inApp notifications are not displayed.
*
* @param dismissInAppIfVisible {boolean} - Optional. If true, also dismisses the currently visible InApp notification.
* @returns {Promise<any>}
*/
@Cordova()
discardInAppNotifications(dismissInAppIfVisible?: boolean): Promise<any> {
discardInAppNotifications(): Promise<any> {
return;
}
@@ -741,10 +739,10 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
* @param expiredOnly {boolean} - to clear only assets which will not be needed further for inapps
* @returns {Promise<any>}
*/
@Cordova()
clearFileResources(expiredOnly: boolean): Promise<any> {
return;
}
@Cordova()
clearFileResources(expiredOnly: boolean): Promise<any> {
return;
}
/**
* Fetches In Apps from server.
@@ -756,6 +754,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
return;
}
/*******************
* Session
******************/
@@ -1222,10 +1221,10 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
* @returns {Promise<any>}
* @param {string} variable The String specifying the name of file varible to be created.
*/
@Cordova()
defineFileVariable(variable: string): Promise<any> {
return;
}
@Cordova()
defineFileVariable(variable: string): Promise<any> {
return;
}
/**
* Get a variable or a group for the specified name.
@@ -1246,28 +1245,6 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
return;
}
/**
* Returns information about the active A/B experiment variants for the current user.
* Each variant object contains an "id" key mapping to the numeric ID of the variant.
*
* @returns {Promise<any>} - Returns an array of variant objects.
*/
@Cordova()
variants(): Promise<any> {
return;
}
/**
* Clears any active mute state set by the backend, allowing the SDK to resume
* normal event tracking and network operations immediately.
*
* @returns {Promise<any>}
*/
@Cordova()
unmute(): Promise<any> {
return;
}
/**
* Adds a callback to be invoked when variables are initialised with server values. Will be called each time new values are fetched.
* @returns {Promise<any>}
@@ -1287,6 +1264,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
return;
}
/**
* Called when the value of the file variable is downloaded and ready
* @param {name} string the name of the variable
@@ -1324,6 +1302,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
return;
}
/****************************
* Custom Templates methods
****************************/
@@ -1352,104 +1331,105 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
}
/**
* Notify the SDK that an active custom template is dismissed. The active custom template is considered to be
* visible to the user until this method is called. Since the SDK can show only one InApp message at a time, all
* other messages will be queued until the current one is dismissed.
* @param {string} templateName The name of the active template
* @returns {Promise<any>}
*/
* Notify the SDK that an active custom template is dismissed. The active custom template is considered to be
* visible to the user until this method is called. Since the SDK can show only one InApp message at a time, all
* other messages will be queued until the current one is dismissed.
* @param {string} templateName The name of the active template
* @returns {Promise<any>}
*/
@Cordova()
customTemplateSetDismissed(templateName: string): Promise<any> {
return;
}
/**
* Notify the SDK that an active custom template is presented to the user.
* @param {string} templateName The name of the active template
* @returns {Promise<any>}
*/
* Notify the SDK that an active custom template is presented to the user.
* @param {string} templateName The name of the active template
* @returns {Promise<any>}
*/
@Cordova()
customTemplateSetPresented(templateName: string): Promise<any> {
return;
}
/**
* Trigger a custom template action argument by name.
*
* @param {string} templateName The name of an active template for which the action is defined
* @param {string} argName The action argument na
* @returns {Promise<any>}
*/
* Trigger a custom template action argument by name.
*
* @param {string} templateName The name of an active template for which the action is defined
* @param {string} argName The action argument na
* @returns {Promise<any>}
*/
@Cordova()
customTemplateRunAction(templateName: string, argName: string): Promise<any> {
return;
}
/**
* Retrieve a string argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
* Retrieve a string argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
@Cordova()
customTemplateGetStringArg(templateName: string, argName: string): Promise<any> {
return;
}
/**
* Retrieve a number argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
* Retrieve a number argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
@Cordova()
customTemplateGetNumberArg(templateName: string, argName: string): Promise<any> {
return;
}
/**
* Retrieve a boolean argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
* Retrieve a boolean argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
@Cordova()
customTemplateGetBooleanArg(templateName: string, argName: string): Promise<any> {
return;
}
/**
* Retrieve a file argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
* Retrieve a file argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
@Cordova()
customTemplateGetFileArg(templateName: string, argName: string): Promise<any> {
return;
}
/**
* Retrieve an object argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
* Retrieve an object argument by name.
*
* @param {string} templateName The name of an active template for which the argument is defined
* @param {string} argName The action argument name
* @returns {Promise<any>}
*/
@Cordova()
customTemplateGetObjectArg(templateName: string, argName: string): Promise<any> {
return;
}
/**
* Get a string representation of an active's template context with information about all arguments.
* @param {string} templateName The name of an active template
* @returns {Promise<any>}
*/
* Get a string representation of an active's template context with information about all arguments.
* @param {string} templateName The name of an active template
* @returns {Promise<any>}
*/
@Cordova()
customTemplateContextToString(templateName: string): Promise<any> {
return;
@@ -1489,6 +1469,7 @@ export class CleverTap extends AwesomeCordovaNativePlugin {
return;
}
/*******************
* Developer Options
******************/
@@ -32,13 +32,6 @@ import { Cordova, CordovaProperty, AwesomeCordovaNativePlugin, Plugin } from '@a
*
* ```
*/
export interface DiagnosticLocalNetworkAuthorizationOptions {
/**
* Override the default fallback timeout (2000ms) before treating a slow response as indeterminate (`UNKNOWN`).
*/
timeoutMs?: number;
}
@Plugin({
pluginName: 'Diagnostic',
plugin: 'cordova.plugins.diagnostic',
@@ -53,7 +46,6 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
ACCESS_BACKGROUND_LOCATION: 'ACCESS_BACKGROUND_LOCATION',
ACCESS_COARSE_LOCATION: 'ACCESS_COARSE_LOCATION',
ACCESS_FINE_LOCATION: 'ACCESS_FINE_LOCATION',
ACCESS_LOCAL_NETWORK: 'ACCESS_LOCAL_NETWORK',
ACCESS_MEDIA_LOCATION: 'ACCESS_MEDIA_LOCATION',
ACTIVITY_RECOGNITION: 'ACTIVITY_RECOGNITION',
ADD_VOICEMAIL: 'ADD_VOICEMAIL',
@@ -69,7 +61,6 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
NEARBY_WIFI_DEVICES: 'NEARBY_WIFI_DEVICES',
POST_NOTIFICATIONS: 'POST_NOTIFICATIONS',
PROCESS_OUTGOING_CALLS: 'PROCESS_OUTGOING_CALLS',
RANGING: 'RANGING',
READ_CALENDAR: 'READ_CALENDAR',
READ_CALL_LOG: 'READ_CALL_LOG',
READ_CONTACTS: 'READ_CONTACTS',
@@ -77,7 +68,6 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
READ_MEDIA_AUDIO: 'READ_MEDIA_AUDIO',
READ_MEDIA_IMAGES: 'READ_MEDIA_IMAGES',
READ_MEDIA_VIDEO: 'READ_MEDIA_VIDEO',
READ_MEDIA_VISUAL_USER_SELECTED: 'READ_MEDIA_VISUAL_USER_SELECTED',
READ_PHONE_NUMBERS: 'READ_PHONE_NUMBERS',
READ_PHONE_STATE: 'READ_PHONE_STATE',
READ_SMS: 'READ_SMS',
@@ -109,11 +99,6 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
EPHEMERAL: string;
PROVISIONAL: string;
LIMITED: string;
/**
* Returned when the underlying OS has not yet provided a concrete status (for example, if an iOS
* Local Network probe timed out). Treat this as a transient state and retry before surfacing a denial to the user.
*/
UNKNOWN: string;
};
locationAuthorizationMode = {
@@ -125,22 +110,8 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
* Location accuracy authorization
*/
locationAccuracyAuthorization = {
/** Alias for BEST. On iOS, sets `kCLLocationAccuracyBest`. */
FULL: 'full',
/** On iOS, sets `kCLLocationAccuracyReduced` - approximate location, no GPS. */
REDUCED: 'reduced',
/** On iOS, sets `kCLLocationAccuracyBest`. May engage GPS hardware. */
BEST: 'best',
/** On iOS, sets `kCLLocationAccuracyBestForNavigation`. Highest accuracy using additional sensor data. */
BEST_FOR_NAVIGATION: 'bestForNavigation',
/** On iOS, sets `kCLLocationAccuracyNearestTenMeters`. */
NEAREST_TEN_METERS: 'nearestTenMeters',
/** On iOS, sets `kCLLocationAccuracyHundredMeters`. */
HUNDRED_METERS: 'hundredMeters',
/** On iOS, sets `kCLLocationAccuracyKilometer`. */
KILOMETER: 'kilometer',
/** On iOS, sets `kCLLocationAccuracyThreeKilometers`. */
THREE_KILOMETERS: 'threeKilometers',
};
permissionGroups = {
@@ -161,7 +132,7 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
SENSORS: ['BODY_SENSORS'],
SMS: ['SEND_SMS', 'RECEIVE_SMS', 'READ_SMS', 'RECEIVE_WAP_PUSH', 'RECEIVE_MMS'],
STORAGE: ['READ_EXTERNAL_STORAGE', 'WRITE_EXTERNAL_STORAGE'],
NEARBY_DEVICES: ['BLUETOOTH_ADVERTISE', 'BLUETOOTH_SCAN', 'BLUETOOTH_CONNECT'],
NEARBY_DEVICES: ["BLUETOOTH_ADVERTISE", "BLUETOOTH_SCAN", "BLUETOOTH_CONNECT"],
};
locationMode = {
@@ -193,21 +164,21 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
@CordovaProperty()
cpuArchitecture: {
MIPS: string;
MIPS_64: string;
UNKNOWN: string;
ARMv6: string;
ARMv7: string;
ARMv8: string;
X86: string;
X86_64: string;
MIPS: string;
MIPS_64: string;
UNKNOWN: string;
ARMv6: string;
ARMv7: string;
ARMv8: string;
X86: string;
X86_64: string;
};
@CordovaProperty()
remoteNotificationType: {
ALERT: string;
SOUND: string;
BADGE: string;
ALERT: string;
SOUND: string;
BADGE: string;
};
@CordovaProperty()
@@ -336,6 +307,7 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
return;
}
// ANDROID AND IOS ONLY
/**
@@ -388,6 +360,7 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
return;
}
/**
* Returns the location authorization status for the application.
* Note for Android: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
@@ -605,7 +578,7 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
@Cordova({ platforms: ['Android', 'iOS'] })
getArchitecture(): Promise<any> {
return;
}
}
/**
* Returns the current battery level of the device as a percentage.
@@ -615,62 +588,7 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
@Cordova({ platforms: ['Android', 'iOS'] })
getCurrentBatteryLevel(): Promise<any> {
return;
}
/**
* Checks if low power mode is currently enabled on the device.
*
* @returns {Promise<boolean>}
*/
@Cordova({ platforms: ['Android', 'iOS'] })
isLowPowerModeEnabled(): Promise<boolean> {
return;
}
/**
* Registers a function to be called whenever the device low power mode status changes.
*
* @param {Function} handler
*/
@Cordova({ platforms: ['Android', 'iOS'], sync: true })
onLowPowerModeChange(handler: Function): void {}
/**
* Checks if currently running app build is a debug build.
*
* @returns {Promise<boolean>}
*/
@Cordova({ platforms: ['Android', 'iOS'] })
isDebugBuild(): Promise<boolean> {
return;
}
/**
* Checks if Accessibility Mode (Talkback on Android, VoiceOver on iOS) is currently enabled on the device.
*
* @returns {Promise<boolean>}
*/
@Cordova({ platforms: ['Android', 'iOS'] })
isAccessibilityModeEnabled(): Promise<boolean> {
return;
}
/**
* Checks if app is able to access device heading.
*
* @returns {Promise<boolean>}
*/
@Cordova({ platforms: ['Android', 'iOS'] })
isCompassAvailable(): Promise<boolean> {
return;
}
/**
* Opens notification settings for your app.
* On Android versions lower than O and on iOS versions lower than 15.4, this will open the same page as `switchToSettings()`.
*/
@Cordova({ platforms: ['Android', 'iOS'], sync: true })
switchToNotificationSettings(): void {}
}
// ANDROID ONLY
@@ -687,6 +605,7 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
return;
}
/**
* Checks if high-accuracy locations are available to the app from GPS hardware.
* Returns true if Location mode is enabled and is set to "Device only" or "High accuracy" AND if the app is authorized to use location.
@@ -745,7 +664,7 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
return;
}
/**
/**
* Checks if mobile data is enabled on device.
*
* @returns {Promise<any>}
@@ -755,37 +674,6 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
return;
}
/**
* Checks if the app is currently ignoring battery optimizations.
*
* @returns {Promise<boolean>}
*/
@Cordova({ platforms: ['Android'] })
isIgnoringBatteryOptimizations(): Promise<boolean> {
return;
}
/**
* Prompts the user to allow the app to ignore battery optimizations.
* Requires permission `<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />`
*
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['Android'] })
requestIgnoreBatteryOptimizations(): Promise<any> {
return;
}
/**
* Checks if touch exploration (in accessibility mode) is currently enabled on the device.
*
* @returns {Promise<boolean>}
*/
@Cordova({ platforms: ['Android'] })
isTouchExplorationEnabled(): Promise<boolean> {
return;
}
/**
* Returns the current location mode setting for the device.
*
@@ -801,7 +689,7 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
*
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['Android', 'iOS'] })
@Cordova({ platforms: ['Android'] })
getDeviceOSVersion(): Promise<any> {
return;
}
@@ -811,7 +699,7 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
*
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['Android', 'iOS'] })
@Cordova({ platforms: ['Android'] })
getBuildOSVersion(): Promise<any> {
return;
}
@@ -938,7 +826,7 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
getBluetoothAuthorizationStatus(): Promise<any> {
return;
}
/**
* Returns the individual authorization status for each Bluetooth run-time permission on Android 12+ / API 31+
* On Android 11 / API 30 and below, all will be returned as GRANTED if the manifest has BLUETOOTH since they are implicitly granted at build-time.
@@ -950,19 +838,6 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
return;
}
/**
* Returns the individual camera authorization statuses for each of the relevant permissions.
* Note for Android: this is intended for Android 6 / API 23 and above. Calling on Android 5.1 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
*
* @param {boolean} [storage] Android only: If true, requests storage permissions in addition to CAMERA run-time permission.
* cordova-plugin-camera@2.2+ requires both of these permissions. Defaults to true.
* @returns {Promise<any>}
*/
@Cordova({ platforms: ['Android'], callbackOrder: 'reverse' })
getCameraAuthorizationStatuses(storage?: boolean): Promise<any> {
return;
}
/**
* Checks if the application is authorized to use external storage.
*
@@ -1156,7 +1031,7 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
return;
}
/**
/**
* Presents limited library picker UI on iOS 14+
*
* @returns {Promise<any>}
@@ -1362,53 +1237,4 @@ export class Diagnostic extends AwesomeCordovaNativePlugin {
*/
@Cordova({ platforms: ['iOS'], sync: true })
registerLocationAccuracyAuthorizationChangeHandler(handler: Function): void {}
/**
* Checks if mobile data is authorized for this app.
* Returns true if the per-app Mobile Data setting is set to enabled (regardless of whether the device is currently connected to a cellular network)
*
* @returns {Promise<boolean>}
*/
@Cordova({ platforms: ['iOS'] })
isMobileDataAuthorized(): Promise<boolean> {
return;
}
/**
* Checks if the app is authorised to access devices on the local network (iOS 14+).
* On iOS versions prior to 14 this will always return TRUE as no local network authorization is required.
*
* @param {DiagnosticLocalNetworkAuthorizationOptions} [options] Optional timeout control - provide `timeoutMs` to override the default 2000ms timeout.
* @returns {Promise<boolean>}
*/
@Cordova({ platforms: ['iOS'], callbackOrder: 'reverse' })
isLocalNetworkAuthorized(options?: DiagnosticLocalNetworkAuthorizationOptions): Promise<boolean> {
return;
}
/**
* Returns the app's Local Network authorization status (iOS 14+).
* On iOS 14+ this returns one of: NOT_REQUESTED, GRANTED, DENIED_ALWAYS, UNKNOWN (this.permissionStatus).
* `UNKNOWN` indicates that iOS did not return a definitive answer before the timeout elapsed, so the app can retry before warning the user.
* On iOS versions prior to 14 this will always return GRANTED as no authorization is required.
*
* @param {DiagnosticLocalNetworkAuthorizationOptions} [options] Optional timeout override (defaults to 2000ms).
* @returns {Promise<string>}
*/
@Cordova({ platforms: ['iOS'], callbackOrder: 'reverse' })
getLocalNetworkAuthorizationStatus(options?: DiagnosticLocalNetworkAuthorizationOptions): Promise<string> {
return;
}
/**
* Requests the user to authorise the app to access devices on the local network (iOS 14+).
* On iOS versions prior to 14 this does nothing and will return success as no authorization is required.
* May return UNKNOWN if iOS does not respond before the native APIs time out, allowing the app to retry.
*
* @returns {Promise<string>}
*/
@Cordova({ platforms: ['iOS'] })
requestLocalNetworkAuthorization(): Promise<string> {
return;
}
}
@@ -111,26 +111,6 @@ export interface FirebaseUser {
* name
*/
name?: string;
/**
* whether the user is anonymous
*/
isAnonymous?: boolean;
/**
* account creation timestamp in milliseconds
*/
creationTimestamp?: number;
/**
* last sign-in timestamp in milliseconds
*/
lastSignInTimestamp?: number;
/**
* array of linked provider info objects
*/
providers?: any[];
}
export interface MessagePayloadAps {
alert?: {
@@ -153,59 +133,6 @@ export interface MessagePayload {
tap?: 'background' | 'foreground';
aps?: MessagePayloadAps;
}
export interface OnDeviceConversionUserIdentifier {
/**
* The user's email address. Mutually exclusive with phoneNumber.
*/
emailAddress?: string;
/**
* The user's phone number in E.164 format. Mutually exclusive with emailAddress.
*/
phoneNumber?: string;
}
export interface EnrollSecondAuthFactorOptions {
/**
* A display name for this factor. Auto-generated (masking all but the last 4 digits of the phone number) if not provided.
*/
displayName?: string;
}
export interface VerifySecondAuthFactorParams {
/**
* Index of the enrolled factor to verify (for an MFA sign-in challenge).
*/
selectedIndex?: number;
/**
* The verification ID from phone verification.
*/
verificationId?: string;
/**
* The SMS verification code entered by the user.
*/
code?: string;
}
export interface EnrolledSecondAuthFactor {
/**
* The factor's index.
*/
index: number;
/**
* The enrolled phone number.
*/
phoneNumber: string;
/**
* The display name for this factor, if set.
*/
displayName?: string;
}
/**
* @name Firebase X
* @description
@@ -233,10 +160,6 @@ export interface EnrolledSecondAuthFactor {
* ```
* @interfaces
* IChannelOptions
* OnDeviceConversionUserIdentifier
* EnrollSecondAuthFactorOptions
* VerifySecondAuthFactorParams
* EnrolledSecondAuthFactor
*/
@Plugin({
pluginName: 'FirebaseX',
@@ -267,66 +190,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Alias for getId(). Returns the current Firebase Installation ID (FID).
*
* @returns {Promise<string>}
*/
@Cordova()
getInstallationId(): Promise<string> {
return;
}
/**
* Returns a valid Firebase Installation auth token (always force-refreshed).
*
* @returns {Promise<string>}
*/
@Cordova()
getInstallationToken(): Promise<string> {
return;
}
/**
* Deletes the current Firebase Installation ID and all associated data. Firebase will generate a new FID on next access.
*
* @returns {Promise<any>}
*/
@Cordova()
deleteInstallationId(): Promise<any> {
return;
}
/**
* Registers a listener that is called whenever the Firebase Installation ID changes.
*
* @param {Function} fn - callback function to invoke with the new installation ID string
*/
@Cordova()
registerInstallationIdChangeListener(fn: any): Promise<any> {
return;
}
/**
* Registers a listener that is called when the application transitions to the foreground (iOS applicationDidBecomeActive / Android onResume).
*
* @param {Function} fn - callback function to invoke when the app becomes active
*/
@Cordova()
registerApplicationDidBecomeActiveListener(fn: any): Promise<any> {
return;
}
/**
* Registers a listener that is called when the application transitions to the background (iOS applicationDidEnterBackground / Android onPause).
*
* @param {Function} fn - callback function to invoke when the app enters the background
*/
@Cordova()
registerApplicationDidEnterBackgroundListener(fn: any): Promise<any> {
return;
}
/**
* Get the current FCM user.
*
@@ -398,20 +261,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* iOS 12+ only.
* Get notified when the user taps the notification settings action in the system notification settings.
* Requires UNAuthorizationOptionProvidesAppNotificationSettings.
*
* @returns {Observable<any>}
*/
@Cordova({
observable: true,
})
onOpenSettings(): Observable<any> {
return;
}
/**
* Grant permission to receive push notifications (will trigger prompt) and return hasPermission: true. iOS only (Android will always return true).
*
@@ -424,19 +273,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* iOS 12+ only. Grant critical alert permission (bypasses Do Not Disturb and the ringer switch). Requires a special Apple entitlement.
* On Android this is a no-op and returns false.
*
* @returns {Promise<boolean>}
*/
@Cordova({
platforms: ['iOS'],
})
grantCriticalPermission(): Promise<boolean> {
return;
}
/**
* Check permission to receive push notifications and return hasPermission: true. iOS only (Android will always return true).
*
@@ -447,16 +283,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* iOS 12+ only. Check whether the app has critical alert permission. On Android this always returns false.
*
* @returns {Promise<boolean>}
*/
@Cordova()
hasCriticalPermission(): Promise<boolean> {
return;
}
/**
* Unregister from firebase, used to stop receiving push notifications. Call this when you logout user from your app.
*/
@@ -602,16 +428,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Get the current analytics data collection enabled state.
*
* @returns {Promise<boolean>}
*/
@Cordova()
isAnalyticsCollectionEnabled(): Promise<boolean> {
return;
}
/**
* Enable/disable Crashlytics collection.
*
@@ -623,16 +439,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Get the current Crashlytics data collection enabled state.
*
* @returns {Promise<boolean>}
*/
@Cordova()
isCrashlyticsCollectionEnabled(): Promise<boolean> {
return;
}
/**
* Enable/disable performance collection.
*
@@ -644,16 +450,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Get the current performance data collection enabled state.
*
* @returns {Promise<boolean>}
*/
@Cordova()
isPerformanceCollectionEnabled(): Promise<boolean> {
return;
}
/**
* Log an event using Analytics
*
@@ -700,20 +496,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* iOS only. Initiates on-device conversion measurement using an email address or phone number.
* Only one identifier type may be provided per call.
*
* @param {OnDeviceConversionUserIdentifier} userIdentifier
* @returns {Promise<any>}
*/
@Cordova({
platforms: ['iOS'],
})
initiateOnDeviceConversionMeasurement(userIdentifier: OnDeviceConversionUserIdentifier): Promise<any> {
return;
}
/**
* Set Crashlytics user identifier.
* To diagnose an issue, its often helpful to know which of your users experienced a given crash.
@@ -730,18 +512,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Set a custom key-value pair for Crashlytics crash reports. Appears in the "Keys" tab of a crash report.
*
* @param {string} key
* @param {string | number | boolean} value
* @returns {Promise<any>}
*/
@Cordova()
setCrashlyticsCustomKey(key: string, value: string | number | boolean): Promise<any> {
return;
}
/**
* Simulates (causes) a fatal native crash which causes a crash event to be sent to Crashlytics (useful for testing).
* See the Firebase documentation regarding crash testing.
@@ -782,16 +552,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Returns whether the app crashed during the previous execution.
*
* @returns {Promise<boolean>}
*/
@Cordova()
didCrashOnPreviousExecution(): Promise<boolean> {
return;
}
/**
* Requests verification of a phone number in order to authenticate a user and sign then into Firebase in your app.
*
@@ -823,57 +583,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Enrolls a phone number as a second authentication factor (MFA) for the current user.
*
* @param {string} number - phone number to enroll as a second factor, in E.164 format
* @param {EnrollSecondAuthFactorOptions} [opts] - optional parameters
* @returns {Promise<any>} resolves with the enrollment result (contains verificationId for SMS code entry)
*/
@Cordova({
callbackOrder: 'reverse',
})
enrollSecondAuthFactor(number: string, opts?: EnrollSecondAuthFactorOptions): Promise<any> {
return;
}
/**
* Verifies a second authentication factor during an MFA sign-in challenge or enrollment.
*
* @param {VerifySecondAuthFactorParams} params
* @param {object} [opts] - reserved for future use
* @returns {Promise<any>}
*/
@Cordova({
callbackOrder: 'reverse',
})
verifySecondAuthFactor(params: VerifySecondAuthFactorParams, opts?: object): Promise<any> {
return;
}
/**
* Lists the second authentication factors enrolled for the current user.
*
* @returns {Promise<EnrolledSecondAuthFactor[]>}
*/
@Cordova()
listEnrolledSecondAuthFactors(): Promise<EnrolledSecondAuthFactor[]> {
return;
}
/**
* Removes an enrolled second authentication factor from the current user.
*
* @param {number} selectedIndex - index of the enrolled factor to remove (from listEnrolledSecondAuthFactors())
* @returns {Promise<any>}
*/
@Cordova({
callbackOrder: 'reverse',
})
unenrollSecondAuthFactor(selectedIndex: number): Promise<any> {
return;
}
/**
* Switch current authentification system language, for example, the phone sms code.
*
@@ -917,19 +626,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Creates an email/password credential without signing in. The returned credential can be used with
* signInWithCredential(), linkUserWithCredential(), or reauthenticateWithCredential().
*
* @param email
* @param password
* @returns {Promise<any>}
*/
@Cordova()
authenticateUserWithEmailAndPassword(email: string, password: string): Promise<any> {
return;
}
/**
* Signs in user with custom token.
*
@@ -970,43 +666,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Authenticates the user with Microsoft Sign-In via Firebase OAuthProvider. Returns a credential for use with signInWithCredential().
*
* @param locale - optional locale to pass to the Microsoft sign-in provider
*/
@Cordova({
callbackOrder: 'reverse',
})
authenticateUserWithMicrosoft(locale?: string): Promise<any> {
return;
}
/**
* Authenticates the user with Facebook using an access token obtained from the Facebook SDK.
* Returns a credential for use with signInWithCredential().
*
* @param accessToken - a Facebook access token obtained via the Facebook Login SDK
*/
@Cordova()
authenticateUserWithFacebook(accessToken: string): Promise<any> {
return;
}
/**
* Authenticates the user with a generic OAuth provider via Firebase OAuthProvider. Returns a credential for use with signInWithCredential().
*
* @param providerId - the OAuth provider ID (e.g. "github.com", "twitter.com", "yahoo.com")
* @param customParameters - optional custom OAuth parameters to send to the provider
* @param scopes - optional OAuth scopes to request from the provider
*/
@Cordova({
callbackOrder: 'reverse',
})
authenticateUserWithOAuth(providerId: string, customParameters?: object, scopes?: string[]): Promise<any> {
return;
}
/**
* Links the user account to an existing Firebase user account with credentials obtained using verifyPhoneNumber().
* See the Android- and iOS-specific Firebase documentation for more info.
@@ -1032,16 +691,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Unlinks a provider from the currently signed-in user, removing that sign-in method.
*
* @param {string} providerId - the provider ID to unlink (e.g. "google.com", "password", "phone")
*/
@Cordova()
unlinkUserWithProvider(providerId: string): Promise<any> {
return;
}
/**
* Checks if there is a current Firebase user signed into the app.
*/
@@ -1080,17 +729,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Sends a verification email to the specified new email address before updating.
* The email is only updated after the user clicks the verification link.
*
* @param email - the new email address to verify
*/
@Cordova()
verifyBeforeUpdateEmail(email: string): Promise<any> {
return;
}
/**
* Sends a verification email to the currently configured email address of the current Firebase user signed into the app.
* When the user opens the contained link, their email address will have been verified.
@@ -1139,37 +777,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Registers a callback that fires whenever the user's ID token changes (sign-in, sign-out, and token refresh events).
*
* @param {Function} fn - callback function to invoke when the ID token changes
*/
@Cordova()
registerAuthIdTokenChangeListener(fn: any): Promise<any> {
return;
}
/**
* Configures Firebase Auth to connect to a local Auth emulator for testing. Must be called before any other auth operations.
*
* @param {string} host - the emulator host (e.g. "localhost" or "10.0.2.2" for Android emulator)
* @param {number} port - the emulator port (e.g. 9099)
*/
@Cordova()
useAuthEmulator(host: string, port: number): Promise<any> {
return;
}
/**
* Retrieves the custom claims from the current user's ID token. Custom claims are set server-side using the Firebase Admin SDK.
*
* @returns {Promise<any>}
*/
@Cordova()
getClaims(): Promise<any> {
return;
}
/**
* Fetch Remote Config parameter values for your app.
*
@@ -1202,16 +809,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
return;
}
/**
* Reset all Remote Config values back to defaults. Note: not currently available on iOS.
*
* @returns {Promise<boolean>}
*/
@Cordova()
resetRemoteConfig(): Promise<boolean> {
return;
}
/**
* Returns a Map of Firebase Remote Config key value pairs.
*
@@ -1237,7 +834,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
/**
* Android only. Retrieve a Remote Config byte array.
*
* @deprecated Removed upstream in cordova-plugin-firebasex 20.0.0 (modular plugin rewrite); no longer present in the Remote Config API.
* @param {string} key
* @returns {Promise<any>}
*/
@@ -1437,86 +1033,6 @@ export class FirebaseX extends AwesomeCordovaNativePlugin {
): Promise<any> {
return;
}
/**
* Checks whether a document exists in a Firestore collection.
*
* @param {string} documentId - document ID of the document to check.
* @param {string} collection - name of top-level collection to check.
* @returns {Promise<boolean>}
*/
@Cordova()
documentExistsInFirestoreCollection(documentId: string, collection: string): Promise<boolean> {
return;
}
/**
* Registers a real-time listener on a single document in a Firestore collection.
* The success callback is called multiple times: first with {eventType: "id", id: listenerId},
* then with {eventType: "change", snapshot, source, fromCache} on each change.
* Call removeFirestoreListener() with the returned listener ID to stop listening.
*
* @param {string} documentId - document ID of the document to listen to.
* @param {string} collection - name of top-level collection to listen to.
* @param {boolean} includeMetadata - whether to include metadata-only changes.
* @returns {Observable<any>}
*/
@Cordova({
callbackOrder: 'reverse',
observable: true,
})
listenToDocumentInFirestoreCollection(
documentId: string,
collection: string,
includeMetadata?: boolean
): Observable<any> {
return;
}
/**
* Registers a real-time listener on an entire Firestore collection, optionally filtered.
* The success callback is called multiple times: first with {eventType: "id", id: listenerId},
* then with {eventType: "change", documents: {...}} on each change.
* Call removeFirestoreListener() with the returned listener ID to stop listening.
*
* @param {string} collection - name of top-level collection to listen to.
* @param {Array} filters - filters to apply to the collection (same format as fetchFirestoreCollection()).
* @param {boolean} includeMetadata - whether to include metadata-only changes.
* @returns {Observable<any>}
*/
@Cordova({
callbackOrder: 'reverse',
observable: true,
})
listenToFirestoreCollection(collection: string, filters?: any[], includeMetadata?: boolean): Observable<any> {
return;
}
/**
* Removes a previously registered Firestore snapshot listener.
*
* @param {string} listenerId - the listener ID returned in the initial listener response.
* @returns {Promise<any>}
*/
@Cordova({
callbackOrder: 'reverse',
})
removeFirestoreListener(listenerId: string): Promise<any> {
return;
}
/**
* Invokes an HTTPS-callable Cloud Function by name.
*
* @param {string} name - the name of the Cloud Function to call.
* @param {any} args - arguments to pass to the function (any JSON-serialisable value).
* @returns {Promise<any>} the function's return value
*/
@Cordova()
functionsHttpsCallable(name: string, args: any): Promise<any> {
return;
}
/**
* Set new V2 consent mode
*
@@ -40,15 +40,7 @@ export class GeniusScan extends AwesomeCordovaNativePlugin {
}
@Cordova()
scanWithConfiguration(configuration?: ScanConfiguration): Promise<SuccessScanResult> {
return;
}
/**
* Starts the barcode scanner module.
*/
@Cordova()
scanBarcodesWithConfiguration(configuration?: BarcodeConfiguration): Promise<BarcodeResult> {
scanWithConfiguration(configuration: ScanConfiguration): Promise<SuccessScanResult> {
return;
}
@@ -82,31 +74,15 @@ interface ScanConfiguration {
multiPageFormat?: 'pdf' | 'tiff' | 'none';
/**
* The filter that will be applied by default to enhance scans, or 'none' if no
* enhancement should be performed by default. Possible values include 'automatic',
* 'automaticColor', 'automaticBlackAndWhite', 'automaticMonochrome', 'photo',
* 'softBlackAndWhite', 'softColor', 'strongMonochrome', 'strongBlackAndWhite',
* 'strongColor', 'darkBackground' and 'none' (defaults to 'automatic').
* (by default, the filter is chosen automatically)
*/
defaultFilter?: string;
/**
* an array of filters that the user can select when they tap on the edit filter button.
* Defaults to ['none', 'automatic', 'automaticMonochrome', 'automaticBlackAndWhite', 'automaticColor', 'photo'].
*/
availableFilters?: string[];
defaultFilter?: 'none' | 'blackAndWhite' | 'monochrome' | 'color' | 'photo';
/**
* defaults to fit
*/
pdfPageSize?: 'fit' | 'a4' | 'letter';
/**
* Optional password used to protect generated PDF documents. Empty passwords are
* treated as no password. Only applies when multiPageFormat is 'pdf'.
*/
pdfPassword?: string;
/**
* max dimension in pixels when images are scaled before PDF generation,
* for example 2000 to fit both height and width within 2000px.
@@ -127,42 +103,12 @@ interface ScanConfiguration {
*/
jpegQuality?: number;
/**
* Whether to skip showing the post-processing screen. Only recommended when
* scanning structured data; generally the user should visually confirm each scan.
*/
skipPostProcessingScreen?: boolean;
/**
* an array with the desired actions to display during the post processing screen
* (defaults to all actions).
*/
postProcessingActions?: ('rotate' | 'editFilter' | 'correctDistortion')[];
/**
* whether a curvature correction should be applied by default (defaults to 'disabled').
*/
defaultCurvatureCorrection?: 'enabled' | 'disabled';
/**
* automatically show crop validation after capture. 'never', 'always', or an object
* with a confidence threshold below which validation should be shown.
*/
showCropValidation?:
'never' | 'always' | { whenConfidenceBelowOrEqual: 'lowest' | 'low' | 'medium' | 'high' | 'highest' };
/**
* 'automatic' to rotate scan automatically after capture or 'original' to keep the
* original scan orientation (defaults to 'automatic').
*/
defaultScanOrientation?: 'automatic' | 'original';
/**
* whether the button allowing the user to pick an image on the Camera screen
* should be hidden (defaults to false).
*/
photoLibraryButtonHidden?: boolean;
/**
* (default to false)
*/
@@ -214,68 +160,13 @@ interface ScanConfiguration {
*/
outputFormats?: ('rawText' | 'hOCR' | 'textLayerInPDF')[];
};
/**
* an array of the structured data you want to extract. E.g.: ['receipt', 'businessCard'].
* Possible values are 'receipt', 'barcode', 'bankDetails' (iOS only), 'businessCard' (iOS only).
*/
structuredData?: string[];
/**
* an array of the barcode types to extract, e.g. ['qr', 'code39']. Possible values are
* 'aztec', 'code39', 'code93', 'code128', 'dataMatrix', 'ean8', 'ean13', 'itf', 'pdf417',
* 'qr', 'upca' (Android only), 'upce', 'codabar' (iOS 15+ only), 'gs1DataBar' (iOS 15+ only),
* 'microPDF417' (iOS 15+ only), 'microQR' (iOS 15+ only), 'msiPlessey' (iOS 17+ only).
*/
structuredDataBarcodeTypes?: string[];
/**
* the required readability level below which a warning will be displayed to the user
* (defaults to 'lowest', which means the warning will never be displayed).
*/
requiredReadabilityLevel?: 'lowest' | 'low' | 'medium' | 'high' | 'highest';
/**
* whether the final review screen should be displayed before submission (default to false).
*/
showFinalReview?: boolean;
}
interface BarcodeConfiguration {
/**
* whether the barcode scanner should keep scanning and accumulating results after
* detecting a first barcode.
*/
isBatchModeEnabled?: boolean;
/**
* an array of the barcode types to detect. Defaults to all supported types.
*/
supportedCodeTypes?: string[];
}
interface BarcodeResult {
/**
* an array of the detected barcodes.
*/
barcodes: {
/**
* the decoded value of the barcode.
*/
value: string;
/**
* the type of the barcode, e.g. 'qr', 'code128'.
*/
type: string;
}[];
}
interface SuccessScanResult {
/**
* a document containing all the scanned pages (example: "file://.pdf")
*/
multiPageDocumentUrl?: string;
multiPageDocumentUrl: string;
/**
* an array of scan objects.
@@ -292,9 +183,9 @@ interface SuccessScanResult {
enhancedUrl: string;
/**
* the result of text recognition for this scan, present when ocrConfiguration was set.
* the result of text recognition for this scan
*/
ocrResult?: {
ocrResult: {
/**
* the raw text that was recognized
*/
@@ -303,14 +194,8 @@ interface SuccessScanResult {
/**
* the recognized text in hOCR format (with position, style…)
*/
hocrTextLayout?: string;
hocrTextLayout: string;
};
/**
* the result of the structured data extraction, present when structuredData was set.
* A subdictionary is present for each type of structured data detected.
*/
structuredData?: any;
}[];
}
@@ -324,7 +209,7 @@ interface GenerateDocumentPages {
/**
* the text layout in hOCR format
*/
hocrTextLayout?: string;
hocrTextLayout: string;
}[];
}
@@ -44,11 +44,12 @@ export interface InAppBrowserOptions {
/** (Android Only) Set to a valid hex color string, for example #00ff00 or #CC00ff00 (#aarrggbb), and it will change the footer color from default. Only has effect if user has footer set to yes */
footercolor?: string;
/**
* (Android Only) Sets whether the InappBrowser WebView is displayed fullscreen or not. In fullscreen mode, the status bar is hidden. Default value is yes.
* (Windows only) Set to yes to create the browser control without a border around it.
* Please note that if location=no is also specified, there will be no control presented to user to close IAB window.
*/
fullscreen?: 'yes' | 'no';
/**
* (Android Only) Set to yes to use the hardware back button to navigate backwards through the InAppBrowser's history.
* (Android & Windows Only) Set to yes to use the hardware back button to navigate backwards through the InAppBrowser's history.
* If there is no previous page, the InAppBrowser will close. The default value is yes, so you must set it to no if you want the back button to simply close the InAppBrowser.
*/
hardwareback?: 'yes' | 'no';
@@ -68,11 +69,7 @@ export interface InAppBrowserOptions {
hidespinner?: 'yes' | 'no';
/** (Android) Set to yes to hide the url bar on the location toolbar, only has effect if user has location set to yes. The default value is no. */
hideurlbar?: 'yes' | 'no';
/**
* (iOS Only) Set to yes or no to open the keyboard when form elements receive focus via JavaScript's focus() call (defaults to yes).
*
* @deprecated UIWebView-only option, removed upstream in cordova-plugin-inappbrowser 4.0.0. iOS always uses WKWebView now.
*/
/** (iOS Only) Set to yes or no to open the keyboard when form elements receive focus via JavaScript's focus() call (defaults to yes). */
keyboardDisplayRequiresUserAction?: 'yes' | 'no';
/**
* (Android) Set to yes to swap positions of the navigation buttons and the close button. Specifically, navigation buttons go to the left and close button to the right.
@@ -94,11 +91,7 @@ export interface InAppBrowserOptions {
presentationstyle?: 'pagesheet' | 'formsheet' | 'fullscreen';
/** (Android Only) Set to yes to make InAppBrowser WebView to pause/resume with the app to stop background audio (this may be required to avoid Google Play issues) */
shouldPauseOnSuspend?: 'yes' | 'no';
/**
* (iOS Only) Set to yes or no to wait until all new view content is received before being rendered (defaults to no).
*
* @deprecated UIWebView-only option, removed upstream in cordova-plugin-inappbrowser 4.0.0. iOS always uses WKWebView now.
*/
/** (iOS Only) Set to yes or no to wait until all new view content is received before being rendered (defaults to no). */
suppressesIncrementalRendering?: 'yes' | 'no';
/** (iOS Only) Set to yes or no to turn the toolbar on or off for the InAppBrowser (defaults to yes) */
toolbar?: 'yes' | 'no';
@@ -115,19 +108,10 @@ export interface InAppBrowserOptions {
transitionstyle?: 'fliphorizontal' | 'crossdissolve' | 'coververtical';
/** (Android Only) Sets whether the WebView should enable support for the "viewport" HTML meta tag or should use a wide viewport. When the value of the setting is no, the layout width is always set to the width of the WebView control in device-independent (CSS) pixels. When the value is yes and the page contains the viewport meta tag, the value of the width specified in the tag is used. If the page does not contain the tag or does not provide a width, then a wide viewport will be used. (defaults to yes). */
useWideViewPort?: 'yes' | 'no';
/**
* (iOS Only) Set to yes to use WKWebView engine for the InappBrowser. Omit or set to no (default) to use UIWebView.
*
* @deprecated UIWebView was removed upstream in cordova-plugin-inappbrowser 4.0.0. iOS always uses WKWebView now, making this option a no-op.
*/
/** (iOS Only) Set to yes to use WKWebView engine for the InappBrowser. Omit or set to no (default) to use UIWebView. */
usewkwebview?: 'yes' | 'no';
/** (Android Only) Enables the pinch-to-zoom gesture. Set to no to disable it. Default value is yes. */
/** (Android Only) Set to yes to show Android browser's zoom controls, set to no to hide them. Default value is yes. */
zoom?: 'yes' | 'no';
/**
* (Android Only) Set to yes to show Android browser's zoom controls, set to no to hide them. Default value is yes.
* The zoom controls are deprecated since Android API Level 26 (Android 8); Google recommends disabling them.
*/
zoomcontrols?: 'yes' | 'no';
/**
* @hidden
*/
@@ -142,9 +126,7 @@ export type InAppBrowserEventType =
| 'beforeload'
| 'message'
| 'customscheme'
/** (Android Only) Fires when the InAppBrowser loads a URL that leads to downloading of a file. */
| 'download'
| string;
| string
export interface InAppBrowserEvent extends Event {
/** the event name */
@@ -263,6 +245,7 @@ export class InAppBrowserObject {
return () => this._objectInstance.removeEventListener(event, observer.next.bind(observer));
});
}
}
/**
@@ -302,7 +285,7 @@ export class InAppBrowserObject {
plugin: 'cordova-plugin-inappbrowser',
pluginRef: 'cordova.InAppBrowser',
repo: 'https://github.com/apache/cordova-plugin-inappbrowser',
platforms: ['Android', 'Browser', 'iOS'],
platforms: ['AmazonFire OS', 'Android', 'Browser', 'iOS', 'macOS', 'Windows'],
})
@Injectable()
export class InAppBrowser extends AwesomeCordovaNativePlugin {
@@ -5,12 +5,6 @@ export interface IAPProductOptions {
id: string;
alias?: string;
type: string;
/**
* Name of the group your subscription product is a member of (default to "default").
*
* If you don't set anything, all subscription will be members of the same group.
*/
group?: string;
}
export interface IRefeshResult {
@@ -37,29 +31,6 @@ export type IAPProducts = IAPProduct[] & {
export type IAPQueryCallback = ((product: IAPProduct) => void) | ((error: IAPError) => void);
export interface IAPProductDiscount {
/** The discount identifier */
id: string;
/** Localized price, with currency symbol */
price: string;
/** Price in micro-units (divide by 1000000 to get numeric price) */
priceMicros: number;
/** Number of subscription periods */
period: number;
/** Unit of the subcription period ("Day", "Week", "Month" or "Year") */
periodUnit: string;
/** "PayAsYouGo", "UpFront", or "FreeTrial" */
paymentMode: string;
/** True if the user is deemed eligible for this discount by the platform */
eligible: boolean;
}
export interface IAPProduct {
id: string;
@@ -67,11 +38,6 @@ export interface IAPProduct {
type: string;
/**
* Name of the group your subscription product is a member of (default to "default").
*/
group?: string;
state: string;
title: string;
@@ -84,9 +50,6 @@ export interface IAPProduct {
currency: string;
/** Country code. Available only on iOS */
countryCode?: string;
loaded: boolean;
valid: boolean;
@@ -95,9 +58,6 @@ export interface IAPProduct {
owned: boolean;
/** Purchase has been initiated but is waiting for external action (for example, Ask to Buy on iOS) */
deferred?: boolean;
downloading?: boolean;
downloaded?: boolean;
@@ -114,19 +74,10 @@ export interface IAPProduct {
introPriceSubscriptionPeriod?: string;
/** Duration the introductory price is available (in period-unit) */
introPricePeriod?: string;
/** Period for the introductory price ("Day", "Week", "Month" or "Year") */
introPricePeriodUnit?: string;
introPricePaymentMode?: string;
ineligibleForIntroPrice?: boolean;
/** Array of discounts available for the product. */
discounts?: IAPProductDiscount[];
billingPeriod?: number;
billingPeriodUnit?: string;
@@ -612,7 +563,6 @@ export class IAPError {
* IAPProduct
* IAPProductOptions
* IAPProductEvents
* IAPProductDiscount
* ```
*/
@Plugin({
@@ -644,7 +594,7 @@ export class InAppPurchase2 extends AwesomeCordovaNativePlugin {
* Debug level. Use QUIET, ERROR, WARNING, INFO or DEBUG constants
*/
@CordovaProperty()
verbosity: number | boolean;
verbosity: number;
/**
* Set to true to clear the transaction queue. Not recommended for production.
@@ -666,14 +616,6 @@ export class InAppPurchase2 extends AwesomeCordovaNativePlugin {
@CordovaProperty()
disableHostedContent: boolean;
/**
* An optional string of developer profile name. This value can be used for payment risk evaluation.
*
* Do not use the user account ID for this field.
*/
@CordovaProperty()
developerName: string;
@CordovaProperty()
FREE_SUBSCRIPTION: string;
@@ -689,10 +631,6 @@ export class InAppPurchase2 extends AwesomeCordovaNativePlugin {
@CordovaProperty()
NON_CONSUMABLE: string;
/** Type: The application bundle */
@CordovaProperty()
APPLICATION: string;
@CordovaProperty()
ERR_SETUP: number;
@@ -756,46 +694,6 @@ export class InAppPurchase2 extends AwesomeCordovaNativePlugin {
@CordovaProperty()
ERR_SUBSCRIPTION_UPDATE_NOT_AVAILABLE: number;
/** Error: The requested product is not available in the store. */
@CordovaProperty()
ERR_PRODUCT_NOT_AVAILABLE: number;
/** Error: The user has not allowed access to Cloud service information */
@CordovaProperty()
ERR_CLOUD_SERVICE_PERMISSION_DENIED: number;
/** Error: The device could not connect to the network. */
@CordovaProperty()
ERR_CLOUD_SERVICE_NETWORK_CONNECTION_FAILED: number;
/** Error: The user has revoked permission to use this cloud service. */
@CordovaProperty()
ERR_CLOUD_SERVICE_REVOKED: number;
/** Error: The user has not yet acknowledged Apple's privacy policy */
@CordovaProperty()
ERR_PRIVACY_ACKNOWLEDGEMENT_REQUIRED: number;
/** Error: The app is attempting to use a property for which it does not have the required entitlement. */
@CordovaProperty()
ERR_UNAUTHORIZED_REQUEST_DATA: number;
/** Error: The offer identifier is invalid. */
@CordovaProperty()
ERR_INVALID_OFFER_IDENTIFIER: number;
/** Error: The price you specified in App Store Connect is no longer valid. */
@CordovaProperty()
ERR_INVALID_OFFER_PRICE: number;
/** Error: The signature in a payment discount is not valid. */
@CordovaProperty()
ERR_INVALID_SIGNATURE: number;
/** Error: Parameters are missing in a payment discount. */
@CordovaProperty()
ERR_MISSING_OFFER_PARAMS: number;
@CordovaProperty()
REGISTERED: string;
@@ -885,25 +783,12 @@ export class InAppPurchase2 extends AwesomeCordovaNativePlugin {
}
/**
* Register error handler.
* Register error handler
*
* Can also be called with an error code as the first argument to only listen to a specific error code.
*
* @param onErrorOrErrorCode {Function | number} function to call on error, or an error code to filter on
* @param [onError] {Function} function to call on error, when the first argument is an error code
* @param onError {Function} function to call on error
*/
@Cordova({ sync: true })
error(onErrorOrErrorCode: Function | number, onError?: (err: IAPError) => void): void {}
/**
* Return all products member of a given subscription group.
*
* @param groupId
*/
@Cordova({ sync: true })
getGroup(groupId: string): IAPProduct[] {
return;
}
error(onError: Function): void {}
/**
* Add or register a product
@@ -14,14 +14,6 @@ export interface IAPAdapter {
isSupported: boolean;
/**
* Returns true if the adapter can skip the native finish method for a transaction.
*
* Some platforms (e.g. Apple AppStore) require explicit acknowledgement of a purchase so it can be removed from
* the queue of pending transactions, regardless of whether the transaction is acknowledged or consumed already.
*/
canSkipFinish?: boolean;
initialize(): Promise<IAPError | undefined>;
loadProducts(products: IAPProductOptions[]): Promise<(IAPProduct | IAPError)[]>;
@@ -39,7 +31,7 @@ export interface IAPAdapter {
handleReceiptValidationResponse(receipt: IAPReceipt, response: object): Promise<void>;
requestPayment(
payment: IAPPaymentRequest,
payment: PaymentRequest,
additionalData?: IAPAdditionalData
): Promise<IAPError | IAPTransaction | undefined>;
@@ -50,14 +42,6 @@ export interface IAPAdapter {
checkSupport(functionality: string): boolean;
restorePurchases(): Promise<IAPError | undefined>;
/**
* Retrieve the billing country code from the platform's storefront.
*
* Returns an ISO 3166-1 alpha-2 country code (e.g., "US", "FR"),
* or undefined if the storefront information is not available.
*/
getStorefront?(): Promise<string | undefined>;
}
export interface IAPProductOptions {
@@ -75,26 +59,9 @@ export interface IAPProductOptions {
* @see {@link InAppPurchase3.requestPayment}
*/
export interface IAPAdditionalData {
/**
* The application's user identifier, will be obfuscated with md5 to fill `accountId` if necessary
*
* @deprecated Set {@link InAppPurchase3.applicationUsername} instead. The per-transaction value is
* ignored by upstream adapters, which always read the store-level username so receipt validation later
* (which doesn't have access to the original additionalData) sees the same value that was sent to the
* native API at purchase time.
*/
/** The application's user identifier, will be obfuscated with md5 to fill `accountId` if necessary */
applicationUsername?: string;
/**
* Quantity of items to purchase.
*
* Only supported on platforms that report the `'orderQuantity'` capability.
* Platforms without support will ignore this field.
*
* @see {@link InAppPurchase3.checkSupport}
*/
quantity?: number;
/** GooglePlay specific additional data. See cordova-plugin-purchase documentation.*/
googlePlay?: object;
@@ -160,10 +127,9 @@ export interface IAPPricingPhase {
priceMicros: number;
currency?: string;
currency: string;
/** ISO 8601 duration of the period (https://en.wikipedia.org/wiki/ISO_8601#Durations) */
billingPeriod?: string;
billingPeriod?: number;
billingCycles?: number;
@@ -239,17 +205,6 @@ export interface IAPTransaction {
currency?: string;
/**
* Quantity of items purchased in a single transaction.
*
* For consumable products, this value represents the number of items purchased.
* For non-consumable products and subscriptions, this value is always 1.
*
* Supported on Android (Google Play) and iOS (Apple AppStore).
* Use `additionalData.quantity` when placing an order to purchase multiple units in a single transaction.
*/
quantity?: number;
products: { id: string; offerId?: string }[];
/**
@@ -288,21 +243,12 @@ export interface IAPVerifiedPurchase {
purchaseId?: string;
/** Identifier of the last transaction (optional) */
transactionId?: string;
purchaseDate?: number;
expiryDate?: number;
isExpired?: boolean;
/** True when a purchase has been acknowledged to the platform. */
isAcknowledged?: boolean;
/** True when a purchase has been consumed (for consumable products). */
isConsumed?: boolean;
renewalIntent?: string;
renewalIntentChangeDate?: number;
@@ -320,14 +266,6 @@ export interface IAPVerifiedPurchase {
priceConsentStatus?: PriceConsentStatus;
lastRenewalDate?: number;
/**
* Quantity of items purchased in a single transaction.
*
* For consumable products, this value represents the number of items purchased.
* For non-consumable products and subscriptions, this value is always 1.
*/
quantity?: number;
}
export interface IAPProductEvents {
@@ -383,17 +321,6 @@ export interface IAPProductEvents {
* If no platforms have any receipts (user made no purchase), this will also get called.
*/
receiptsVerified(cb: Callback<void>, callbackName?: string): IAPProductEvents;
/**
* Register a function called when a platform's storefront country code changes.
*
* Fires when a platform's cached value transitions to a different non-empty
* string. Does not fire for no-op refreshes, failed refreshes, or transitions
* to undefined (the cache preserves the last-known value).
*
* @param cb - Callback invoked with the updated {@link IAPStorefront}
*/
storefrontUpdated(cb: Callback<IAPStorefront>, callbackName?: string): IAPProductEvents;
}
export interface IAPPaymentRequest {
@@ -444,67 +371,6 @@ export interface IAPPaymentRequest {
};
}
/**
* Result of a call to {@link InAppPurchase3.requestPayment}.
*
* A chainable set of event registration methods, each returning the same instance.
*
* @example
* store.requestPayment(paymentRequest)
* .cancelled(() => { // user cancelled by closing the window
* })
* .failed(error => { // payment request failed
* })
* .initiated(transaction => { // transaction initiated
* })
* .approved(transaction => { // transaction approved
* })
* .finished(transaction => { // transaction finished
* });
*/
export interface IAPPaymentRequestPromise {
/** Register a function called when the payment request failed. */
failed(callback: Callback<IAPError>): IAPPaymentRequestPromise;
/** Register a function called when the payment request has been initiated. */
initiated(callback: Callback<IAPTransaction>): IAPPaymentRequestPromise;
/** Register a function called when the payment request has been approved. */
approved(callback: Callback<IAPTransaction>): IAPPaymentRequestPromise;
/** Register a function called when the payment request has been finished. */
finished(callback: Callback<IAPTransaction>): IAPPaymentRequestPromise;
/** Register a function called when the payment request was cancelled by the user. */
cancelled(callback: Callback<void>): IAPPaymentRequestPromise;
}
/**
* A storefront country code, scoped to a specific payment platform.
*
* @see {@link InAppPurchase3.getStorefront}
*/
export interface IAPStorefront {
/** The platform this storefront belongs to. */
platform: Platform;
/**
* ISO 3166-1 alpha-2 country code (e.g., "US", "FR").
*
* Undefined if the value has not been fetched yet, or if the fetch failed.
*/
countryCode?: string;
}
/**
* Obfuscation strategy for the application username.
*
* Controls how `applicationUsername` is transformed before being sent to each platform's native API.
*
* @see {@link InAppPurchase3.obfuscator}
*/
export type Obfuscator = 'legacy' | 'uuid' | 'disabled' | ((applicationUsername: string, platform: Platform) => string);
/**
* Purchase platforms supported by the plugin
*/
@@ -526,9 +392,6 @@ export enum Platform {
/** Test platform */
TEST = 'test',
/** Iaptic.js */
IAPTIC_JS = 'iaptic-js',
}
/** Types of In-App Products */
@@ -649,91 +512,11 @@ export enum LogLevel {
DEBUG = 4,
}
/**
* Error codes returned by the plugin.
*
* @see {@link IAPError.code}
* @see https://github.com/j3k0/cordova-plugin-purchase/blob/master/doc/api.md#error-codes
*/
export enum ErrorCode {
/** Error: Failed to intialize the in-app purchase library */
SETUP,
/** Error: Failed to load in-app products metadata */
LOAD,
/** Error: Failed to make a purchase */
PURCHASE,
/** Error: Failed to load the purchase receipt */
LOAD_RECEIPTS,
/** Error: Client is not allowed to issue the request */
CLIENT_INVALID,
/** Error: Purchase flow has been cancelled by user */
PAYMENT_CANCELLED,
/** Error: Something is suspicious about a purchase */
PAYMENT_INVALID,
/** Error: The user is not allowed to make a payment */
PAYMENT_NOT_ALLOWED,
/** Error: Unknown error */
UNKNOWN,
/** Error: Failed to refresh the purchase receipt */
REFRESH_RECEIPTS,
/** Error: The product identifier is invalid */
INVALID_PRODUCT_ID,
/** Error: Cannot finalize a transaction or acknowledge a purchase */
FINISH,
/** Error: Failed to communicate with the server */
COMMUNICATION,
/** Error: Subscriptions are not available */
SUBSCRIPTIONS_NOT_AVAILABLE,
/** Error: Purchase information is missing token */
MISSING_TOKEN,
/** Error: Verification of store data failed */
VERIFICATION_FAILED,
/** Error: Bad response from the server */
BAD_RESPONSE,
/** Error: Failed to refresh the store */
REFRESH,
/** Error: Payment has expired */
PAYMENT_EXPIRED,
/** Error: Failed to download the content */
DOWNLOAD,
/** Error: Failed to update a subscription */
SUBSCRIPTION_UPDATE_NOT_AVAILABLE,
/** Error: The requested product is not available in the store. */
PRODUCT_NOT_AVAILABLE,
/** Error: The user has not allowed access to Cloud service information */
CLOUD_SERVICE_PERMISSION_DENIED,
/** Error: The device could not connect to the network. */
CLOUD_SERVICE_NETWORK_CONNECTION_FAILED,
/** Error: The user has revoked permission to use this cloud service. */
CLOUD_SERVICE_REVOKED,
/** Error: The user has not yet acknowledged Apple's privacy policy */
PRIVACY_ACKNOWLEDGEMENT_REQUIRED,
/** Error: The app is attempting to use a property for which it does not have the required entitlement. */
UNAUTHORIZED_REQUEST_DATA,
/** Error: The offer identifier is invalid. */
INVALID_OFFER_IDENTIFIER,
/** Error: The price you specified in App Store Connect is no longer valid. */
INVALID_OFFER_PRICE,
/** Error: The signature in a payment discount is not valid. */
INVALID_SIGNATURE,
/** Error: Parameters are missing in a payment discount. */
MISSING_OFFER_PARAMS,
/** Error: The store is blocked (e.g. Google Play blocking purchases). */
STORE_BLOCKED,
/**
* Server code used when a subscription expired.
*
* @deprecated Validator should now return the transaction in the collection as expired.
*/
VALIDATOR_SUBSCRIPTION_EXPIRED = 6778003,
}
/**
* @hidden
*/
export class IAPError {
isError: true;
/** @see {@link ErrorCode} */
code: number;
message: string;
platform: Platform | null;
@@ -1091,8 +874,6 @@ export class IAPError {
* IAPVerifiedPurchase
* IAPProductEvents
* IAPPaymentRequest
* IAPPaymentRequestPromise
* IAPStorefront
* ```
*/
@Plugin({
@@ -1133,38 +914,18 @@ export class InAppPurchase3 extends AwesomeCordovaNativePlugin {
@CordovaProperty()
verbosity: number;
/**
* Return the identifier of the user for your application.
*
* This value is obfuscated according to {@link InAppPurchase3.obfuscator} before being
* sent to the native platform API.
*/
/** Return the identifier of the user for your application */
@CordovaProperty()
applicationUsername: string | (() => string | undefined) | undefined;
applicationUsername: string | (() => string);
/**
* Get the application username as a string by either calling or returning {@link InAppPurchase3.applicationUsername}
*/
@Cordova({ sync: true })
getApplicationUsername(): string | undefined {
getApplicationUsername(): string {
return;
}
/**
* Obfuscation strategy for the application username.
*
* Controls how `applicationUsername` is transformed before being sent
* to each platform's native API. `'uuid'` is the recommended setting
* for new integrations; the default `'legacy'` exists only for
* backward compatibility with server-side modules that already
* correlate against the raw 32-hex MD5 value.
*
* @default 'legacy'
* @see {@link Obfuscator}
*/
@CordovaProperty()
obfuscator: Obfuscator | undefined;
/**
* URL or implementation of the receipt validation service
*
@@ -1210,7 +971,12 @@ export class InAppPurchase3 extends AwesomeCordovaNativePlugin {
*/
@CordovaProperty()
validator_privacy_policy:
'fraud' | 'support' | 'analytics' | 'tracking' | ('fraud' | 'support' | 'analytics' | 'tracking')[] | undefined;
| 'fraud'
| 'support'
| 'analytics'
| 'tracking'
| ('fraud' | 'support' | 'analytics' | 'tracking')[]
| undefined;
/**
* Register a product.
@@ -1237,10 +1003,10 @@ export class InAppPurchase3 extends AwesomeCordovaNativePlugin {
* Call to initialize the in-app purchase plugin.
*
* @param platforms - List of payment platforms to initialize, default to Store.defaultPlatform().
* @returns {Promise<IAPError[]>}
* @returns {Promise<IAPError | undefined>}
*/
@Cordova({ sync: true })
initialize(platforms?: (Platform | { platform: Platform; options?: object })[]): Promise<IAPError[]> {
initialize(platforms: (Platform | { platform: Platform; options?: object })[]): Promise<IAPError | undefined> {
return;
}
@@ -1404,7 +1170,7 @@ export class InAppPurchase3 extends AwesomeCordovaNativePlugin {
* @param {IAPAdditionalData?} additionalData Additional parameters
*/
@Cordova({ sync: false })
requestPayment(paymentRequest: IAPPaymentRequest, additionalData?: IAPAdditionalData): IAPPaymentRequestPromise {
requestPayment(paymentRequest: IAPPaymentRequest, additionalData?: IAPAdditionalData): object {
return;
}
@@ -1456,34 +1222,9 @@ export class InAppPurchase3 extends AwesomeCordovaNativePlugin {
* @example
* if (purchase.isBillingRetryPeriod)
* store.manageBilling(purchase.platform);
* @param {Platform?} platform
*/
@Cordova({ sync: false })
manageBilling(platform?: Platform): Promise<IAPError | undefined> {
return;
}
/**
* Retrieve the billing country code from the platform's storefront.
*
* Returns a `IAPStorefront` object with the platform and its ISO 3166-1
* alpha-2 country code (e.g., "US", "FR"). The country code may be
* undefined if the underlying fetch has not yet completed or failed —
* the platform is still reported. Returns `undefined` only when no
* matching adapter is ready.
*
* @param platform - Optional platform. If omitted, returns the first
* cached non-empty storefront, or a `{ platform, countryCode: undefined }`
* object for the first ready adapter.
*
* @example
* const storefront = store.getStorefront();
* if (storefront?.countryCode) {
* console.log(`Billing country: ${storefront.countryCode}`);
* }
*/
@Cordova({ sync: true })
getStorefront(platform?: Platform): IAPStorefront | undefined {
manageBilling(): Promise<IAPError | undefined> {
return;
}
@@ -219,17 +219,6 @@ export class Intercom extends AwesomeCordovaNativePlugin {
return;
}
/**
* Suppress the given proactive content types, independently of `setInAppMessageVisibility`.
* @note All proactive content is visible by default; pass an empty array to unsuppress all.
*
* @param types An array of content type strings to suppress, e.g. `[IntercomPresentContentType.Carousel, IntercomPresentContentType.Survey]`.
*/
@Cordova()
suppressProactiveContent(types: IntercomPresentContentType[]): Promise<void> {
return;
}
/**
* Hide all Intercom windows that are currently displayed.
* This will hide the Messenger, Help Center, Articles, and in-product messages (eg. Mobile Carousels, chats, and posts).
@@ -386,7 +375,8 @@ export enum IntercomPresentContentType {
}
export type IntercomPresentContent =
{ id: string; type: IntercomPresentContentType } | { ids: string[]; type: IntercomPresentContentType };
| { id: string; type: IntercomPresentContentType }
| { ids: string[]; type: IntercomPresentContentType };
export interface IntercomUserAttributes {
email?: string;
@@ -61,16 +61,7 @@ export interface MediaFileData {
}
export interface CaptureError {
/**
* One of the `CaptureError` codes:
* - `0` - CAPTURE_INTERNAL_ERR: Camera or microphone failed to capture image or sound.
* - `1` - CAPTURE_APPLICATION_BUSY: Camera application or audio capture application is currently serving other capture request.
* - `2` - CAPTURE_INVALID_ARGUMENT: Invalid use of the API (e.g. limit parameter has value less than one).
* - `3` - CAPTURE_NO_MEDIA_FILES: User exited camera application or audio capture application before capturing anything.
* - `4` - CAPTURE_PERMISSION_DENIED: User denied permissions required to perform the capture request.
* - `20` - CAPTURE_NOT_SUPPORTED: The requested capture operation is not supported.
*/
code: number;
code: string;
}
export interface CaptureAudioOptions {
@@ -9,9 +9,6 @@ export type Event =
| 'notificationTapped'
| 'tokenReceived'
| 'registrationUpdated'
/**
* @deprecated No longer part of the supported events list in the upstream SDK (confirmed absent as of v8.6.0, and as far back as v5.0.0).
*/
| 'geofenceEntered'
| 'actionTapped'
| 'installationUpdated'
@@ -21,9 +18,6 @@ export type Event =
| 'inAppChat.availabilityUpdated'
| 'inAppChat.unreadMessageCounterUpdated'
| 'deeplink'
/**
* @deprecated No longer part of the supported events list in the upstream SDK (confirmed absent as of v8.6.0, and as far back as v5.0.0).
*/
| 'inAppChat.viewStateChanged';
export interface CustomEvent {
@@ -40,14 +34,6 @@ export interface Configuration {
geofencingEnabled?: boolean;
inAppChatEnabled?: boolean;
fullFeaturedInAppsEnabled?: boolean | undefined;
/**
* Set to true to enable debug logging.
*/
loggingEnabled?: boolean;
/**
* List of trusted domain strings for web views, e.g. ['example.com', 'trusted.org']
*/
trustedDomains?: string[];
/**
* Message storage save callback
*/
@@ -56,40 +42,12 @@ export interface Configuration {
ios?: {
notificationTypes?: string[]; // ['alert', 'badge', 'sound']
forceCleanup?: boolean;
/**
* @deprecated Removed upstream in v7.3.0. Replaced by the top-level `loggingEnabled` option.
*/
logging?: boolean;
/**
* Set to true to disable automatic registration for remote notifications. Default: false
*/
registeringForRemoteNotificationsDisabled?: boolean;
/**
* Set to true to prevent the SDK from overriding UNUserNotificationCenterDelegate. Default: false
*/
overridingNotificationCenterDelegateDisabled?: boolean;
/**
* Set to true to prevent the SDK from unregistering for remote notifications when stopping the SDK or after depersonalization. Default: false
*/
unregisteringForRemoteNotificationsDisabled?: boolean;
/**
* Settings for web view configuration in in-app messages
*/
webViewSettings?: {
title?: string;
barTintColor?: string;
titleColor?: string;
tintColor?: string;
};
};
android?: {
notificationIcon?: string; // a resource name for a status bar icon (without extension), located in '/platforms/android/app/src/main/res/mipmap'
notificationChannelId?: string; // identifier for notification channel
notificationChannelName?: string; // user visible name for notification channel
notificationSound?: string; // a resource name for a notification sound (without extension), located in '/platforms/android/app/src/main/res/raw'
multipleNotifications?: boolean; // set to 'true' to enable multiple notifications
notificationAccentColor?: string; // set to hex color value in format '#RRGGBB' or '#AARRGGBB'
withBannerForegroundNotificationsEnabled?: boolean; // set to true to always display Push notifications as Banner
firebaseOptions?: {
apiKey: string;
applicationId: string;
@@ -120,9 +78,9 @@ export interface Configuration {
icon?: string;
textInputActionButtonTitle?: string;
textInputPlaceholder?: string;
},
}
];
},
}
];
}
@@ -152,14 +110,7 @@ export interface Installation {
deviceModel?: string;
deviceSecure?: boolean;
language?: string;
/**
* @deprecated Renamed upstream in v7.9.1 to `deviceTimezoneOffset`.
*/
deviceTimezoneId?: string;
/**
* UTC-related timezone offset that identifies the current timezone of a device.
*/
deviceTimezoneOffset?: string;
applicationUserId?: string;
deviceName?: string;
customAttributes?: Record<string, string | number | boolean>;
@@ -178,14 +129,6 @@ export interface PersonalizeContext {
userIdentity: UserIdentity;
userAttributes?: Record<string, string | number | boolean | any[]>;
forceDepersonalize?: boolean;
/**
* Set to true if you want to keep the installation as a lead when personalizing it. Default: false
*/
keepAsLead?: boolean;
/**
* Set to true to mark this installation as primary for the personalized user. Default: false
*/
setDeviceAsPrimary?: boolean;
}
export interface GeoData {
@@ -333,17 +276,6 @@ export interface ChatSettingsIOS {
navigationBarTitleColor: string;
}
/**
* Exception raised by the in-app chat widget and passed to the handler registered via `setChatExceptionHandler`.
*/
export interface ChatException {
code: string;
name: string;
message: string;
origin: string;
platform: string;
}
/**
* @name Mobile Messaging
* @description
@@ -733,7 +665,7 @@ export class MobileMessaging extends AwesomeCordovaNativePlugin {
/**
* Updates JWT used for user data fetching and personalization.
*
*
* @name setUserDataJwt
* @param jwt - JWT in a predefined format
* @param {Function} errorCallback will be called on error
@@ -742,127 +674,4 @@ export class MobileMessaging extends AwesomeCordovaNativePlugin {
setUserDataJwt(jwt: string, errorCallback?: (error: MobileMessagingError) => void) {
return;
}
/**
* Un register all handlers for a MobileMessaging library event.
*
* @name unregisterAllHandlers
* @param event
*/
@Cordova({
sync: true,
})
unregisterAllHandlers(event: Event): void {
return;
}
/**
* Sets the JWT provider used to authenticate in-app chat sessions.
*
* The `jwtProvider` callback returns a JSON Web Token (JWT) used for chat authentication,
* either synchronously (returning a string) or asynchronously (returning a Promise<string>).
* It may be invoked multiple times during the widget's lifecycle, so it should always return
* a fresh and valid JWT.
*
* @param jwtProvider A callback function that returns a JWT string or a Promise that resolves to one.
* @param errorCallback Optional error handler for catching exceptions thrown during JWT generation.
*/
@Cordova({
sync: true,
})
setChatJwtProvider(jwtProvider: () => string | Promise<string>, errorCallback?: (error: any) => void): void {
return;
}
/**
* Sets the chat exception handler in case you want to intercept and display errors coming
* from the chat on your own (instead of relying on the prebuilt error banners).
* Passing `null` removes the previously set handler.
*
* @param exceptionHandler A function called with the chat exception when it is triggered, or `null` to remove the handler.
* @param errorCallback Optional error handler for catching exceptions thrown when handling exceptions from the native side.
*/
@Cordova({
sync: true,
})
setChatExceptionHandler(
exceptionHandler: ((exception: ChatException) => void) | null,
errorCallback?: (error: any) => void
): void {
return;
}
/**
* Checks if in-app chat is currently available.
*
* @name isChatAvailable
* @param resultCallback will be called upon completion with the boolean availability value.
*/
@Cordova({ sync: true })
isChatAvailable(resultCallback: (available: boolean) => void): void {
return;
}
/**
* Sets chat language.
*
* @name setLanguage
* @param language to be set
* @param {Function} errorCallback will be called on error
*/
@Cordova()
setLanguage(language: string, errorCallback?: (error: MobileMessagingError) => void) {
return;
}
/**
* Set contextual data of the widget.
*
* @param data contextual data in the form of a JSON string
* @param allMultiThreadStrategy multi-thread strategy flag, true -> ALL, false -> ACTIVE
* @param {Function} errorCallback will be called on error
*/
@Cordova()
sendContextualData(
data: string,
allMultiThreadStrategy: boolean,
errorCallback?: (error: MobileMessagingError) => void
) {
return;
}
/**
* Cleans up the SDK, removing all data and stopping all services.
* After cleanup, you should call `init()` again with a new configuration to restart the SDK.
* The JWT supplier is also cleared during cleanup.
*
* @name cleanup
*/
@Cordova()
cleanup(): Promise<any> {
return;
}
/**
* Sets chat customization.
*
* @name setChatCustomization
* @param customization Chat customization JSON object.
*/
@Cordova()
setChatCustomization(customization: any): Promise<any> {
return;
}
/**
* Sets widget theme.
*
* @name setWidgetTheme
* @param widgetTheme Widget theme name.
* @param {Function} errorCallback will be called on error
*/
@Cordova()
setWidgetTheme(widgetTheme: string, errorCallback?: (error: MobileMessagingError) => void) {
return;
}
}
@@ -18,7 +18,6 @@ export enum Connection {
CELL_2G = '2g',
CELL_3G = '3g',
CELL_4G = '4g',
CELL_5G = '5g',
CELL = 'cellular',
NONE = 'none',
}
@@ -63,7 +62,7 @@ export enum Connection {
*
* ```
* @advanced
* The `type` property will return one of the following connection types: `unknown`, `ethernet`, `wifi`, `2g`, `3g`, `4g`, `5g`, `cellular`, `none`
* The `type` property will return one of the following connection types: `unknown`, `ethernet`, `wifi`, `2g`, `3g`, `4g`, `cellular`, `none`
*/
@Plugin({
pluginName: 'Network',
@@ -84,7 +83,6 @@ export class Network extends AwesomeCordovaNativePlugin {
CELL_2G: '2g',
CELL_3G: '3g',
CELL_4G: '4g',
CELL_5G: '5g',
CELL: 'cellular',
NONE: 'none',
};
@@ -100,7 +98,6 @@ export class Network extends AwesomeCordovaNativePlugin {
* Downlink Max Speed
*
* @returns {string}
* @deprecated Not part of the upstream cordova-plugin-network-information API (verified against v3.1.0 types/index.d.ts and README). Retained for backwards compatibility only.
*/
@CordovaProperty() downlinkMax: string;
@@ -112,7 +109,7 @@ export class Network extends AwesomeCordovaNativePlugin {
@CordovaCheck()
onChange(): Observable<'connected' | 'disconnected'> {
return merge(
this.onConnect().pipe(mapTo('connected')) as Observable<'connected'>,
this.onConnect().pipe(mapTo('connected')),
this.onDisconnect().pipe(mapTo('disconnected')) as Observable<'disconnected'>
);
}
File diff suppressed because it is too large Load Diff
@@ -18,12 +18,6 @@ export interface SmsOptionsAndroid {
* Set to "INTENT" to send SMS with the native android SMS messaging. Leaving it empty will send the SMS without opening any app.
*/
intent?: string;
/**
* Selects which SIM to use on dual-SIM devices when sending with no intent. Use "0" for the primary SIM slot and "1" for the secondary SIM slot.
* If no slot is specified the default SIM slot will be used.
*/
slot?: string;
}
/**
@@ -84,16 +78,4 @@ export class SMS extends AwesomeCordovaNativePlugin {
hasPermission(): Promise<boolean> {
return;
}
/**
* Requests permission to send SMS (Android Marshmallow and later)
*
* @returns {Promise<boolean>} returns a promise that resolves with a boolean that indicates if permission was granted
*/
@Cordova({
platforms: ['Android'],
})
requestPermission(): Promise<boolean> {
return;
}
}
@@ -35,17 +35,6 @@ export interface SQLiteDatabaseConfig {
* support encrypted databases with https://github.com/litehelpers/Cordova-sqlcipher-adapter
*/
key?: string;
/**
* Use the Android system database provider instead of the default lightweight NDK connector.
* Set to 'system' to avoid multiple-SQLite-connection corruption issues on Android. Example: 'system'
*/
androidDatabaseProvider?: string;
/**
* Android-only workaround that closes and reopens the database file at the end of every committed
* transaction, to work around a database locking issue when `androidDatabaseProvider: 'system'` is used.
* Set to 1 to enable. Only applied to `sqlBatch`/`transaction`, not to `executeSql`.
*/
androidLockWorkaround?: number;
}
/**
@@ -146,13 +135,8 @@ export class SQLiteObject {
return;
}
/**
* The underlying plugin method is named `abortAllPendingTransactions`; mapped explicitly here since this
* method's name differs in casing.
*/
@CordovaInstance({
sync: true,
methodName: 'abortAllPendingTransactions',
})
abortallPendingTransactions(): void {}
}
@@ -197,7 +181,7 @@ export class SQLiteObject {
pluginRef: 'sqlitePlugin',
plugin: 'cordova-sqlite-storage',
repo: 'https://github.com/litehelpers/Cordova-sqlite-storage',
platforms: ['Android', 'Browser', 'iOS', 'macOS', 'Windows'],
platforms: ['Android', 'iOS', 'macOS', 'Windows'],
})
@Injectable()
export class SQLite extends AwesomeCordovaNativePlugin {
@@ -41,10 +41,7 @@ export interface TealiumDispatch {
export class TealiumView implements TealiumDispatch {
public type = 'view';
constructor(
public viewName: string,
public dataLayer: Map<string, any>
) {}
constructor(public viewName: string, public dataLayer: Map<string, any>) {}
toJson() {
const dictionary: any = {};
dictionary['type'] = this.type;
@@ -60,10 +57,7 @@ export class TealiumView implements TealiumDispatch {
export class TealiumEvent implements TealiumDispatch {
public type = 'event';
constructor(
public eventName: string,
public dataLayer: Map<string, any>
) {}
constructor(public eventName: string, public dataLayer: Map<string, any>) {}
toJson() {
const dictionary: any = {};
dictionary['type'] = this.type;
@@ -78,21 +72,7 @@ export class TealiumEvent implements TealiumDispatch {
}
export class ConsentExpiry {
constructor(
public time: number,
public unit: TimeUnit
) {}
}
export interface RemoteCommand {
/** The ID used to invoke the remote command */
id: string;
/** Path to a local JSON file mapping, relative to the app bundle */
path?: string;
/** URL to a remote JSON file mapping */
url?: string;
/** Callback invoked when the remote command is triggered */
callback?: Function;
constructor(public time: number, public unit: TimeUnit) {}
}
export enum TimeUnit {
@@ -150,7 +130,6 @@ export interface TealiumConfig {
memoryReportingEnabled?: boolean;
overrideCollectURL?: string;
overrideCollectBatchURL?: string;
overrideCollectProfile?: string;
overrideCollectDomain?: string;
overrideLibrarySettingsURL?: string;
overrideTagManagementURL?: string;
@@ -164,12 +143,6 @@ export interface TealiumConfig {
useRemoteLibrarySettings?: boolean;
visitorServiceEnabled?: boolean;
visitorServiceRefreshInterval?: string;
/** Remote commands to register automatically on initialize */
remoteCommands?: RemoteCommand[];
/** Whether session counting is enabled */
sessionCountingEnabled?: boolean;
/** Whether dispatch batching is enabled */
batchingEnabled?: boolean;
}
/**
@@ -278,16 +251,6 @@ export class Tealium extends AwesomeCordovaNativePlugin {
return;
}
/**
* Gathers the current track data (data layer merged with library data) without dispatching a track call
* @param callback
* @return {Promise<any>} Returns a promise that resolves when something happens
*/
@Cordova()
gatherTrackData(callback?: Function): Promise<any> {
return;
}
/**
* Retrieves the user's consent status
* @param callback
@@ -347,16 +310,6 @@ export class Tealium extends AwesomeCordovaNativePlugin {
return;
}
/**
* Passes a deep link URI to the Tealium library for tracking
* @param uri The deep link URI
* @return {Promise<any>} Returns a promise that resolves when something happens
*/
@Cordova()
handleDeepLink(uri: string): Promise<any> {
return;
}
/**
* Retrieves the Tealium Visitor ID
* @param callback
@@ -367,24 +320,6 @@ export class Tealium extends AwesomeCordovaNativePlugin {
return;
}
/**
* Resets the Tealium Visitor ID, generating a new one
* @return {Promise<any>} Returns a promise that resolves when something happens
*/
@Cordova()
resetVisitorId(): Promise<any> {
return;
}
/**
* Clears all previously-stored visitor IDs
* @return {Promise<any>} Returns a promise that resolves when something happens
*/
@Cordova()
clearStoredVisitorIds(): Promise<any> {
return;
}
/**
* Sets a listener to be called when the AudienceStream visitor profile is updated
* @param callback
@@ -395,16 +330,6 @@ export class Tealium extends AwesomeCordovaNativePlugin {
return;
}
/**
* Sets a listener to be called when the Visitor ID changes
* @param callback
* @return {Promise<any>} Returns a promise that resolves when something happens
*/
@Cordova()
setVisitorIdListener(callback?: Function): Promise<any> {
return;
}
/**
* Sets a listener to be called when the consent has expired
* @param callback
@@ -419,12 +344,10 @@ export class Tealium extends AwesomeCordovaNativePlugin {
* Adds a remote command for later execution
* @param id The ID used to invoke the remote command
* @param callback
* @param path Path to a local JSON file mapping, relative to the app bundle
* @param url URL to a remote JSON file mapping
* @return {Promise<any>} Returns a promise that resolves when something happens
*/
@Cordova()
addRemoteCommand(id: string, callback?: Function, path?: string, url?: string): Promise<any> {
addRemoteCommand(id: string, callback?: Function): Promise<any> {
return;
}
@@ -228,6 +228,7 @@ export class UserPreferencesMethods extends NestedObject {
})
@Injectable()
export class WonderPush extends AwesomeCordovaNativePlugin {
/**
* Initializes the WonderPush SDK
* @param clientId
@@ -241,33 +242,6 @@ export class WonderPush extends AwesomeCordovaNativePlugin {
return;
}
/**
* Initializes the SDK and remembers credentials for subsequent auto-initialization.
*
* You can disable AUTO_INIT or instead use `"USE_REMEMBERED"` as a value for the Client ID and Client Secret.
* This is aimed at enabling complex integration scenarios where the Client ID and Client Secret are resolved dynamically and reused ever after.
* If you provide a null value, the credential will be forgotten and the SDK won't be initialized.
*
* @param {?string} clientId
* @param {?string} clientSecret
* @returns {Promise<any>}
*/
@Cordova()
initializeAndRememberCredentials(clientId: string | null, clientSecret: string | null): Promise<any> {
return;
}
/**
* Returns the remembered Client ID given to `initializeAndRememberCredentials()`.
* There is no similar getter for the Client Secret.
*
* @returns {Promise<string | null>} The remembered Client ID if both a non-empty Client ID and Client Secret were last remembered, `null` otherwise.
*/
@Cordova()
getRememberedClientId(): Promise<string | null> {
return;
}
/**
* Whether the SDK has been initialized.
*
@@ -579,11 +553,10 @@ export class WonderPush extends AwesomeCordovaNativePlugin {
* Because in iOS you only have *one* chance for prompting the user, you should find a good timing for that.
* For a start, you can systematically call it when the application starts, so that the user will be prompted directly at the first launch.
*
* @param {boolean} [fallbackToSettings] - When true, WonderPush will show a dialog prompting the user to go to settings and activate push notifications
* @returns {Promise<any>} Returns a promise that resolves upon successful subscription
*/
@Cordova()
subscribeToNotifications(fallbackToSettings?: boolean): Promise<any> {
subscribeToNotifications(): Promise<any> {
return;
}