react-native-sdk-pianoio 0.3.0 → 0.3.2
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 +3 -3
- package/SdkPianoio.podspec +4 -16
- package/android/build.gradle +12 -19
- package/android/gradle.properties +17 -2
- package/android/src/main/java/com/sdkpianoio/SdkPianoioModule.kt +543 -7
- package/android/src/main/java/com/sdkpianoio/SdkPianoioPackage.kt +3 -3
- package/ios/ComposerPianoImpl.swift +247 -0
- package/ios/MyComposerDelegate.swift +79 -206
- package/ios/SdkPianoio.swift +150 -0
- package/ios/SdkPianoioBridge.m +81 -0
- package/ios/services/TokenService.swift +10 -7
- package/lib/commonjs/NativeSdkPianoio.ts +20 -22
- package/lib/commonjs/PianoComposer.js +36 -97
- package/lib/commonjs/PianoComposer.js.map +1 -1
- package/lib/commonjs/debug.js +23 -0
- package/lib/commonjs/debug.js.map +1 -0
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/NativeSdkPianoio.ts +20 -22
- package/lib/module/PianoComposer.js +36 -97
- package/lib/module/PianoComposer.js.map +1 -1
- package/lib/module/debug.js +18 -0
- package/lib/module/debug.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/NativeSdkPianoio.d.ts +9 -20
- package/lib/typescript/commonjs/src/NativeSdkPianoio.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/PianoComposer.d.ts +25 -28
- package/lib/typescript/commonjs/src/PianoComposer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/debug.d.ts +2 -0
- package/lib/typescript/commonjs/src/debug.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/NativeSdkPianoio.d.ts +9 -20
- package/lib/typescript/module/src/NativeSdkPianoio.d.ts.map +1 -1
- package/lib/typescript/module/src/PianoComposer.d.ts +25 -28
- package/lib/typescript/module/src/PianoComposer.d.ts.map +1 -1
- package/lib/typescript/module/src/debug.d.ts +2 -0
- package/lib/typescript/module/src/debug.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +1 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +30 -15
- package/src/NativeSdkPianoio.ts +20 -22
- package/src/PianoComposer.tsx +36 -116
- package/src/debug.ts +19 -0
- package/src/index.tsx +1 -0
- package/ios/ComposerPiano.swift +0 -304
- package/ios/SdkPianoio.h +0 -4
- package/ios/SdkPianoio.mm +0 -283
- package/ios/services/ComposerService.swift +0 -49
package/ios/SdkPianoio.mm
DELETED
@@ -1,283 +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:^(NSNumber *success) {
|
187
|
-
if ([success boolValue]) {
|
188
|
-
resolve(@(YES));
|
189
|
-
} else {
|
190
|
-
reject(@"experience_failed", @"Esperienza non riuscita", nil);
|
191
|
-
}
|
192
|
-
}];
|
193
|
-
}
|
194
|
-
@catch (NSException *exception) {
|
195
|
-
reject(@"experience_execute_error", @"Errore in experienceExecute", nil);
|
196
|
-
}
|
197
|
-
}
|
198
|
-
RCT_EXPORT_METHOD(showRecommendations:(RCTPromiseResolveBlock)resolve
|
199
|
-
rejecter:(RCTPromiseRejectBlock)reject)
|
200
|
-
{
|
201
|
-
@try {
|
202
|
-
[moduleImpl showRecommendations];
|
203
|
-
resolve(@(YES));
|
204
|
-
}
|
205
|
-
@catch (NSException *exception) {
|
206
|
-
reject(@"show_recommendations_error", @"Errore in showRecommendations", nil);
|
207
|
-
}
|
208
|
-
}
|
209
|
-
|
210
|
-
RCT_EXPORT_METHOD(nonSite:(RCTPromiseResolveBlock)resolve
|
211
|
-
rejecter:(RCTPromiseRejectBlock)reject)
|
212
|
-
{
|
213
|
-
@try {
|
214
|
-
[moduleImpl nonSite];
|
215
|
-
resolve(@(YES));
|
216
|
-
}
|
217
|
-
@catch (NSException *exception) {
|
218
|
-
reject(@"non_site_error", @"Errore in nonSite", nil);
|
219
|
-
}
|
220
|
-
}
|
221
|
-
|
222
|
-
RCT_EXPORT_METHOD(userSegmentTrue:(RCTPromiseResolveBlock)resolve
|
223
|
-
rejecter:(RCTPromiseRejectBlock)reject)
|
224
|
-
{
|
225
|
-
@try {
|
226
|
-
[moduleImpl userSegmentTrue];
|
227
|
-
resolve(@(YES));
|
228
|
-
}
|
229
|
-
@catch (NSException *exception) {
|
230
|
-
reject(@"user_segment_true_error", @"Errore in userSegmentTrue", nil);
|
231
|
-
}
|
232
|
-
}
|
233
|
-
|
234
|
-
RCT_EXPORT_METHOD(userSegmentFalse:(RCTPromiseResolveBlock)resolve
|
235
|
-
rejecter:(RCTPromiseRejectBlock)reject)
|
236
|
-
{
|
237
|
-
@try {
|
238
|
-
[moduleImpl userSegmentFalse];
|
239
|
-
resolve(@(YES));
|
240
|
-
}
|
241
|
-
@catch (NSException *exception) {
|
242
|
-
reject(@"user_segment_false_error", @"Errore in userSegmentFalse", nil);
|
243
|
-
}
|
244
|
-
}
|
245
|
-
|
246
|
-
RCT_EXPORT_METHOD(meterActive:(RCTPromiseResolveBlock)resolve
|
247
|
-
rejecter:(RCTPromiseRejectBlock)reject)
|
248
|
-
{
|
249
|
-
@try {
|
250
|
-
[moduleImpl meterActive];
|
251
|
-
resolve(@(YES));
|
252
|
-
}
|
253
|
-
@catch (NSException *exception) {
|
254
|
-
reject(@"meter_active_error", @"Errore in meterActive", nil);
|
255
|
-
}
|
256
|
-
}
|
257
|
-
|
258
|
-
RCT_EXPORT_METHOD(composerExecutionCompleted:(RCTPromiseResolveBlock)resolve
|
259
|
-
rejecter:(RCTPromiseRejectBlock)reject)
|
260
|
-
{
|
261
|
-
@try {
|
262
|
-
[moduleImpl composerExecutionCompleted];
|
263
|
-
resolve(@(YES));
|
264
|
-
}
|
265
|
-
@catch (NSException *exception) {
|
266
|
-
reject(@"meter_active_error", @"Errore in meterActive", nil);
|
267
|
-
}
|
268
|
-
}
|
269
|
-
|
270
|
-
RCT_EXPORT_METHOD(meterExpired:(RCTPromiseResolveBlock)resolve
|
271
|
-
rejecter:(RCTPromiseRejectBlock)reject)
|
272
|
-
{
|
273
|
-
@try {
|
274
|
-
[moduleImpl meterExpired];
|
275
|
-
resolve(@(YES));
|
276
|
-
}
|
277
|
-
@catch (NSException *exception) {
|
278
|
-
reject(@"meter_expired_error", @"Errore in meterExpired", nil);
|
279
|
-
}
|
280
|
-
}
|
281
|
-
|
282
|
-
|
283
|
-
@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
|
-
}
|