react-native-sdk-pianoio 0.3.5 → 0.3.7

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.
package/README.md CHANGED
@@ -136,16 +136,32 @@ npm run build
136
136
  └── ...
137
137
  ```
138
138
 
139
- ## 🎯 Example App
139
+ ## 🎯 How to install
140
140
 
141
- The repository includes an example app to demonstrate all SDK features.
142
-
143
- ```bash
144
- # Navigate to the example directory
145
- cd example
141
+ ```
142
+ # In your expo projet's app.json file, make sure to have:
143
+
144
+ "plugins": [
145
+ [
146
+ "expo-build-properties",
147
+ {
148
+ "android": {
149
+ "buildToolsVersion": "35.0.0",
150
+ "compileSdkVersion": 34,
151
+ "minSdkVersion": 24,
152
+ "targetSdkVersion": 34
153
+ },
154
+ "ios": {
155
+ "deploymentTarget": "15.1",
156
+ "useFrameworks": "static"
157
+ }
158
+ }
159
+ ]
160
+ ...other plugins...
161
+ ],
146
162
 
147
163
  # Install dependencies
148
- npm install
164
+ npm install react-native-sdk-pianoio
149
165
 
150
166
  # Run on Android
151
167
  npx expo run:android
@@ -26,40 +26,24 @@ class ComposerPianoImpl {
26
26
 
27
27
  // MARK: - Properties
28
28
 
29
- /** The Piano SDK's Composer instance */
30
29
  private var composer: Composer? = null
31
-
32
- /** The Piano ID Token Service instance */
33
30
  internal var tokenService: TokenService? = null
34
31
 
35
- /** The Piano Application ID */
36
32
  companion object {
37
33
  var aid: String = ""
38
34
  }
39
35
 
40
36
  // MARK: - Configuration Properties
41
37
 
42
- /** Configured tags for the composer */
43
38
  private val tags = mutableListOf<String>()
44
-
45
- /** Configured Zone ID */
46
39
  private var zoneId: String? = null
47
-
48
- /** Configured referrer */
49
40
  private var referrer: String? = null
50
-
51
- /** Configured URL */
52
41
  private var url: String? = null
53
-
54
- /** Configured user token */
55
42
  private var userToken: String? = null
56
-
57
- /** Configured custom variables */
58
43
  private val customVariables = mutableMapOf<String, String>()
59
44
 
60
45
  // MARK: - Initialization
61
46
 
62
- /** Public class constructor Initializes the instance with default values */
63
47
  constructor() {
64
48
  println("ComposerPianoImpl: Constructor initialized")
65
49
  }
@@ -70,7 +54,7 @@ class ComposerPianoImpl {
70
54
  * @param context The Android application context.
71
55
  * @param aid The Piano Application ID.
72
56
  */
73
- fun initializeComposer(context: Context, aid: String) {
57
+ fun initializeComposer(context: Context, aid: String, isSandbox: Boolean) {
74
58
  println("ComposerPianoImpl: Initializing composer with AID: $aid")
75
59
 
76
60
  // Validate input parameter
@@ -84,7 +68,9 @@ class ComposerPianoImpl {
84
68
 
85
69
  try {
86
70
  // 1. Initialize the Composer SDK statically using the official API
87
- Composer.init(context, aid, Composer.Endpoint.PRODUCTION)
71
+ val endpoint =
72
+ if (isSandbox) Composer.Endpoint.SANDBOX else Composer.Endpoint.PRODUCTION
73
+ Composer.init(context, aid, endpoint)
88
74
  println("ComposerPianoImpl: Composer SDK initialized for PRODUCTION")
89
75
 
90
76
  // 2. Get the singleton instance and store it
@@ -103,24 +89,48 @@ class ComposerPianoImpl {
103
89
  }
104
90
  }
105
91
 
106
- // MARK: - Configuration Methods
92
+ // MARK: - State Methods (Getters)
93
+
94
+ fun getAid(): String {
95
+ return ComposerPianoImpl.aid
96
+ }
97
+
98
+ fun getTags(): List<String> {
99
+ return this.tags.toList()
100
+ }
101
+
102
+ fun getZoneId(): String {
103
+ return this.zoneId ?: ""
104
+ }
105
+
106
+ fun getReferrer(): String {
107
+ return referrer ?: ""
108
+ }
109
+
110
+ fun getUrl(): String {
111
+ return url ?: ""
112
+ }
113
+
114
+ fun getUserToken(): String {
115
+ return userToken ?: ""
116
+ }
117
+
118
+ fun getComposer(): Composer? {
119
+ return composer
120
+ }
121
+
122
+ fun getCustomVariables(): Map<String, String> {
123
+ return customVariables.toMap()
124
+ }
125
+
126
+ // MARK: - Configuration Methods (Setters)
107
127
 
108
- /**
109
- * Adds a tag to the composer
110
- *
111
- * @param tag The tag to be added
112
- */
113
128
  fun addTag(tag: String) {
114
129
  if (!this.tags.contains(tag)) {
115
130
  this.tags.add(tag)
116
131
  }
117
132
  }
118
133
 
119
- /**
120
- * Adds multiple tags to the composer
121
- *
122
- * @param tags The list of tags to be added
123
- */
124
134
  fun addTags(tags: List<String>) {
125
135
  for (tag in tags) {
126
136
  if (!this.tags.contains(tag)) {
@@ -129,166 +139,57 @@ class ComposerPianoImpl {
129
139
  }
130
140
  }
131
141
 
132
- /**
133
- * Sets the Zone ID for the composer
134
- *
135
- * @param zoneId The Zone ID to be configured
136
- */
137
142
  fun setZoneId(zoneId: String) {
138
143
  this.zoneId = zoneId
139
144
  }
140
145
 
141
- /**
142
- * Sets the referrer for the composer
143
- *
144
- * @param referrer The referrer to be configured
145
- */
146
146
  fun setReferrer(referrer: String) {
147
147
  this.referrer = referrer
148
148
  }
149
149
 
150
- /**
151
- * Sets the URL for the composer
152
- *
153
- * @param url The URL to be configured
154
- */
155
150
  fun setUrl(url: String) {
156
151
  this.url = url
157
152
  }
158
153
 
159
- /**
160
- * Sets the user token on the Composer instance.
161
- *
162
- * @param token The user's access token.
163
- */
164
154
  fun setUserToken(token: String) {
165
155
  this.userToken = token
166
- // Call the official SDK method to set the token
167
156
  composer?.userToken(token)
168
157
  }
169
158
 
170
- /**
171
- * Adds a custom variable.
172
- *
173
- * @param key The variable's key
174
- * @param value The variable's value
175
- */
176
159
  fun addCustomVariable(key: String, value: String) {
177
160
  this.customVariables[key] = value
178
161
  }
179
162
 
180
- // MARK: - Advanced Configuration Methods
181
-
182
- /**
183
- * Sets multiple custom variables at once.
184
- *
185
- * @param variables A map of custom variables.
186
- */
187
163
  fun setCustomVariables(variables: Map<String, String>) {
188
164
  this.customVariables.clear()
189
165
  this.customVariables.putAll(variables)
190
166
  }
191
167
 
192
- /** Removes all configured tags. */
168
+ // MARK: - Cleanup Methods
169
+
193
170
  fun clearTags() {
194
171
  this.tags.clear()
195
172
  }
196
173
 
197
- /** Removes all custom variables. */
198
174
  fun clearCustomVariables() {
199
175
  this.customVariables.clear()
200
176
  }
201
177
 
202
- /**
203
- * Removes a specific tag.
204
- *
205
- * @param tag The tag to be removed.
206
- */
207
178
  fun removeTag(tag: String) {
208
179
  this.tags.remove(tag)
209
180
  }
210
181
 
211
- /**
212
- * Removes a specific custom variable.
213
- *
214
- * @param key The key of the variable to be removed.
215
- */
216
182
  fun removeCustomVariable(key: String) {
217
183
  this.customVariables.remove(key)
218
184
  }
219
185
 
220
- // MARK: - State Methods (Getters)
221
-
222
- /**
223
- * Gets the Application ID.
224
- *
225
- * @return The current Application ID.
226
- */
227
- fun getAid(): String {
228
- return ComposerPianoImpl.aid
229
- }
230
-
231
- /**
232
- * Gets the configured tags.
233
- *
234
- * @return A list of configured tags.
235
- */
236
- fun getTags(): List<String> {
237
- return this.tags.toList()
238
- }
239
-
240
- /**
241
- * Gets the configured Zone ID.
242
- *
243
- * @return The current Zone ID.
244
- */
245
- fun getZoneId(): String {
246
- return this.zoneId ?: ""
247
- }
248
-
249
- /**
250
- * Gets the configured referrer.
251
- *
252
- * @return The current referrer.
253
- */
254
- fun getReferrer(): String {
255
- return referrer ?: ""
256
- }
257
-
258
- /**
259
- * Gets the configured URL.
260
- *
261
- * @return The current URL.
262
- */
263
- fun getUrl(): String {
264
- return url ?: ""
265
- }
266
-
267
- /**
268
- * Gets the user token.
269
- *
270
- * @return The current user token.
271
- */
272
- fun getUserToken(): String {
273
- return userToken ?: ""
274
- }
275
-
276
- /**
277
- * Gets the composer instance.
278
- *
279
- * @return The Composer instance, or null if not initialized.
280
- */
281
- fun getComposer(): Composer? {
282
- return composer
283
- }
284
-
285
- /**
286
- * Gets the configured custom variables.
287
- *
288
- * @return A map of the custom variables.
289
- */
290
- fun getCustomVariables(): Map<String, String> {
291
- return customVariables.toMap()
186
+ fun clearConfiguration() {
187
+ this.clearTags()
188
+ this.clearCustomVariables()
189
+ this.zoneId = null
190
+ this.referrer = null
191
+ this.url = null
192
+ this.userToken = null
292
193
  }
293
194
 
294
195
  // MARK: - Execution Methods
@@ -79,14 +79,14 @@ class SdkPianoioModule(private val reactContext: ReactApplicationContext) : Reac
79
79
  }
80
80
 
81
81
  @ReactMethod
82
- fun initialize(aid: String, promise: Promise) {
82
+ fun initialize(aid: String, isSandbox: Boolean, promise: Promise) {
83
83
  try {
84
84
  if (isInitialized) {
85
85
  promise.resolve(true)
86
86
  return
87
87
  }
88
88
  composerImpl = ComposerPianoImpl()
89
- composerImpl?.initializeComposer(reactContext, aid)
89
+ composerImpl?.initializeComposer(reactContext, aid, isSandbox)
90
90
  isInitialized = true
91
91
  promise.resolve(true)
92
92
  } catch (e: Exception) {
@@ -54,20 +54,10 @@ class TokenService {
54
54
 
55
55
  // MARK: - Authentication Methods
56
56
 
57
- /**
58
- * Caches the token received from a successful sign-in.
59
- *
60
- * @param token The token to cache. Can be null to clear it.
61
- */
62
57
  fun setToken(token: PianoIdToken?) {
63
58
  this.cachedToken = token
64
59
  }
65
60
 
66
- /**
67
- * Launches the Piano ID sign-in flow.
68
- *
69
- * @param authResultLauncher The ActivityResultLauncher from the calling Activity/Fragment.
70
- */
71
61
  fun signIn(authResultLauncher: ActivityResultLauncher<PianoIdClient.SignInContext>) {
72
62
  val localClient = client
73
63
  if (localClient == null) {
@@ -79,11 +69,6 @@ class TokenService {
79
69
  authResultLauncher.launch(request)
80
70
  }
81
71
 
82
- /**
83
- * Signs the user out.
84
- *
85
- * @param callback The callback to be invoked with the result (true for success, false for failure).
86
- */
87
72
  fun signOut(callback: (Boolean) -> Unit) {
88
73
  val localClient = client
89
74
  if (localClient == null) {
@@ -113,11 +98,6 @@ class TokenService {
113
98
 
114
99
  // MARK: - User Information Methods
115
100
 
116
- /**
117
- * Gets the current user's information.
118
- *
119
- * @return A User object if authenticated, otherwise null.
120
- */
121
101
  fun getCurrentUser(): User? {
122
102
  val token = this.cachedToken ?: return null
123
103
  // Construct a user from the token information using the getInfoField method.
@@ -128,11 +108,6 @@ class TokenService {
128
108
  )
129
109
  }
130
110
 
131
- /**
132
- * Checks if a user is currently authenticated.
133
- *
134
- * @return true if a valid token exists, false otherwise.
135
- */
136
111
  fun isAuthenticated(): Boolean {
137
112
  return this.cachedToken != null
138
113
  }
@@ -3,32 +3,29 @@ import PianoComposer
3
3
  import PianoOAuth
4
4
  import React
5
5
 
6
- /**
7
- * ComposerPianoImpl - Main implementation class for the Piano SDK on iOS.
8
- *
9
- * This class is responsible for:
10
- * - Managing the Piano SDK's Composer instance.
11
- * - Configuring the experience request using a fluent builder pattern.
12
- * - Executing Piano experiences and handling results via a delegate.
13
- * - Managing React Native promises across asynchronous callbacks.
14
- */
6
+ /// ComposerPianoImpl - Main implementation class for the Piano SDK on iOS.
7
+ ///
8
+ /// This class is responsible for:
9
+ /// - Managing the Piano SDK's Composer instance.
10
+ /// - Configuring the experience request using a fluent builder pattern.
11
+ /// - Executing Piano experiences and handling results via a delegate.
12
+ /// - Managing React Native promises across asynchronous callbacks.
15
13
  @objcMembers public class ComposerPianoImpl: NSObject {
16
14
 
17
15
  // MARK: - Properties
18
16
 
19
17
  private var composer: PianoComposer?
20
- private var tokenService: TokenService?
18
+ internal var tokenService: TokenService?
21
19
  private var delegate: MyComposerDelegate?
22
20
 
23
- // Promises to communicate results of async operations back to React Native
24
21
  var experienceResolver: RCTPromiseResolveBlock?
25
22
  var experienceRejecter: RCTPromiseRejectBlock?
26
23
 
27
- // Stored configuration properties
28
24
  private var tags: [String] = []
29
25
  private var zoneId: String?
30
26
  private var referrer: String?
31
27
  private var url: String?
28
+ private var userToken: String?
32
29
  private var customVariables: [String: String] = [:]
33
30
 
34
31
  // MARK: - Initialization
@@ -38,7 +35,7 @@ import React
38
35
  *
39
36
  * @param aid The Piano Application ID.
40
37
  */
41
- public func initialize(aid: String) {
38
+ public func initialize(aid: String, isSandbox: Bool) {
42
39
  print("ComposerPianoImpl: Initializing with AID: \(aid)")
43
40
 
44
41
  // 1. Initialize and store the TokenService
@@ -47,7 +44,8 @@ import React
47
44
  print("ComposerPianoImpl: TokenService initialized")
48
45
 
49
46
  // 2. Initialize the Composer instance
50
- self.composer = PianoComposer(aid: aid, endpoint: PianoEndpoint.production)
47
+ let endpoint = isSandbox ? PianoEndpoint.sandbox : PianoEndpoint.production
48
+ self.composer = PianoComposer(aid: aid, endpoint: endpoint)
51
49
  print("ComposerPianoImpl: Composer instance created for PRODUCTION")
52
50
 
53
51
  // 3. Initialize and set up the delegate
@@ -56,7 +54,33 @@ import React
56
54
  print("ComposerPianoImpl: Delegate initialized and set")
57
55
  }
58
56
 
59
- // MARK: - Configuration Methods
57
+ // MARK: - State Methods (Getters)
58
+
59
+ public func getTags() -> [String] {
60
+ return self.tags
61
+ }
62
+
63
+ public func getZoneId() -> String {
64
+ return self.zoneId ?? ""
65
+ }
66
+
67
+ public func getReferrer() -> String {
68
+ return self.referrer ?? ""
69
+ }
70
+
71
+ public func getUrl() -> String {
72
+ return self.url ?? ""
73
+ }
74
+
75
+ public func getUserToken() -> String {
76
+ return self.composer?.userToken ?? ""
77
+ }
78
+
79
+ public func getCustomVariables() -> [String: String] {
80
+ return self.customVariables
81
+ }
82
+
83
+ // MARK: - Configuration Methods (Setters)
60
84
 
61
85
  public func addTag(_ tag: String) {
62
86
  self.tags.append(tag)
@@ -78,23 +102,47 @@ import React
78
102
  self.url = url
79
103
  }
80
104
 
81
- public func setCustomVariable(_ name: String, value: String) {
105
+ public func setCustomVariables(_ variables: [String: String]) {
106
+ self.customVariables = variables
107
+ }
108
+
109
+ public func addCustomVariable(_ name: String, value: String) {
82
110
  self.customVariables[name] = value
83
111
  }
84
112
 
85
113
  public func setUserToken(_ token: String) {
86
- // The iOS SDK requires setting the user token on the composer instance directly
87
114
  _ = self.composer?.userToken(token)
88
115
  }
89
116
 
117
+ // MARK: - Cleanup Methods
118
+
119
+ public func clearTags() {
120
+ self.tags.removeAll()
121
+ }
122
+
123
+ public func clearCustomVariables() {
124
+ self.customVariables.removeAll()
125
+ }
126
+
127
+ public func removeTag(_ tag: String) {
128
+ self.tags.removeAll { $0 == tag }
129
+ }
130
+
131
+ public func removeCustomVariable(key: String) {
132
+ self.customVariables.removeValue(forKey: key)
133
+ }
134
+
135
+ public func clearConfiguration() {
136
+ self.clearTags()
137
+ self.clearCustomVariables()
138
+ self.zoneId = nil
139
+ self.referrer = nil
140
+ self.url = nil
141
+ self.userToken = nil
142
+ }
143
+
90
144
  // MARK: - Execution Method
91
145
 
92
- /**
93
- * Executes the Piano experience with the current configuration.
94
- *
95
- * @param resolver The promise resolver from React Native.
96
- * @param rejecter The promise rejecter from React Native.
97
- */
98
146
  public func executeExperience(
99
147
  resolver: @escaping RCTPromiseResolveBlock,
100
148
  rejecter: @escaping RCTPromiseRejectBlock
@@ -104,47 +152,20 @@ import React
104
152
  return
105
153
  }
106
154
 
107
- print("ComposerPianoImpl: Executing experience")
108
-
109
- // Store the promise functions to be called by the delegate later
110
155
  self.experienceResolver = resolver
111
156
  self.experienceRejecter = rejecter
112
157
 
113
- // Configure the composer instance using the fluent interface
114
- _ = composer
158
+ _ =
159
+ composer
115
160
  .tags(self.tags)
116
- .zoneId(self.zoneId ?? "") // Safely unwrap optionals
117
- .referrer(self.referrer ?? "") // Safely unwrap optionals
118
- .url(self.url ?? "") // Safely unwrap optionals
161
+ .zoneId(self.zoneId ?? "")
162
+ .referrer(self.referrer ?? "")
163
+ .url(self.url ?? "")
119
164
 
120
165
  for (key, value) in self.customVariables {
121
166
  _ = composer.customVariable(name: key, value: value)
122
167
  }
123
168
 
124
- // Execute the experience. The result will be handled by the delegate.
125
169
  composer.execute()
126
170
  }
127
-
128
- // MARK: - State Methods (Getters)
129
-
130
- public func getTags() -> [String] {
131
- return self.tags
132
- }
133
-
134
- public func getZoneId() -> String {
135
- return self.zoneId ?? ""
136
- }
137
-
138
- public func getReferrer() -> String {
139
- return self.referrer ?? ""
140
- }
141
-
142
- public func getUrl() -> String {
143
- return self.url ?? ""
144
- }
145
-
146
- public func getUserToken() -> String {
147
- // User token is write-only to the composer instance, so we return the stored value if needed.
148
- return self.composer?.userToken ?? ""
149
- }
150
171
  }
@@ -1,76 +1,161 @@
1
1
  import Foundation
2
2
  import React
3
3
 
4
- /**
5
- * SdkPianoio - The main React Native bridge module for the Piano SDK.
6
- *
7
- * This class exposes the functionality of the ComposerPianoImpl to JavaScript.
8
- */
4
+ /// SdkPianoio - The main React Native bridge module for the Piano SDK.
5
+ ///
6
+ /// This class exposes the functionality of the ComposerPianoImpl to JavaScript.
9
7
  @objc(SdkPianoio)
10
8
  class SdkPianoio: NSObject {
11
9
 
12
- // The single, persistent instance of our implementation class.
13
- private var moduleImpl: ComposerPianoImpl?
10
+ private var moduleImpl: ComposerPianoImpl
14
11
 
15
12
  override init() {
16
13
  self.moduleImpl = ComposerPianoImpl()
17
14
  super.init()
18
15
  }
19
16
 
20
- @objc(initialize:resolver:rejecter:)
21
- func initialize(aid: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
22
- moduleImpl?.initialize(aid: aid)
17
+ @objc(initialize:isSandbox:resolver:rejecter:)
18
+ func initialize(
19
+ aid: String, isSandbox: Bool, resolver: @escaping RCTPromiseResolveBlock,
20
+ rejecter: @escaping RCTPromiseRejectBlock
21
+ ) {
22
+ moduleImpl.initialize(aid: aid, isSandbox: isSandbox)
23
23
  resolver(true)
24
24
  }
25
25
 
26
26
  // MARK: - Configuration Methods
27
27
 
28
28
  @objc(addTag:resolver:rejecter:)
29
- func addTag(tag: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
30
- moduleImpl?.addTag(tag)
29
+ func addTag(
30
+ tag: String, resolver: @escaping RCTPromiseResolveBlock,
31
+ rejecter: @escaping RCTPromiseRejectBlock
32
+ ) {
33
+ moduleImpl.addTag(tag)
31
34
  resolver(true)
32
35
  }
33
36
 
34
37
  @objc(addTags:resolver:rejecter:)
35
- func addTags(tags: [String], resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
36
- moduleImpl?.addTags(tags)
38
+ func addTags(
39
+ tags: [String], resolver: @escaping RCTPromiseResolveBlock,
40
+ rejecter: @escaping RCTPromiseRejectBlock
41
+ ) {
42
+ moduleImpl.addTags(tags)
37
43
  resolver(true)
38
44
  }
39
45
 
40
46
  @objc(setZoneId:resolver:rejecter:)
41
- func setZoneId(zoneId: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
42
- moduleImpl?.setZoneId(zoneId)
47
+ func setZoneId(
48
+ zoneId: String, resolver: @escaping RCTPromiseResolveBlock,
49
+ rejecter: @escaping RCTPromiseRejectBlock
50
+ ) {
51
+ moduleImpl.setZoneId(zoneId)
43
52
  resolver(true)
44
53
  }
45
54
 
46
55
  @objc(setReferrer:resolver:rejecter:)
47
- func setReferrer(referrer: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
48
- moduleImpl?.setReferrer(referrer)
56
+ func setReferrer(
57
+ referrer: String, resolver: @escaping RCTPromiseResolveBlock,
58
+ rejecter: @escaping RCTPromiseRejectBlock
59
+ ) {
60
+ moduleImpl.setReferrer(referrer)
49
61
  resolver(true)
50
62
  }
51
63
 
52
64
  @objc(setUrl:resolver:rejecter:)
53
- func setUrl(url: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
54
- moduleImpl?.setUrl(url)
65
+ func setUrl(
66
+ url: String, resolver: @escaping RCTPromiseResolveBlock,
67
+ rejecter: @escaping RCTPromiseRejectBlock
68
+ ) {
69
+ moduleImpl.setUrl(url)
55
70
  resolver(true)
56
71
  }
57
72
 
58
73
  @objc(setUserToken:resolver:rejecter:)
59
- func setUserToken(token: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
60
- moduleImpl?.setUserToken(token)
74
+ func setUserToken(
75
+ token: String, resolver: @escaping RCTPromiseResolveBlock,
76
+ rejecter: @escaping RCTPromiseRejectBlock
77
+ ) {
78
+ moduleImpl.setUserToken(token)
61
79
  resolver(true)
62
80
  }
63
81
 
64
- @objc(setCustomVariable:value:resolver:rejecter:)
65
- func setCustomVariable(name: String, value: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
66
- moduleImpl?.setCustomVariable(name, value: value)
82
+ @objc(addCustomVariable:value:resolver:rejecter:)
83
+ func addCustomVariable(
84
+ name: String, value: String, resolver: @escaping RCTPromiseResolveBlock,
85
+ rejecter: @escaping RCTPromiseRejectBlock
86
+ ) {
87
+ moduleImpl.addCustomVariable(name, value: value)
88
+ resolver(true)
89
+ }
90
+
91
+ @objc(setCustomVariables:resolver:rejecter:)
92
+ func setCustomVariables(
93
+ variables: [String: String], resolver: @escaping RCTPromiseResolveBlock,
94
+ rejecter: @escaping RCTPromiseRejectBlock
95
+ ) {
96
+ moduleImpl.setCustomVariables(variables)
67
97
  resolver(true)
68
98
  }
69
99
 
70
100
  // MARK: - Execution Method
71
101
 
72
102
  @objc(executeExperience:rejecter:)
73
- func executeExperience(resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
74
- moduleImpl?.executeExperience(resolver: resolver, rejecter: rejecter)
103
+ func executeExperience(
104
+ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock
105
+ ) {
106
+ moduleImpl.executeExperience(resolver: resolver, rejecter: rejecter)
107
+ }
108
+
109
+ // MARK: - Authentication Methods
110
+
111
+ @objc(signIn:rejecter:)
112
+ func signIn(
113
+ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock
114
+ ) {
115
+ // Correctly call signIn on the tokenService instance
116
+ moduleImpl.tokenService?.signIn(resolver: resolver, rejecter: rejecter)
117
+ }
118
+
119
+ @objc(signOut:rejecter:)
120
+ func signOut(
121
+ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock
122
+ ) {
123
+ moduleImpl.tokenService?.signOut(resolver: resolver, rejecter: rejecter)
124
+ }
125
+
126
+ @objc(getCurrentUser:rejecter:)
127
+ func getCurrentUser(
128
+ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock
129
+ ) {
130
+ if let user = moduleImpl.tokenService?.getCurrentUser() {
131
+ let userMap: [String: Any] = [
132
+ "success": true,
133
+ "userId": user.id,
134
+ "userEmail": user.email,
135
+ "accessToken": user.accessToken,
136
+ "authenticated": true,
137
+ ]
138
+ resolver(userMap)
139
+ } else {
140
+ resolver(["success": true, "authenticated": false])
141
+ }
142
+ }
143
+
144
+ @objc(isAuthenticated:rejecter:)
145
+ func isAuthenticated(
146
+ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock
147
+ ) {
148
+ let isAuth = moduleImpl.tokenService?.isAuthenticated() ?? false
149
+ resolver(["authenticated": isAuth])
150
+ }
151
+
152
+ // MARK: - Helper and Cleanup Methods
153
+
154
+ @objc(clearConfiguration:rejecter:)
155
+ func clearConfiguration(
156
+ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock
157
+ ) {
158
+ moduleImpl.clearConfiguration()
159
+ resolver(true)
75
160
  }
76
161
  }
@@ -6,6 +6,7 @@
6
6
  // MARK: - Initialization
7
7
 
8
8
  RCT_EXTERN_METHOD(initialize:(NSString *)aid
9
+ isSandbox:(BOOL)isSandbox
9
10
  resolver:(RCTPromiseResolveBlock)resolve
10
11
  rejecter:(RCTPromiseRejectBlock)reject)
11
12
 
@@ -35,19 +36,37 @@ RCT_EXTERN_METHOD(setUserToken:(NSString *)token
35
36
  resolver:(RCTPromiseResolveBlock)resolve
36
37
  rejecter:(RCTPromiseRejectBlock)reject)
37
38
 
38
- RCT_EXTERN_METHOD(setCustomVariable:(NSString *)name
39
+ RCT_EXTERN_METHOD(addCustomVariable:(NSString *)name
39
40
  value:(NSString *)value
40
41
  resolver:(RCTPromiseResolveBlock)resolve
41
42
  rejecter:(RCTPromiseRejectBlock)reject)
42
43
 
44
+ RCT_EXTERN_METHOD(setCustomVariables:(NSDictionary *)variables
45
+ resolver:(RCTPromiseResolveBlock)resolve
46
+ rejecter:(RCTPromiseRejectBlock)reject)
47
+
43
48
  // MARK: - Execution Method
44
49
 
45
50
  RCT_EXTERN_METHOD(executeExperience:(RCTPromiseResolveBlock)resolve
46
51
  rejecter:(RCTPromiseRejectBlock)reject)
47
52
 
48
- // Note: Authentication methods (signIn, signOut, etc.) would be added here
49
- // if they were exposed from SdkPianoio.swift. Since they are handled internally
50
- // by the Composer/TokenService interaction, they don't need to be exposed directly
51
- // unless you add them to the SdkPianoio.swift class.
53
+ // MARK: - Authentication Methods
54
+
55
+ RCT_EXTERN_METHOD(signIn:(RCTPromiseResolveBlock)resolve
56
+ rejecter:(RCTPromiseRejectBlock)reject)
57
+
58
+ RCT_EXTERN_METHOD(signOut:(RCTPromiseResolveBlock)resolve
59
+ rejecter:(RCTPromiseRejectBlock)reject)
60
+
61
+ RCT_EXTERN_METHOD(getCurrentUser:(RCTPromiseResolveBlock)resolve
62
+ rejecter:(RCTPromiseRejectBlock)reject)
63
+
64
+ RCT_EXTERN_METHOD(isAuthenticated:(RCTPromiseResolveBlock)resolve
65
+ rejecter:(RCTPromiseRejectBlock)reject)
66
+
67
+ // MARK: - Helper and Cleanup Methods
68
+
69
+ RCT_EXTERN_METHOD(clearConfiguration:(RCTPromiseResolveBlock)resolve
70
+ rejecter:(RCTPromiseRejectBlock)reject)
52
71
 
53
72
  @end
@@ -16,7 +16,7 @@ public class User {
16
16
  self.accessToken = accessToken
17
17
  }
18
18
  }
19
-
19
+
20
20
  /**
21
21
  * TokenService - Manages OAuth tokens and authentication with the Piano ID SDK.
22
22
  *
@@ -40,11 +40,6 @@ public class TokenService: NSObject, PianoIDDelegate {
40
40
 
41
41
  // MARK: - Initialization
42
42
 
43
- /**
44
- * Initializes the TokenService and configures the PianoID singleton.
45
- *
46
- * @param aid The Piano Application ID.
47
- */
48
43
  public func initialize(aid: String) {
49
44
  if isInitialized {
50
45
  return
@@ -61,12 +56,8 @@ public class TokenService: NSObject, PianoIDDelegate {
61
56
 
62
57
  // MARK: - Authentication Methods
63
58
 
64
- /**
65
- * Starts the sign-in process.
66
- *
67
- * @param resolver The promise resolver from React Native.
68
- * @param rejecter The promise rejecter from React Native.
69
- */
59
+ // Missing set tokens no?
60
+
70
61
  public func signIn(resolver: @escaping (Any?) -> Void, rejecter: @escaping (String?, String?, Error?) -> Void) {
71
62
  if !isInitialized {
72
63
  print("TokenService: Not initialized. Call initialize() first.")
@@ -79,12 +70,7 @@ public class TokenService: NSObject, PianoIDDelegate {
79
70
  PianoID.shared.signIn()
80
71
  }
81
72
 
82
- /**
83
- * Starts the sign-out process.
84
- *
85
- * @param resolver The promise resolver from React Native.
86
- * @param rejecter The promise rejecter from React Native.
87
- */
73
+
88
74
  public func signOut(resolver: @escaping (Any?) -> Void, rejecter: @escaping (String?, String?, Error?) -> Void) {
89
75
  if !isInitialized {
90
76
  print("TokenService: Not initialized.")
@@ -105,11 +91,6 @@ public class TokenService: NSObject, PianoIDDelegate {
105
91
 
106
92
  // MARK: - User Information Methods
107
93
 
108
- /**
109
- * Gets the current user's information.
110
- *
111
- * @return A User object if authenticated, otherwise null.
112
- */
113
94
  public func getCurrentUser() -> User? {
114
95
  guard let token = self.cachedToken else {
115
96
  return nil
@@ -129,11 +110,6 @@ public class TokenService: NSObject, PianoIDDelegate {
129
110
  )
130
111
  }
131
112
 
132
- /**
133
- * Checks if a user is currently authenticated.
134
- *
135
- * @return true if a valid token exists, false otherwise.
136
- */
137
113
  public func isAuthenticated() -> Bool {
138
114
  return self.cachedToken != nil
139
115
  }
@@ -157,7 +133,7 @@ public class TokenService: NSObject, PianoIDDelegate {
157
133
  print("TokenService: Sign in failed: \(e.localizedDescription)")
158
134
  self.signInRejecter?("SIGNIN_ERROR", e.localizedDescription, e)
159
135
  }
160
- // Clean up promises
136
+
161
137
  self.signInResolver = nil
162
138
  self.signInRejecter = nil
163
139
  }
@@ -188,12 +164,6 @@ public class TokenService: NSObject, PianoIDDelegate {
188
164
 
189
165
  // MARK: - Helper Methods
190
166
 
191
- /**
192
- * Decodes the payload of a JWT.
193
- *
194
- * @param jwt The JSON Web Token string.
195
- * @return A dictionary of claims, or nil if decoding fails.
196
- */
197
167
  private func decode(jwtToken jwt: String) -> [String: Any]? {
198
168
  let segments = jwt.components(separatedBy: ".")
199
169
  guard segments.count > 1 else {
@@ -7,7 +7,7 @@ import { NativeModules, Platform } from 'react-native';
7
7
  */
8
8
  interface SdkPianoioType {
9
9
  // Initialization
10
- initialize(aid: string): Promise<boolean>;
10
+ initialize(aid: string, isSandbox: boolean): Promise<boolean>;
11
11
 
12
12
  // Configuration
13
13
  addTag(tag: string): Promise<boolean>;
@@ -21,9 +21,9 @@ class PianoComposer {
21
21
  * This is the main entry point for using the library.
22
22
  * @param aid Your Application ID from Piano.io
23
23
  */
24
- static async create(aid) {
24
+ static async create(aid, isSandbox = false) {
25
25
  // Call the corrected native initialize method
26
- await _NativeSdkPianoio.default.initialize(aid);
26
+ await _NativeSdkPianoio.default.initialize(aid, isSandbox);
27
27
  return new PianoComposer();
28
28
  }
29
29
 
@@ -1 +1 @@
1
- {"version":3,"names":["_NativeSdkPianoio","_interopRequireDefault","require","e","__esModule","default","PianoComposer","constructor","create","aid","SdkPianoio","initialize","addTag","tag","addTags","tags","setZoneId","zoneId","setReferrer","referrer","setCustomVariable","name","value","addCustomVariable","setCustomVariables","variables","setUserToken","token","setUrl","url","signIn","signOut","getCurrentUser","isAuthenticated","executeExperience","getStatus","clearConfiguration","_default","exports"],"sourceRoot":"../../src","sources":["PianoComposer.tsx"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4C,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5C;AACA;AACA;AACA;AACA,MAAMG,aAAa,CAAC;EAClB;EACQC,WAAWA,CAAA,EAAG;IACpB;EAAA;;EAGF;AACF;AACA;AACA;AACA;EACE,aAAaC,MAAMA,CAACC,GAAW,EAA0B;IACvD;IACA,MAAMC,yBAAU,CAACC,UAAU,CAACF,GAAG,CAAC;IAChC,OAAO,IAAIH,aAAa,CAAC,CAAC;EAC5B;;EAEA;;EAEA,MAAMM,MAAMA,CAACC,GAAW,EAAoB;IAC1C,OAAOH,yBAAU,CAACE,MAAM,CAACC,GAAG,CAAC;EAC/B;EAEA,MAAMC,OAAOA,CAACC,IAAc,EAAoB;IAC9C,OAAOL,yBAAU,CAACI,OAAO,CAACC,IAAI,CAAC;EACjC;EAEA,MAAMC,SAASA,CAACC,MAAc,EAAoB;IAChD,OAAOP,yBAAU,CAACM,SAAS,CAACC,MAAM,CAAC;EACrC;EAEA,MAAMC,WAAWA,CAACC,QAAgB,EAAoB;IACpD,OAAOT,yBAAU,CAACQ,WAAW,CAACC,QAAQ,CAAC;EACzC;EAEA,MAAMC,iBAAiBA,CAACC,IAAY,EAAEC,KAAa,EAAoB;IACrE,OAAOZ,yBAAU,CAACa,iBAAiB,CAACF,IAAI,EAAEC,KAAK,CAAC;EAClD;EAEA,MAAME,kBAAkBA,CAACC,SAAoC,EAAoB;IAC/E,OAAOf,yBAAU,CAACc,kBAAkB,CAACC,SAAS,CAAC;EACjD;EAEA,MAAMC,YAAYA,CAACC,KAAa,EAAoB;IAClD,OAAOjB,yBAAU,CAACgB,YAAY,CAACC,KAAK,CAAC;EACvC;EAEA,MAAMC,MAAMA,CAACC,GAAW,EAAoB;IAC1C,OAAOnB,yBAAU,CAACkB,MAAM,CAACC,GAAG,CAAC;EAC/B;;EAEA;;EAEA;AACF;AACA;AACA;EACE,MAAMC,MAAMA,CAAA,EAAiB;IAC3B,OAAOpB,yBAAU,CAACoB,MAAM,CAAC,CAAC;EAC5B;;EAEA;AACF;AACA;AACA;EACE,MAAMC,OAAOA,CAAA,EAAiB;IAC5B,OAAOrB,yBAAU,CAACqB,OAAO,CAAC,CAAC;EAC7B;;EAEA;AACF;AACA;AACA;EACE,MAAMC,cAAcA,CAAA,EAAiB;IACnC,OAAOtB,yBAAU,CAACsB,cAAc,CAAC,CAAC;EACpC;;EAEA;AACF;AACA;AACA;EACE,MAAMC,eAAeA,CAAA,EAAiB;IACpC,OAAOvB,yBAAU,CAACuB,eAAe,CAAC,CAAC;EACrC;;EAEA;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMC,iBAAiBA,CAAA,EAAiB;IACtC,OAAOxB,yBAAU,CAACwB,iBAAiB,CAAC,CAAC;EACvC;;EAEA;;EAEA;AACF;AACA;AACA;EACE,MAAMC,SAASA,CAAA,EAAiB;IAC9B,OAAOzB,yBAAU,CAACyB,SAAS,CAAC,CAAC;EAC/B;;EAEA;AACF;AACA;AACA;EACE,MAAMC,kBAAkBA,CAAA,EAAqB;IAC3C,OAAO1B,yBAAU,CAAC0B,kBAAkB,CAAC,CAAC;EACxC;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAjC,OAAA,GAEcC,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["_NativeSdkPianoio","_interopRequireDefault","require","e","__esModule","default","PianoComposer","constructor","create","aid","isSandbox","SdkPianoio","initialize","addTag","tag","addTags","tags","setZoneId","zoneId","setReferrer","referrer","setCustomVariable","name","value","addCustomVariable","setCustomVariables","variables","setUserToken","token","setUrl","url","signIn","signOut","getCurrentUser","isAuthenticated","executeExperience","getStatus","clearConfiguration","_default","exports"],"sourceRoot":"../../src","sources":["PianoComposer.tsx"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4C,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5C;AACA;AACA;AACA;AACA,MAAMG,aAAa,CAAC;EAClB;EACQC,WAAWA,CAAA,EAAG;IACpB;EAAA;;EAGF;AACF;AACA;AACA;AACA;EACE,aAAaC,MAAMA,CACjBC,GAAW,EACXC,SAAkB,GAAG,KAAK,EACF;IACxB;IACA,MAAMC,yBAAU,CAACC,UAAU,CAACH,GAAG,EAAEC,SAAS,CAAC;IAC3C,OAAO,IAAIJ,aAAa,CAAC,CAAC;EAC5B;;EAEA;;EAEA,MAAMO,MAAMA,CAACC,GAAW,EAAoB;IAC1C,OAAOH,yBAAU,CAACE,MAAM,CAACC,GAAG,CAAC;EAC/B;EAEA,MAAMC,OAAOA,CAACC,IAAc,EAAoB;IAC9C,OAAOL,yBAAU,CAACI,OAAO,CAACC,IAAI,CAAC;EACjC;EAEA,MAAMC,SAASA,CAACC,MAAc,EAAoB;IAChD,OAAOP,yBAAU,CAACM,SAAS,CAACC,MAAM,CAAC;EACrC;EAEA,MAAMC,WAAWA,CAACC,QAAgB,EAAoB;IACpD,OAAOT,yBAAU,CAACQ,WAAW,CAACC,QAAQ,CAAC;EACzC;EAEA,MAAMC,iBAAiBA,CAACC,IAAY,EAAEC,KAAa,EAAoB;IACrE,OAAOZ,yBAAU,CAACa,iBAAiB,CAACF,IAAI,EAAEC,KAAK,CAAC;EAClD;EAEA,MAAME,kBAAkBA,CAACC,SAExB,EAAoB;IACnB,OAAOf,yBAAU,CAACc,kBAAkB,CAACC,SAAS,CAAC;EACjD;EAEA,MAAMC,YAAYA,CAACC,KAAa,EAAoB;IAClD,OAAOjB,yBAAU,CAACgB,YAAY,CAACC,KAAK,CAAC;EACvC;EAEA,MAAMC,MAAMA,CAACC,GAAW,EAAoB;IAC1C,OAAOnB,yBAAU,CAACkB,MAAM,CAACC,GAAG,CAAC;EAC/B;;EAEA;;EAEA;AACF;AACA;AACA;EACE,MAAMC,MAAMA,CAAA,EAAiB;IAC3B,OAAOpB,yBAAU,CAACoB,MAAM,CAAC,CAAC;EAC5B;;EAEA;AACF;AACA;AACA;EACE,MAAMC,OAAOA,CAAA,EAAiB;IAC5B,OAAOrB,yBAAU,CAACqB,OAAO,CAAC,CAAC;EAC7B;;EAEA;AACF;AACA;AACA;EACE,MAAMC,cAAcA,CAAA,EAAiB;IACnC,OAAOtB,yBAAU,CAACsB,cAAc,CAAC,CAAC;EACpC;;EAEA;AACF;AACA;AACA;EACE,MAAMC,eAAeA,CAAA,EAAiB;IACpC,OAAOvB,yBAAU,CAACuB,eAAe,CAAC,CAAC;EACrC;;EAEA;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMC,iBAAiBA,CAAA,EAAiB;IACtC,OAAOxB,yBAAU,CAACwB,iBAAiB,CAAC,CAAC;EACvC;;EAEA;;EAEA;AACF;AACA;AACA;EACE,MAAMC,SAASA,CAAA,EAAiB;IAC9B,OAAOzB,yBAAU,CAACyB,SAAS,CAAC,CAAC;EAC/B;;EAEA;AACF;AACA;AACA;EACE,MAAMC,kBAAkBA,CAAA,EAAqB;IAC3C,OAAO1B,yBAAU,CAAC0B,kBAAkB,CAAC,CAAC;EACxC;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAlC,OAAA,GAEcC,aAAa","ignoreList":[]}
@@ -7,7 +7,7 @@ import { NativeModules, Platform } from 'react-native';
7
7
  */
8
8
  interface SdkPianoioType {
9
9
  // Initialization
10
- initialize(aid: string): Promise<boolean>;
10
+ initialize(aid: string, isSandbox: boolean): Promise<boolean>;
11
11
 
12
12
  // Configuration
13
13
  addTag(tag: string): Promise<boolean>;
@@ -17,9 +17,9 @@ class PianoComposer {
17
17
  * This is the main entry point for using the library.
18
18
  * @param aid Your Application ID from Piano.io
19
19
  */
20
- static async create(aid) {
20
+ static async create(aid, isSandbox = false) {
21
21
  // Call the corrected native initialize method
22
- await SdkPianoio.initialize(aid);
22
+ await SdkPianoio.initialize(aid, isSandbox);
23
23
  return new PianoComposer();
24
24
  }
25
25
 
@@ -1 +1 @@
1
- {"version":3,"names":["SdkPianoio","PianoComposer","constructor","create","aid","initialize","addTag","tag","addTags","tags","setZoneId","zoneId","setReferrer","referrer","setCustomVariable","name","value","addCustomVariable","setCustomVariables","variables","setUserToken","token","setUrl","url","signIn","signOut","getCurrentUser","isAuthenticated","executeExperience","getStatus","clearConfiguration"],"sourceRoot":"../../src","sources":["PianoComposer.tsx"],"mappings":";;AAAA,OAAOA,UAAU,MAAM,oBAAoB;;AAE3C;AACA;AACA;AACA;AACA,MAAMC,aAAa,CAAC;EAClB;EACQC,WAAWA,CAAA,EAAG;IACpB;EAAA;;EAGF;AACF;AACA;AACA;AACA;EACE,aAAaC,MAAMA,CAACC,GAAW,EAA0B;IACvD;IACA,MAAMJ,UAAU,CAACK,UAAU,CAACD,GAAG,CAAC;IAChC,OAAO,IAAIH,aAAa,CAAC,CAAC;EAC5B;;EAEA;;EAEA,MAAMK,MAAMA,CAACC,GAAW,EAAoB;IAC1C,OAAOP,UAAU,CAACM,MAAM,CAACC,GAAG,CAAC;EAC/B;EAEA,MAAMC,OAAOA,CAACC,IAAc,EAAoB;IAC9C,OAAOT,UAAU,CAACQ,OAAO,CAACC,IAAI,CAAC;EACjC;EAEA,MAAMC,SAASA,CAACC,MAAc,EAAoB;IAChD,OAAOX,UAAU,CAACU,SAAS,CAACC,MAAM,CAAC;EACrC;EAEA,MAAMC,WAAWA,CAACC,QAAgB,EAAoB;IACpD,OAAOb,UAAU,CAACY,WAAW,CAACC,QAAQ,CAAC;EACzC;EAEA,MAAMC,iBAAiBA,CAACC,IAAY,EAAEC,KAAa,EAAoB;IACrE,OAAOhB,UAAU,CAACiB,iBAAiB,CAACF,IAAI,EAAEC,KAAK,CAAC;EAClD;EAEA,MAAME,kBAAkBA,CAACC,SAAoC,EAAoB;IAC/E,OAAOnB,UAAU,CAACkB,kBAAkB,CAACC,SAAS,CAAC;EACjD;EAEA,MAAMC,YAAYA,CAACC,KAAa,EAAoB;IAClD,OAAOrB,UAAU,CAACoB,YAAY,CAACC,KAAK,CAAC;EACvC;EAEA,MAAMC,MAAMA,CAACC,GAAW,EAAoB;IAC1C,OAAOvB,UAAU,CAACsB,MAAM,CAACC,GAAG,CAAC;EAC/B;;EAEA;;EAEA;AACF;AACA;AACA;EACE,MAAMC,MAAMA,CAAA,EAAiB;IAC3B,OAAOxB,UAAU,CAACwB,MAAM,CAAC,CAAC;EAC5B;;EAEA;AACF;AACA;AACA;EACE,MAAMC,OAAOA,CAAA,EAAiB;IAC5B,OAAOzB,UAAU,CAACyB,OAAO,CAAC,CAAC;EAC7B;;EAEA;AACF;AACA;AACA;EACE,MAAMC,cAAcA,CAAA,EAAiB;IACnC,OAAO1B,UAAU,CAAC0B,cAAc,CAAC,CAAC;EACpC;;EAEA;AACF;AACA;AACA;EACE,MAAMC,eAAeA,CAAA,EAAiB;IACpC,OAAO3B,UAAU,CAAC2B,eAAe,CAAC,CAAC;EACrC;;EAEA;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMC,iBAAiBA,CAAA,EAAiB;IACtC,OAAO5B,UAAU,CAAC4B,iBAAiB,CAAC,CAAC;EACvC;;EAEA;;EAEA;AACF;AACA;AACA;EACE,MAAMC,SAASA,CAAA,EAAiB;IAC9B,OAAO7B,UAAU,CAAC6B,SAAS,CAAC,CAAC;EAC/B;;EAEA;AACF;AACA;AACA;EACE,MAAMC,kBAAkBA,CAAA,EAAqB;IAC3C,OAAO9B,UAAU,CAAC8B,kBAAkB,CAAC,CAAC;EACxC;AACF;AAEA,eAAe7B,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["SdkPianoio","PianoComposer","constructor","create","aid","isSandbox","initialize","addTag","tag","addTags","tags","setZoneId","zoneId","setReferrer","referrer","setCustomVariable","name","value","addCustomVariable","setCustomVariables","variables","setUserToken","token","setUrl","url","signIn","signOut","getCurrentUser","isAuthenticated","executeExperience","getStatus","clearConfiguration"],"sourceRoot":"../../src","sources":["PianoComposer.tsx"],"mappings":";;AAAA,OAAOA,UAAU,MAAM,oBAAoB;;AAE3C;AACA;AACA;AACA;AACA,MAAMC,aAAa,CAAC;EAClB;EACQC,WAAWA,CAAA,EAAG;IACpB;EAAA;;EAGF;AACF;AACA;AACA;AACA;EACE,aAAaC,MAAMA,CACjBC,GAAW,EACXC,SAAkB,GAAG,KAAK,EACF;IACxB;IACA,MAAML,UAAU,CAACM,UAAU,CAACF,GAAG,EAAEC,SAAS,CAAC;IAC3C,OAAO,IAAIJ,aAAa,CAAC,CAAC;EAC5B;;EAEA;;EAEA,MAAMM,MAAMA,CAACC,GAAW,EAAoB;IAC1C,OAAOR,UAAU,CAACO,MAAM,CAACC,GAAG,CAAC;EAC/B;EAEA,MAAMC,OAAOA,CAACC,IAAc,EAAoB;IAC9C,OAAOV,UAAU,CAACS,OAAO,CAACC,IAAI,CAAC;EACjC;EAEA,MAAMC,SAASA,CAACC,MAAc,EAAoB;IAChD,OAAOZ,UAAU,CAACW,SAAS,CAACC,MAAM,CAAC;EACrC;EAEA,MAAMC,WAAWA,CAACC,QAAgB,EAAoB;IACpD,OAAOd,UAAU,CAACa,WAAW,CAACC,QAAQ,CAAC;EACzC;EAEA,MAAMC,iBAAiBA,CAACC,IAAY,EAAEC,KAAa,EAAoB;IACrE,OAAOjB,UAAU,CAACkB,iBAAiB,CAACF,IAAI,EAAEC,KAAK,CAAC;EAClD;EAEA,MAAME,kBAAkBA,CAACC,SAExB,EAAoB;IACnB,OAAOpB,UAAU,CAACmB,kBAAkB,CAACC,SAAS,CAAC;EACjD;EAEA,MAAMC,YAAYA,CAACC,KAAa,EAAoB;IAClD,OAAOtB,UAAU,CAACqB,YAAY,CAACC,KAAK,CAAC;EACvC;EAEA,MAAMC,MAAMA,CAACC,GAAW,EAAoB;IAC1C,OAAOxB,UAAU,CAACuB,MAAM,CAACC,GAAG,CAAC;EAC/B;;EAEA;;EAEA;AACF;AACA;AACA;EACE,MAAMC,MAAMA,CAAA,EAAiB;IAC3B,OAAOzB,UAAU,CAACyB,MAAM,CAAC,CAAC;EAC5B;;EAEA;AACF;AACA;AACA;EACE,MAAMC,OAAOA,CAAA,EAAiB;IAC5B,OAAO1B,UAAU,CAAC0B,OAAO,CAAC,CAAC;EAC7B;;EAEA;AACF;AACA;AACA;EACE,MAAMC,cAAcA,CAAA,EAAiB;IACnC,OAAO3B,UAAU,CAAC2B,cAAc,CAAC,CAAC;EACpC;;EAEA;AACF;AACA;AACA;EACE,MAAMC,eAAeA,CAAA,EAAiB;IACpC,OAAO5B,UAAU,CAAC4B,eAAe,CAAC,CAAC;EACrC;;EAEA;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMC,iBAAiBA,CAAA,EAAiB;IACtC,OAAO7B,UAAU,CAAC6B,iBAAiB,CAAC,CAAC;EACvC;;EAEA;;EAEA;AACF;AACA;AACA;EACE,MAAMC,SAASA,CAAA,EAAiB;IAC9B,OAAO9B,UAAU,CAAC8B,SAAS,CAAC,CAAC;EAC/B;;EAEA;AACF;AACA;AACA;EACE,MAAMC,kBAAkBA,CAAA,EAAqB;IAC3C,OAAO/B,UAAU,CAAC+B,kBAAkB,CAAC,CAAC;EACxC;AACF;AAEA,eAAe9B,aAAa","ignoreList":[]}
@@ -4,7 +4,7 @@
4
4
  * in SdkPianoioModule.kt.
5
5
  */
6
6
  interface SdkPianoioType {
7
- initialize(aid: string): Promise<boolean>;
7
+ initialize(aid: string, isSandbox: boolean): Promise<boolean>;
8
8
  addTag(tag: string): Promise<boolean>;
9
9
  addTags(tags: string[]): Promise<boolean>;
10
10
  setZoneId(zoneId: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeSdkPianoio.d.ts","sourceRoot":"","sources":["../../../../src/NativeSdkPianoio.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,UAAU,cAAc;IAEtB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAG1C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,kBAAkB,CAAC,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAG3E,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAGlC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAGhC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;wBAW4B,cAAc;AAA3C,wBAA4C"}
1
+ {"version":3,"file":"NativeSdkPianoio.d.ts","sourceRoot":"","sources":["../../../../src/NativeSdkPianoio.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,UAAU,cAAc;IAEtB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAG9D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,kBAAkB,CAAC,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAG3E,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAGlC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAGhC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;wBAW4B,cAAc;AAA3C,wBAA4C"}
@@ -9,7 +9,7 @@ declare class PianoComposer {
9
9
  * This is the main entry point for using the library.
10
10
  * @param aid Your Application ID from Piano.io
11
11
  */
12
- static create(aid: string): Promise<PianoComposer>;
12
+ static create(aid: string, isSandbox?: boolean): Promise<PianoComposer>;
13
13
  addTag(tag: string): Promise<boolean>;
14
14
  addTags(tags: string[]): Promise<boolean>;
15
15
  setZoneId(zoneId: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"PianoComposer.d.ts","sourceRoot":"","sources":["../../../../src/PianoComposer.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AACH,cAAM,aAAa;IAEjB,OAAO;IAIP;;;;OAIG;WACU,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQlD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhE,kBAAkB,CAAC,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1E,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM3C;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;IAI5B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAI7B;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAIpC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAMrC;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;IAMvC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAI/B;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;CAG7C;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"PianoComposer.d.ts","sourceRoot":"","sources":["../../../../src/PianoComposer.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AACH,cAAM,aAAa;IAEjB,OAAO;IAIP;;;;OAIG;WACU,MAAM,CACjB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,aAAa,CAAC;IAQnB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhE,kBAAkB,CAAC,SAAS,EAAE;QAClC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,OAAO,CAAC;IAId,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM3C;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;IAI5B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAI7B;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAIpC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAMrC;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;IAMvC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAI/B;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;CAG7C;AAED,eAAe,aAAa,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * in SdkPianoioModule.kt.
5
5
  */
6
6
  interface SdkPianoioType {
7
- initialize(aid: string): Promise<boolean>;
7
+ initialize(aid: string, isSandbox: boolean): Promise<boolean>;
8
8
  addTag(tag: string): Promise<boolean>;
9
9
  addTags(tags: string[]): Promise<boolean>;
10
10
  setZoneId(zoneId: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeSdkPianoio.d.ts","sourceRoot":"","sources":["../../../../src/NativeSdkPianoio.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,UAAU,cAAc;IAEtB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAG1C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,kBAAkB,CAAC,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAG3E,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAGlC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAGhC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;wBAW4B,cAAc;AAA3C,wBAA4C"}
1
+ {"version":3,"file":"NativeSdkPianoio.d.ts","sourceRoot":"","sources":["../../../../src/NativeSdkPianoio.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,UAAU,cAAc;IAEtB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAG9D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,kBAAkB,CAAC,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAG3E,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAGlC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAGhC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;wBAW4B,cAAc;AAA3C,wBAA4C"}
@@ -9,7 +9,7 @@ declare class PianoComposer {
9
9
  * This is the main entry point for using the library.
10
10
  * @param aid Your Application ID from Piano.io
11
11
  */
12
- static create(aid: string): Promise<PianoComposer>;
12
+ static create(aid: string, isSandbox?: boolean): Promise<PianoComposer>;
13
13
  addTag(tag: string): Promise<boolean>;
14
14
  addTags(tags: string[]): Promise<boolean>;
15
15
  setZoneId(zoneId: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"PianoComposer.d.ts","sourceRoot":"","sources":["../../../../src/PianoComposer.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AACH,cAAM,aAAa;IAEjB,OAAO;IAIP;;;;OAIG;WACU,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQlD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhE,kBAAkB,CAAC,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1E,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM3C;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;IAI5B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAI7B;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAIpC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAMrC;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;IAMvC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAI/B;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;CAG7C;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"PianoComposer.d.ts","sourceRoot":"","sources":["../../../../src/PianoComposer.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AACH,cAAM,aAAa;IAEjB,OAAO;IAIP;;;;OAIG;WACU,MAAM,CACjB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,aAAa,CAAC;IAQnB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhE,kBAAkB,CAAC,SAAS,EAAE;QAClC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,OAAO,CAAC;IAId,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM3C;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;IAI5B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAI7B;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAIpC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAMrC;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;IAMvC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAI/B;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;CAG7C;AAED,eAAe,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-sdk-pianoio",
3
- "version": "0.3.5",
3
+ "version": "0.3.7",
4
4
  "description": "Piano io sdk integration",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -7,7 +7,7 @@ import { NativeModules, Platform } from 'react-native';
7
7
  */
8
8
  interface SdkPianoioType {
9
9
  // Initialization
10
- initialize(aid: string): Promise<boolean>;
10
+ initialize(aid: string, isSandbox: boolean): Promise<boolean>;
11
11
 
12
12
  // Configuration
13
13
  addTag(tag: string): Promise<boolean>;
@@ -15,9 +15,12 @@ class PianoComposer {
15
15
  * This is the main entry point for using the library.
16
16
  * @param aid Your Application ID from Piano.io
17
17
  */
18
- static async create(aid: string): Promise<PianoComposer> {
18
+ static async create(
19
+ aid: string,
20
+ isSandbox: boolean = false
21
+ ): Promise<PianoComposer> {
19
22
  // Call the corrected native initialize method
20
- await SdkPianoio.initialize(aid);
23
+ await SdkPianoio.initialize(aid, isSandbox);
21
24
  return new PianoComposer();
22
25
  }
23
26
 
@@ -43,7 +46,9 @@ class PianoComposer {
43
46
  return SdkPianoio.addCustomVariable(name, value);
44
47
  }
45
48
 
46
- async setCustomVariables(variables: { [key: string]: string }): Promise<boolean> {
49
+ async setCustomVariables(variables: {
50
+ [key: string]: string;
51
+ }): Promise<boolean> {
47
52
  return SdkPianoio.setCustomVariables(variables);
48
53
  }
49
54