react-native-sdk-pianoio 0.2.5 → 0.3.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.
Files changed (50) hide show
  1. package/README.md +36 -2
  2. package/SdkPianoio.podspec +4 -16
  3. package/android/build.gradle +12 -19
  4. package/android/gradle.properties +17 -2
  5. package/android/src/main/java/com/sdkpianoio/SdkPianoioModule.kt +543 -7
  6. package/android/src/main/java/com/sdkpianoio/SdkPianoioPackage.kt +3 -3
  7. package/ios/ComposerPianoImpl.swift +247 -0
  8. package/ios/MyComposerDelegate.swift +79 -200
  9. package/ios/SdkPianoio.swift +150 -0
  10. package/ios/SdkPianoioBridge.m +81 -0
  11. package/ios/services/TokenService.swift +10 -7
  12. package/lib/commonjs/NativeSdkPianoio.ts +13 -4
  13. package/lib/commonjs/PianoComposer.js +16 -9
  14. package/lib/commonjs/PianoComposer.js.map +1 -1
  15. package/lib/commonjs/debug.js +23 -0
  16. package/lib/commonjs/debug.js.map +1 -0
  17. package/lib/commonjs/index.js +7 -0
  18. package/lib/commonjs/index.js.map +1 -1
  19. package/lib/module/NativeSdkPianoio.ts +13 -4
  20. package/lib/module/PianoComposer.js +16 -9
  21. package/lib/module/PianoComposer.js.map +1 -1
  22. package/lib/module/debug.js +18 -0
  23. package/lib/module/debug.js.map +1 -0
  24. package/lib/module/index.js +1 -0
  25. package/lib/module/index.js.map +1 -1
  26. package/lib/typescript/commonjs/src/NativeSdkPianoio.d.ts +2 -2
  27. package/lib/typescript/commonjs/src/NativeSdkPianoio.d.ts.map +1 -1
  28. package/lib/typescript/commonjs/src/PianoComposer.d.ts +2 -2
  29. package/lib/typescript/commonjs/src/PianoComposer.d.ts.map +1 -1
  30. package/lib/typescript/commonjs/src/debug.d.ts +2 -0
  31. package/lib/typescript/commonjs/src/debug.d.ts.map +1 -0
  32. package/lib/typescript/commonjs/src/index.d.ts +1 -0
  33. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  34. package/lib/typescript/module/src/NativeSdkPianoio.d.ts +2 -2
  35. package/lib/typescript/module/src/NativeSdkPianoio.d.ts.map +1 -1
  36. package/lib/typescript/module/src/PianoComposer.d.ts +2 -2
  37. package/lib/typescript/module/src/PianoComposer.d.ts.map +1 -1
  38. package/lib/typescript/module/src/debug.d.ts +2 -0
  39. package/lib/typescript/module/src/debug.d.ts.map +1 -0
  40. package/lib/typescript/module/src/index.d.ts +1 -0
  41. package/lib/typescript/module/src/index.d.ts.map +1 -1
  42. package/package.json +31 -16
  43. package/src/NativeSdkPianoio.ts +13 -4
  44. package/src/PianoComposer.tsx +17 -10
  45. package/src/debug.ts +19 -0
  46. package/src/index.tsx +1 -0
  47. package/ios/ComposerPiano.swift +0 -297
  48. package/ios/SdkPianoio.h +0 -4
  49. package/ios/SdkPianoio.mm +0 -267
  50. package/ios/services/ComposerService.swift +0 -49
package/ios/SdkPianoio.mm DELETED
@@ -1,267 +0,0 @@
1
- #import "SdkPianoio.h"
2
- #import "SdkPianoio/SdkPianoio-Swift.h"
3
- #import <React/RCTBridgeModule.h>
4
-
5
- @implementation SdkPianoio {
6
- ComposerPianoImpl *moduleImpl;
7
- }
8
-
9
- RCT_EXPORT_MODULE(SdkPianoio)
10
-
11
-
12
- - (instancetype)init {
13
- self = [super init];
14
- if (self) {
15
- moduleImpl = [ComposerPianoImpl new];
16
- }
17
- return self;
18
- }
19
-
20
- RCT_EXPORT_METHOD(initializeComposer:(NSString *)aid
21
- resolver:(RCTPromiseResolveBlock)resolve
22
- rejecter:(RCTPromiseRejectBlock)reject)
23
- {
24
- if (!moduleImpl) {
25
- moduleImpl = [ComposerPianoImpl new];
26
- }
27
-
28
- PianoComposer *composer = [moduleImpl initializeComposer:aid];
29
- if (composer) {
30
- resolve(composer);
31
- } else {
32
- reject(@"composer_error", @"Impossibile inizializzare il composer", nil);
33
- }
34
- }
35
-
36
- RCT_EXPORT_METHOD(getComposer:(RCTPromiseResolveBlock)resolve
37
- rejecter:(RCTPromiseRejectBlock)reject)
38
- {
39
- PianoComposer *composer = [moduleImpl getComposer];
40
- if (composer) {
41
- NSMutableDictionary *response = [NSMutableDictionary new];
42
- [response setObject:[moduleImpl getAid] forKey:@"aid"];
43
- [response setObject:[moduleImpl getTags] forKey:@"tags"];
44
- [response setObject:[moduleImpl getZoneId] forKey:@"zoneId"];
45
- [response setObject:[moduleImpl getReferrer] forKey:@"referrer"];
46
- [response setObject:[moduleImpl getUrl] forKey:@"url"];
47
- [response setObject:[moduleImpl getUserToken] forKey:@"userToken"];
48
- resolve(response);
49
- } else {
50
- reject(@"composer_error", @"Impossibile ottenere il composer", nil);
51
- }
52
- }
53
-
54
- RCT_EXPORT_METHOD(addComposerTag:(NSString *)tag
55
- resolver:(RCTPromiseResolveBlock)resolve
56
- rejecter:(RCTPromiseRejectBlock)reject)
57
- {
58
- PianoComposer *composer = [moduleImpl addTag:tag];
59
- if (composer) {
60
- resolve(composer);
61
- } else {
62
- reject(@"composer_error", @"Impossibile aggiungere il tag", nil);
63
- }
64
- }
65
-
66
- RCT_EXPORT_METHOD(addComposerTags:(NSArray *)tags
67
- resolver:(RCTPromiseResolveBlock)resolve
68
- rejecter:(RCTPromiseRejectBlock)reject)
69
- {
70
- PianoComposer *composer = [moduleImpl addTags:tags];
71
- if (composer) {
72
- resolve(nil);
73
- } else {
74
- reject(@"composer_error", @"Impossibile aggiungere i tag", nil);
75
- }
76
- }
77
-
78
- RCT_EXPORT_METHOD(executeComposer:(RCTPromiseResolveBlock)resolve
79
- rejecter:(RCTPromiseRejectBlock)reject)
80
- {
81
- [moduleImpl executeComposer];
82
- resolve(nil);
83
- }
84
-
85
- RCT_EXPORT_METHOD(setComposerCustomVariable:(NSString *)name
86
- value:(NSString *)value
87
- resolver:(RCTPromiseResolveBlock)resolve
88
- rejecter:(RCTPromiseRejectBlock)reject)
89
- {
90
- PianoComposer *composer = [moduleImpl setCustomVariable:name value:value];
91
- if (composer) {
92
- resolve(nil);
93
- } else {
94
- reject(@"composer_error", @"Impossibile impostare la variabile custom", nil);
95
- }
96
- }
97
-
98
- RCT_EXPORT_METHOD(setComposerReferrer:(NSString *)referrer
99
- resolver:(RCTPromiseResolveBlock)resolve
100
- rejecter:(RCTPromiseRejectBlock)reject)
101
- {
102
- PianoComposer *composer = [moduleImpl setReferrer:referrer];
103
- if (composer) {
104
- resolve(nil);
105
- } else {
106
- reject(@"composer_error", @"Impossibile impostare il referrer", nil);
107
- }
108
- }
109
-
110
- RCT_EXPORT_METHOD(setComposerUrl:(NSString *)url
111
- resolver:(RCTPromiseResolveBlock)resolve
112
- rejecter:(RCTPromiseRejectBlock)reject)
113
- {
114
- PianoComposer *composer = [moduleImpl setUrl:url];
115
- if (composer) {
116
- resolve(nil);
117
- } else {
118
- reject(@"composer_error", @"Impossibile impostare l'URL", nil);
119
- }
120
- }
121
-
122
- RCT_EXPORT_METHOD(setComposerUserToken:(NSString *)token
123
- resolver:(RCTPromiseResolveBlock)resolve
124
- rejecter:(RCTPromiseRejectBlock)reject)
125
- {
126
- PianoComposer *composer = [moduleImpl setUserToken:token];
127
- if (composer) {
128
- resolve(nil);
129
- } else {
130
- reject(@"composer_error", @"Impossibile impostare il token utente", nil);
131
- }
132
- }
133
-
134
- RCT_EXPORT_METHOD(setComposerZoneId:(NSString *)zoneId
135
- resolver:(RCTPromiseResolveBlock)resolve
136
- rejecter:(RCTPromiseRejectBlock)reject)
137
- {
138
- PianoComposer *composer = [moduleImpl setZoneId:zoneId];
139
- if (composer) {
140
- resolve(nil);
141
- } else {
142
- reject(@"composer_error", @"Impossibile impostare lo zoneId", nil);
143
- }
144
- }
145
-
146
- RCT_EXPORT_METHOD(showLogin:(RCTPromiseResolveBlock)resolve
147
- rejecter:(RCTPromiseRejectBlock)reject)
148
- {
149
- @try {
150
- [moduleImpl showLogin];
151
- resolve(@(YES));
152
- }
153
- @catch (NSException *exception) {
154
- reject(@"show_login_error", @"Errore in showLogin", nil);
155
- }
156
- }
157
-
158
- RCT_EXPORT_METHOD(showTemplate:(RCTPromiseResolveBlock)resolve
159
- rejecter:(RCTPromiseRejectBlock)reject)
160
- {
161
- @try {
162
- [moduleImpl showTemplate];
163
- resolve(@(YES));
164
- }
165
- @catch (NSException *exception) {
166
- reject(@"show_template_error", @"Errore in showTemplate", nil);
167
- }
168
- }
169
-
170
- RCT_EXPORT_METHOD(showForm:(RCTPromiseResolveBlock)resolve
171
- rejecter:(RCTPromiseRejectBlock)reject)
172
- {
173
- @try {
174
- [moduleImpl showForm];
175
- resolve(@(YES));
176
- }
177
- @catch (NSException *exception) {
178
- reject(@"show_template_error", @"Errore in showForm", nil);
179
- }
180
- }
181
-
182
- RCT_EXPORT_METHOD(experienceExecute:(RCTPromiseResolveBlock)resolve
183
- rejecter:(RCTPromiseRejectBlock)reject)
184
- {
185
- @try {
186
- [moduleImpl executeExperience];
187
- resolve(@(YES));
188
- }
189
- @catch (NSException *exception) {
190
- reject(@"experience_execute_error", @"Errore in experienceExecute", nil);
191
- }
192
- }
193
-
194
- RCT_EXPORT_METHOD(showRecommendations:(RCTPromiseResolveBlock)resolve
195
- rejecter:(RCTPromiseRejectBlock)reject)
196
- {
197
- @try {
198
- [moduleImpl showRecommendations];
199
- resolve(@(YES));
200
- }
201
- @catch (NSException *exception) {
202
- reject(@"show_recommendations_error", @"Errore in showRecommendations", nil);
203
- }
204
- }
205
-
206
- RCT_EXPORT_METHOD(nonSite:(RCTPromiseResolveBlock)resolve
207
- rejecter:(RCTPromiseRejectBlock)reject)
208
- {
209
- @try {
210
- [moduleImpl nonSite];
211
- resolve(@(YES));
212
- }
213
- @catch (NSException *exception) {
214
- reject(@"non_site_error", @"Errore in nonSite", nil);
215
- }
216
- }
217
-
218
- RCT_EXPORT_METHOD(userSegmentTrue:(RCTPromiseResolveBlock)resolve
219
- rejecter:(RCTPromiseRejectBlock)reject)
220
- {
221
- @try {
222
- [moduleImpl userSegmentTrue];
223
- resolve(@(YES));
224
- }
225
- @catch (NSException *exception) {
226
- reject(@"user_segment_true_error", @"Errore in userSegmentTrue", nil);
227
- }
228
- }
229
-
230
- RCT_EXPORT_METHOD(userSegmentFalse:(RCTPromiseResolveBlock)resolve
231
- rejecter:(RCTPromiseRejectBlock)reject)
232
- {
233
- @try {
234
- [moduleImpl userSegmentFalse];
235
- resolve(@(YES));
236
- }
237
- @catch (NSException *exception) {
238
- reject(@"user_segment_false_error", @"Errore in userSegmentFalse", nil);
239
- }
240
- }
241
-
242
- RCT_EXPORT_METHOD(meterActive:(RCTPromiseResolveBlock)resolve
243
- rejecter:(RCTPromiseRejectBlock)reject)
244
- {
245
- @try {
246
- [moduleImpl meterActive];
247
- resolve(@(YES));
248
- }
249
- @catch (NSException *exception) {
250
- reject(@"meter_active_error", @"Errore in meterActive", nil);
251
- }
252
- }
253
-
254
- RCT_EXPORT_METHOD(meterExpired:(RCTPromiseResolveBlock)resolve
255
- rejecter:(RCTPromiseRejectBlock)reject)
256
- {
257
- @try {
258
- [moduleImpl meterExpired];
259
- resolve(@(YES));
260
- }
261
- @catch (NSException *exception) {
262
- reject(@"meter_expired_error", @"Errore in meterExpired", nil);
263
- }
264
- }
265
-
266
-
267
- @end
@@ -1,49 +0,0 @@
1
- //
2
- // ComposerService.swift
3
- // Pods
4
- //
5
- // Created by Alessia Sarak on 24.04.2025.
6
- //
7
-
8
- import PianoComposer
9
-
10
- public class ComposerService: ObservableObject, PianoComposerDelegate {
11
-
12
- let tokenService: TokenService
13
-
14
- @Published private(set) var loading = false
15
-
16
- init(tokenService: TokenService) {
17
- self.tokenService = tokenService
18
- }
19
-
20
- func execute(withToken: Bool = true) {
21
- tokenService.request { token in
22
- let composer = PianoComposer(aid: ComposerPianoImpl.aid, endpoint: PianoEndpoint.sandbox)
23
- .debug(true)
24
- .delegate(self)
25
- .url("https://piano.io/sdk/sample")
26
-
27
- if withToken, let t = token {
28
- /// Set token if available
29
- _ = composer.userToken(t.accessToken)
30
- }
31
-
32
- self.prepare(composer: composer)
33
-
34
- self.loading = true
35
-
36
- composer.execute()
37
- }
38
- }
39
-
40
- public func composerExecutionCompleted(composer: PianoComposer) {
41
- loading = false
42
- }
43
-
44
- public func experienceExecutionFailed(composer: PianoComposer, event: XpEvent, params: FailureEventParams?) {
45
-
46
- }
47
-
48
- open func prepare(composer: PianoComposer) {}
49
- }