@appboxo/capacitor-boxo-sdk 0.8.5 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ require 'json'
3
3
  package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4
4
 
5
5
  Pod::Spec.new do |s|
6
- s.name = 'CapacitorBoxoSdk'
6
+ s.name = 'AppboxoCapacitorBoxoSdk'
7
7
  s.version = package['version']
8
8
  s.summary = package['description']
9
9
  s.license = package['license']
@@ -13,6 +13,6 @@ Pod::Spec.new do |s|
13
13
  s.source_files = 'ios/Sources/**/*.{swift,h,m,c,cc,mm,cpp}'
14
14
  s.ios.deployment_target = '14.0'
15
15
  s.dependency 'Capacitor'
16
- s.dependency 'BoxoSDK', '1.13.0'
16
+ s.dependency 'BoxoSDK', '1.19.0'
17
17
  s.swift_version = '5.1'
18
18
  end
package/Package.swift CHANGED
@@ -2,11 +2,11 @@
2
2
  import PackageDescription
3
3
 
4
4
  let package = Package(
5
- name: "CapacitorBoxoSdk",
5
+ name: "AppboxoCapacitorBoxoSdk",
6
6
  platforms: [.iOS(.v14)],
7
7
  products: [
8
8
  .library(
9
- name: "CapacitorBoxoSdk",
9
+ name: "AppboxoCapacitorBoxoSdk",
10
10
  targets: ["AppboxoPlugin"])
11
11
  ],
12
12
  dependencies: [
package/README.md CHANGED
@@ -16,6 +16,7 @@ npx cap sync
16
16
  * [`setConfig(...)`](#setconfig)
17
17
  * [`openMiniapp(...)`](#openminiapp)
18
18
  * [`setAuthCode(...)`](#setauthcode)
19
+ * [`setAuthTokens(...)`](#setauthtokens)
19
20
  * [`closeMiniapp(...)`](#closeminiapp)
20
21
  * [`sendCustomEvent(...)`](#sendcustomevent)
21
22
  * [`sendPaymentEvent(...)`](#sendpaymentevent)
@@ -77,6 +78,21 @@ get AuthCode from hostapp backend and send it to miniapp
77
78
  --------------------
78
79
 
79
80
 
81
+ ### setAuthTokens(...)
82
+
83
+ ```typescript
84
+ setAuthTokens(options: { appId: string; tokens: { [key: string]: string; }; }) => Promise<void>
85
+ ```
86
+
87
+ get AuthTokens from hostapp backend and send it to miniapp
88
+
89
+ | Param | Type |
90
+ | ------------- | ------------------------------------------------------------------- |
91
+ | **`options`** | <code>{ appId: string; tokens: { [key: string]: string; }; }</code> |
92
+
93
+ --------------------
94
+
95
+
80
96
  ### closeMiniapp(...)
81
97
 
82
98
  ```typescript
@@ -56,7 +56,7 @@ dependencies {
56
56
  implementation fileTree(dir: 'libs', include: ['*.jar'])
57
57
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
58
58
  implementation project(':capacitor-android')
59
- implementation('io.boxo.sdk:boxo-android:1.30.5') {
59
+ implementation('io.boxo.sdk:boxo-android:1.33.1') {
60
60
  exclude group: 'com.google.android.gms', module: 'play-services-location'
61
61
  }
62
62
  implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
@@ -131,6 +131,14 @@ class AppboxoPlugin : Plugin(), Miniapp.LifecycleListener,
131
131
  .setAuthCode(authCode)
132
132
  }
133
133
 
134
+ @PluginMethod
135
+ fun setAuthTokens(call: PluginCall) {
136
+ val appId = call.getString("appId")!!
137
+ val tokens = call.getObject("tokens")?.toMap() ?: emptyMap()
138
+ Boxo.getMiniapp(appId)
139
+ .setAuthTokens(tokens as Map<String, String>)
140
+ }
141
+
134
142
  @PluginMethod
135
143
  fun closeMiniapp(call: PluginCall) {
136
144
  val appId = call.getString("appId")!!
package/dist/docs.json CHANGED
@@ -57,6 +57,22 @@
57
57
  "complexTypes": [],
58
58
  "slug": "setauthcode"
59
59
  },
60
+ {
61
+ "name": "setAuthTokens",
62
+ "signature": "(options: { appId: string; tokens: { [key: string]: string; }; }) => Promise<void>",
63
+ "parameters": [
64
+ {
65
+ "name": "options",
66
+ "docs": "",
67
+ "type": "{ appId: string; tokens: { [key: string]: string; }; }"
68
+ }
69
+ ],
70
+ "returns": "Promise<void>",
71
+ "tags": [],
72
+ "docs": "get AuthTokens from hostapp backend and send it to miniapp",
73
+ "complexTypes": [],
74
+ "slug": "setauthtokens"
75
+ },
60
76
  {
61
77
  "name": "closeMiniapp",
62
78
  "signature": "(options: { appId: string; }) => Promise<void>",
@@ -15,6 +15,15 @@ export interface AppboxoPlugin {
15
15
  appId: string;
16
16
  authCode: string;
17
17
  }): Promise<void>;
18
+ /**
19
+ * get AuthTokens from hostapp backend and send it to miniapp
20
+ */
21
+ setAuthTokens(options: {
22
+ appId: string;
23
+ tokens: {
24
+ [key: string]: string;
25
+ };
26
+ }): Promise<void>;
18
27
  /**
19
28
  * close miniapp by appId
20
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\nexport interface AppboxoPlugin {\n /**\n * Set global configs\n */\n setConfig(options: ConfigOptions): Promise<void>;\n /**\n * Open miniapp with options\n */\n openMiniapp(options: OpenMiniappOptions): Promise<void>;\n /**\n * get AuthCode from hostapp backend and send it to miniapp\n */\n setAuthCode(options: { appId: string; authCode: string }): Promise<void>;\n /**\n * close miniapp by appId\n */\n closeMiniapp(options: { appId: string }): Promise<void>;\n /**\n * send custom event to miniapp\n */\n sendCustomEvent(customEvent: CustomEvent): Promise<void>;\n /**\n * send payment event to miniapp\n */\n sendPaymentEvent(paymentEvent: PaymentEvent): Promise<void>;\n /**\n * Get list of miniapps\n */\n getMiniapps(): Promise<MiniappListResult>;\n /**\n * Miniapp opens on a native screen. To show payment processing page need to hide miniapp screen.\n * To use this function need to enable 'enableMultitaskMode: true' in Boxo.setConfig()\n */\n hideMiniapps(): Promise<void>;\n /**\n * When host app user logs out, it is highly important to clear all miniapp storage data.\n */\n addListener(\n eventName: 'custom_event',\n listenerFunc: (customEvent: CustomEvent) => void,\n ): Promise<PluginListenerHandle>;\n\n addListener(\n eventName: 'payment_event',\n listenerFunc: (paymentEvent: PaymentEvent) => void,\n ): Promise<PluginListenerHandle>;\n\n addListener(\n eventName: 'miniapp_lifecycle',\n listenerFunc: (lifecycle: LifecycleEvent) => void,\n ): Promise<PluginListenerHandle>;\n\n logout(): Promise<void>;\n}\n\nexport interface ConfigOptions {\n /**\n * your client id from dashboard\n */\n clientId: string;\n /**\n * hostapp userId, will be used for the Consent Management\n */\n userId?: string;\n /**\n * language value will be passed to the miniapp\n */\n language?: string;\n /**\n * switch to sandbox mode\n */\n sandboxMode?: boolean;\n /**\n * Each miniapp appears as a task in the Recents screen.\n * !It works only on android devices.\n */\n enableMultitaskMode?: boolean;\n /**\n * theme for splash screen and other native components used inside miniapp.\n */\n theme?: 'light' | 'dark' | 'system';\n /**\n * enables webview debugging\n */\n isDebug?: boolean;\n /**\n * use it to hide \"Settings\" from Miniapp menu\n */\n showPermissionsPage?: boolean;\n /**\n * use it to hide \"Clear cache\" from Miniapp menu\n */\n showClearCache?: boolean;\n /**\n * use it to hide \"About Page\" from Miniapp menu\n */\n showAboutPage?: boolean;\n /**\n * use it to change miniapp settings cache time in sec. By default is 60 sec\n */\n miniappSettingsExpirationTime?: number;\n}\n\nexport interface OpenMiniappOptions {\n /**\n * miniapp id\n */\n appId: string;\n /**\n * (optional) data as Map that is sent to miniapp\n */\n data?: object;\n /**\n * (optional) miniapp theme \"dark\" | \"light\" (by default is system theme)\n */\n theme?: 'light' | 'dark' | 'system';\n /**\n * (optional) extra query params to append to miniapp URL (like: http://miniapp-url.com/?param=test)\n */\n extraUrlParams?: object;\n /**\n * (optional) suffix to append to miniapp URL (like: http://miniapp-url.com/?param=test)\n */\n urlSuffix?: string;\n /**\n * (optional) provide colors to miniapp if miniapp supports\n */\n colors?: ColorOptions;\n /**\n * (optional) use to skip miniapp splash screen\n */\n enableSplash?: boolean;\n /**\n * (optional) use to save state on close miniapp\n */\n saveState?: boolean;\n /**\n * (optional) use to change launch animation for miniapp.\n */\n pageAnimation?: 'BOTTOM_TO_TOP' | 'TOP_TO_BOTTOM' | 'LEFT_TO_RIGHT' | 'RIGHT_TO_LEFT' | 'FADE_IN';\n}\n\nexport interface ColorOptions {\n primaryColor?: string;\n secondaryColor?: string;\n tertiaryColor?: string;\n}\n\nexport interface CustomEvent {\n appId: string;\n requestId: number;\n type: string;\n errorType?: string;\n payload?: object;\n}\n\nexport interface PaymentEvent {\n appId: string;\n transactionToken?: string;\n miniappOrderId?: string;\n amount: number;\n currency?: string;\n status?: string;\n hostappOrderId?: string;\n extraParams?: object;\n}\n\nexport interface LifecycleEvent {\n appId: string;\n /**\n * onLaunch - Called when the miniapp will launch with Boxo.open(...)\n * onResume - Called when the miniapp will start interacting with the user\n * onPause - Called when the miniapp loses foreground state\n * onClose - Called when clicked close button in miniapp or when destroyed miniapp page\n * onError - Called when miniapp fails to launch due to internet connection issues\n * onUserInteraction - Called whenever touch event is dispatched to the miniapp page.\n * onAuth - Called when the miniapp starts login and user allows it\n */\n lifecycle: string;\n error?: string;\n}\n\nexport interface MiniappListResult {\n miniapps?: [MiniappData];\n error?: string;\n}\n\nexport interface MiniappData {\n appId: string;\n name: string;\n category: string;\n description: string;\n logo: string;\n}\n"]}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\nexport interface AppboxoPlugin {\n /**\n * Set global configs\n */\n setConfig(options: ConfigOptions): Promise<void>;\n /**\n * Open miniapp with options\n */\n openMiniapp(options: OpenMiniappOptions): Promise<void>;\n /**\n * get AuthCode from hostapp backend and send it to miniapp\n */\n setAuthCode(options: { appId: string; authCode: string }): Promise<void>;\n /**\n * get AuthTokens from hostapp backend and send it to miniapp\n */\n setAuthTokens(options: { appId: string; tokens: { [key: string]: string } }): Promise<void>;\n /**\n * close miniapp by appId\n */\n closeMiniapp(options: { appId: string }): Promise<void>;\n /**\n * send custom event to miniapp\n */\n sendCustomEvent(customEvent: CustomEvent): Promise<void>;\n /**\n * send payment event to miniapp\n */\n sendPaymentEvent(paymentEvent: PaymentEvent): Promise<void>;\n /**\n * Get list of miniapps\n */\n getMiniapps(): Promise<MiniappListResult>;\n /**\n * Miniapp opens on a native screen. To show payment processing page need to hide miniapp screen.\n * To use this function need to enable 'enableMultitaskMode: true' in Boxo.setConfig()\n */\n hideMiniapps(): Promise<void>;\n /**\n * When host app user logs out, it is highly important to clear all miniapp storage data.\n */\n addListener(\n eventName: 'custom_event',\n listenerFunc: (customEvent: CustomEvent) => void,\n ): Promise<PluginListenerHandle>;\n\n addListener(\n eventName: 'payment_event',\n listenerFunc: (paymentEvent: PaymentEvent) => void,\n ): Promise<PluginListenerHandle>;\n\n addListener(\n eventName: 'miniapp_lifecycle',\n listenerFunc: (lifecycle: LifecycleEvent) => void,\n ): Promise<PluginListenerHandle>;\n\n logout(): Promise<void>;\n}\n\nexport interface ConfigOptions {\n /**\n * your client id from dashboard\n */\n clientId: string;\n /**\n * hostapp userId, will be used for the Consent Management\n */\n userId?: string;\n /**\n * language value will be passed to the miniapp\n */\n language?: string;\n /**\n * switch to sandbox mode\n */\n sandboxMode?: boolean;\n /**\n * Each miniapp appears as a task in the Recents screen.\n * !It works only on android devices.\n */\n enableMultitaskMode?: boolean;\n /**\n * theme for splash screen and other native components used inside miniapp.\n */\n theme?: 'light' | 'dark' | 'system';\n /**\n * enables webview debugging\n */\n isDebug?: boolean;\n /**\n * use it to hide \"Settings\" from Miniapp menu\n */\n showPermissionsPage?: boolean;\n /**\n * use it to hide \"Clear cache\" from Miniapp menu\n */\n showClearCache?: boolean;\n /**\n * use it to hide \"About Page\" from Miniapp menu\n */\n showAboutPage?: boolean;\n /**\n * use it to change miniapp settings cache time in sec. By default is 60 sec\n */\n miniappSettingsExpirationTime?: number;\n}\n\nexport interface OpenMiniappOptions {\n /**\n * miniapp id\n */\n appId: string;\n /**\n * (optional) data as Map that is sent to miniapp\n */\n data?: object;\n /**\n * (optional) miniapp theme \"dark\" | \"light\" (by default is system theme)\n */\n theme?: 'light' | 'dark' | 'system';\n /**\n * (optional) extra query params to append to miniapp URL (like: http://miniapp-url.com/?param=test)\n */\n extraUrlParams?: object;\n /**\n * (optional) suffix to append to miniapp URL (like: http://miniapp-url.com/?param=test)\n */\n urlSuffix?: string;\n /**\n * (optional) provide colors to miniapp if miniapp supports\n */\n colors?: ColorOptions;\n /**\n * (optional) use to skip miniapp splash screen\n */\n enableSplash?: boolean;\n /**\n * (optional) use to save state on close miniapp\n */\n saveState?: boolean;\n /**\n * (optional) use to change launch animation for miniapp.\n */\n pageAnimation?: 'BOTTOM_TO_TOP' | 'TOP_TO_BOTTOM' | 'LEFT_TO_RIGHT' | 'RIGHT_TO_LEFT' | 'FADE_IN';\n}\n\nexport interface ColorOptions {\n primaryColor?: string;\n secondaryColor?: string;\n tertiaryColor?: string;\n}\n\nexport interface CustomEvent {\n appId: string;\n requestId: number;\n type: string;\n errorType?: string;\n payload?: object;\n}\n\nexport interface PaymentEvent {\n appId: string;\n transactionToken?: string;\n miniappOrderId?: string;\n amount: number;\n currency?: string;\n status?: string;\n hostappOrderId?: string;\n extraParams?: object;\n}\n\nexport interface LifecycleEvent {\n appId: string;\n /**\n * onLaunch - Called when the miniapp will launch with Boxo.open(...)\n * onResume - Called when the miniapp will start interacting with the user\n * onPause - Called when the miniapp loses foreground state\n * onClose - Called when clicked close button in miniapp or when destroyed miniapp page\n * onError - Called when miniapp fails to launch due to internet connection issues\n * onUserInteraction - Called whenever touch event is dispatched to the miniapp page.\n * onAuth - Called when the miniapp starts login and user allows it\n */\n lifecycle: string;\n error?: string;\n}\n\nexport interface MiniappListResult {\n miniapps?: [MiniappData];\n error?: string;\n}\n\nexport interface MiniappData {\n appId: string;\n name: string;\n category: string;\n description: string;\n logo: string;\n}\n"]}
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var core = require('@capacitor/core');
4
6
 
5
7
  const Boxo = core.registerPlugin('Appboxo');
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["esm/index.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Boxo = registerPlugin('Appboxo');\nconst Appboxo = registerPlugin('Appboxo');\nexport * from './definitions';\nexport { Appboxo };\nexport { Boxo };\n//# sourceMappingURL=index.js.map"],"names":["registerPlugin"],"mappings":";;;;AACK,MAAC,IAAI,GAAGA,mBAAc,CAAC,SAAS;AAChC,MAAC,OAAO,GAAGA,mBAAc,CAAC,SAAS;;;;;"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["esm/index.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Boxo = registerPlugin('Appboxo');\nconst Appboxo = registerPlugin('Appboxo');\nexport * from './definitions';\nexport { Appboxo };\nexport { Boxo };\n//# sourceMappingURL=index.js.map"],"names":["registerPlugin"],"mappings":";;;;;;AACK,MAAC,IAAI,GAAGA,mBAAc,CAAC,SAAS,EAAE;AAClC,MAAC,OAAO,GAAGA,mBAAc,CAAC,SAAS;;;;;"}
package/dist/plugin.js CHANGED
@@ -7,6 +7,8 @@ var capacitorAppboxo = (function (exports, core) {
7
7
  exports.Appboxo = Appboxo;
8
8
  exports.Boxo = Boxo;
9
9
 
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
10
12
  return exports;
11
13
 
12
14
  })({}, capacitorExports);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["esm/index.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Boxo = registerPlugin('Appboxo');\nconst Appboxo = registerPlugin('Appboxo');\nexport * from './definitions';\nexport { Appboxo };\nexport { Boxo };\n//# sourceMappingURL=index.js.map"],"names":["registerPlugin"],"mappings":";;;AACK,OAAC,IAAI,GAAGA,mBAAc,CAAC,SAAS;AAChC,OAAC,OAAO,GAAGA,mBAAc,CAAC,SAAS;;;;;;;;;;;"}
1
+ {"version":3,"file":"plugin.js","sources":["esm/index.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Boxo = registerPlugin('Appboxo');\nconst Appboxo = registerPlugin('Appboxo');\nexport * from './definitions';\nexport { Appboxo };\nexport { Boxo };\n//# sourceMappingURL=index.js.map"],"names":["registerPlugin"],"mappings":";;;AACK,OAAC,IAAI,GAAGA,mBAAc,CAAC,SAAS,EAAE;AAClC,OAAC,OAAO,GAAGA,mBAAc,CAAC,SAAS;;;;;;;;;;;;;"}
@@ -18,6 +18,7 @@ public class AppboxoPlugin: CAPPlugin, CAPBridgedPlugin {
18
18
  CAPPluginMethod(name: "setConfig", returnType: CAPPluginReturnPromise),
19
19
  CAPPluginMethod(name: "openMiniapp", returnType: CAPPluginReturnPromise),
20
20
  CAPPluginMethod(name: "setAuthCode", returnType: CAPPluginReturnPromise),
21
+ CAPPluginMethod(name: "setAuthTokens", returnType: CAPPluginReturnPromise),
21
22
  CAPPluginMethod(name: "closeMiniapp", returnType: CAPPluginReturnPromise),
22
23
  CAPPluginMethod(name: "sendCustomEvent", returnType: CAPPluginReturnPromise),
23
24
  CAPPluginMethod(name: "sendPaymentEvent", returnType: CAPPluginReturnPromise),
@@ -134,6 +135,15 @@ public class AppboxoPlugin: CAPPlugin, CAPBridgedPlugin {
134
135
  Boxo.shared.getMiniapp(appId: appId).setAuthCode(authCode: authCode)
135
136
  }
136
137
  }
138
+
139
+ @objc func setAuthTokens(_ call: CAPPluginCall) {
140
+ let appId = call.getString("appId") ?? ""
141
+ let tokens = call.getObject("tokens")?.toMap() ?? [:]
142
+
143
+ DispatchQueue.main.async {
144
+ Boxo.shared.getMiniapp(appId: appId).setAuthTokens(tokens)
145
+ }
146
+ }
137
147
 
138
148
  @objc func closeMiniapp(_ call: CAPPluginCall) {
139
149
  let appId = call.getString("appId") ?? ""
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appboxo/capacitor-boxo-sdk",
3
- "version": "0.8.5",
3
+ "version": "0.9.1",
4
4
  "description": "A capacitor wrapper over Appboxo SDK for IOS and Android.",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",
@@ -13,7 +13,7 @@
13
13
  "ios/Sources",
14
14
  "ios/Tests",
15
15
  "Package.swift",
16
- "CapacitorBoxoSdk.podspec"
16
+ "AppboxoCapacitorBoxoSdk.podspec"
17
17
  ],
18
18
  "author": "Appboxo pte. ltd",
19
19
  "license": "MIT",
@@ -31,7 +31,7 @@
31
31
  ],
32
32
  "scripts": {
33
33
  "verify": "npm run verify:ios && npm run verify:android && npm run verify:web",
34
- "verify:ios": "xcodebuild -scheme CapacitorBoxoSdk -destination generic/platform=iOS",
34
+ "verify:ios": "xcodebuild -scheme AppboxoCapacitorBoxoSdk -destination generic/platform=iOS",
35
35
  "verify:android": "cd android && ./gradlew clean build test && cd ..",
36
36
  "verify:web": "npm run build",
37
37
  "lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint",