@blueconic/blueconic-react-native 4.0.3 → 5.1.0
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/BlueConicReactNative.podspec +1 -1
- package/CHANGELOG.md +29 -0
- package/android/build.gradle +16 -12
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/blueconic/reactnative/BlueConicClientModule.java +190 -53
- package/android/src/test/java/com/blueconic/reactnative/BlueConicTests.kt +57 -21
- package/index.js +9 -1
- package/ios/BlueConicClient.xcodeproj/project.pbxproj +2 -2
- package/ios/BlueConicClientModule.m +11 -6
- package/ios/BlueConicClientModule.swift +95 -40
- package/package.json +3 -3
|
@@ -14,6 +14,7 @@ import com.blueconic.impl.configuration.BlueConicConfiguration;
|
|
|
14
14
|
import com.blueconic.plugin.events.Event;
|
|
15
15
|
import com.blueconic.plugin.events.EventHandler;
|
|
16
16
|
import com.blueconic.plugin.events.PropertiesDialogueEvent;
|
|
17
|
+
import com.blueconic.plugin.events.RecommendationsDialogueEvent;
|
|
17
18
|
import com.facebook.react.bridge.*;
|
|
18
19
|
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
19
20
|
import org.jetbrains.annotations.NotNull;
|
|
@@ -158,7 +159,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
158
159
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
159
160
|
String profileId = "";
|
|
160
161
|
if (blueConicClient != null) {
|
|
161
|
-
profileId = blueConicClient.
|
|
162
|
+
profileId = blueConicClient.getProfile().getId();
|
|
162
163
|
}
|
|
163
164
|
|
|
164
165
|
promise.resolve(profileId);
|
|
@@ -175,20 +176,41 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
175
176
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
176
177
|
String profileId = "";
|
|
177
178
|
if (blueConicClient != null) {
|
|
178
|
-
profileId = blueConicClient.
|
|
179
|
+
profileId = blueConicClient.getProfile().getId();
|
|
179
180
|
}
|
|
180
181
|
|
|
181
182
|
callback.invoke(profileId);
|
|
182
183
|
}
|
|
183
184
|
|
|
184
185
|
/**
|
|
185
|
-
*
|
|
186
|
+
* Clears the profile ID from the BlueConic client locally (cache). A new profile ID will be generated.
|
|
186
187
|
*/
|
|
187
188
|
@ReactMethod
|
|
188
|
-
public void
|
|
189
|
+
public void createProfile(@Nonnull Callback callback) {
|
|
189
190
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
190
191
|
if (blueConicClient != null) {
|
|
191
|
-
blueConicClient.
|
|
192
|
+
blueConicClient.createProfile(new com.blueconic.Callback() {
|
|
193
|
+
@Override
|
|
194
|
+
public void onSuccess() {
|
|
195
|
+
callback.invoke(true, null);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
@Override
|
|
199
|
+
public void onError(@NotNull com.blueconic.Error error) {
|
|
200
|
+
callback.invoke(false, error.toString());
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Removes the profile from the BlueConic servers. The profile ID will be removed from the BlueConic client. A new profile ID will be generated.
|
|
208
|
+
*/
|
|
209
|
+
@ReactMethod
|
|
210
|
+
public void deleteProfile(@Nonnull Callback callback) {
|
|
211
|
+
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
212
|
+
if (blueConicClient != null) {
|
|
213
|
+
blueConicClient.deleteProfile(new com.blueconic.Callback() {
|
|
192
214
|
@Override
|
|
193
215
|
public void onSuccess() {
|
|
194
216
|
callback.invoke(true, null);
|
|
@@ -250,7 +272,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
250
272
|
final WritableArray result = getWritableArray();
|
|
251
273
|
|
|
252
274
|
if (blueConicClient != null) {
|
|
253
|
-
result.pushString(blueConicClient.
|
|
275
|
+
result.pushString(blueConicClient.getProfile().getValue(property));
|
|
254
276
|
}
|
|
255
277
|
promise.resolve(result);
|
|
256
278
|
}
|
|
@@ -269,7 +291,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
269
291
|
final WritableArray result = getWritableArray();
|
|
270
292
|
|
|
271
293
|
if (blueConicClient != null) {
|
|
272
|
-
Collection<String> values = blueConicClient.
|
|
294
|
+
Collection<String> values = blueConicClient.getProfile().getValues(property);
|
|
273
295
|
result.pushArray(fromList(new ArrayList<>(values)));
|
|
274
296
|
}
|
|
275
297
|
|
|
@@ -290,7 +312,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
290
312
|
final WritableArray result = getWritableArray();
|
|
291
313
|
|
|
292
314
|
if (blueConicClient != null) {
|
|
293
|
-
result.pushString(blueConicClient.
|
|
315
|
+
result.pushString(blueConicClient.getProfile().getValue(property));
|
|
294
316
|
}
|
|
295
317
|
|
|
296
318
|
callback.invoke(result);
|
|
@@ -310,7 +332,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
310
332
|
final WritableArray result = getWritableArray();
|
|
311
333
|
|
|
312
334
|
if (blueConicClient != null) {
|
|
313
|
-
Collection<String> values = blueConicClient.
|
|
335
|
+
Collection<String> values = blueConicClient.getProfile().getValues(property);
|
|
314
336
|
result.pushArray(fromList(new ArrayList<>(values)));
|
|
315
337
|
}
|
|
316
338
|
|
|
@@ -333,10 +355,10 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
333
355
|
}
|
|
334
356
|
BlueConicClientImpl implInstance = (BlueConicClientImpl) blueConicClient;
|
|
335
357
|
|
|
336
|
-
for (String propertyName : implInstance.getProfilePropertyNames()) {
|
|
358
|
+
for (String propertyName : implInstance.getProfile().getProfilePropertyNames()) {
|
|
337
359
|
final WritableMap item = getWritableMap();
|
|
338
360
|
item.putString("id", propertyName);
|
|
339
|
-
Collection<String> values = blueConicClient.
|
|
361
|
+
Collection<String> values = blueConicClient.getProfile().getValues(propertyName);
|
|
340
362
|
String joinedValues = String.join(",", values);
|
|
341
363
|
item.putString("value", joinedValues);
|
|
342
364
|
result.pushMap(item);
|
|
@@ -358,7 +380,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
358
380
|
final WritableArray result = getWritableArray();
|
|
359
381
|
|
|
360
382
|
if (blueConicClient != null) {
|
|
361
|
-
result.pushString(blueConicClient.getPrivacyLegislation());
|
|
383
|
+
result.pushString(blueConicClient.getProfile().getPrivacyLegislation());
|
|
362
384
|
}
|
|
363
385
|
promise.resolve(result);
|
|
364
386
|
}
|
|
@@ -376,7 +398,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
376
398
|
final WritableArray result = getWritableArray();
|
|
377
399
|
|
|
378
400
|
if (blueConicClient != null) {
|
|
379
|
-
result.pushString(blueConicClient.getPrivacyLegislation());
|
|
401
|
+
result.pushString(blueConicClient.getProfile().getPrivacyLegislation());
|
|
380
402
|
}
|
|
381
403
|
|
|
382
404
|
callback.invoke(result);
|
|
@@ -395,7 +417,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
395
417
|
final WritableArray result = getWritableArray();
|
|
396
418
|
|
|
397
419
|
if (blueConicClient != null) {
|
|
398
|
-
Collection<String> values = blueConicClient.getConsentedObjectives();
|
|
420
|
+
Collection<String> values = blueConicClient.getProfile().getConsentedObjectives();
|
|
399
421
|
result.pushArray(fromList(new ArrayList<>(values)));
|
|
400
422
|
}
|
|
401
423
|
|
|
@@ -415,7 +437,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
415
437
|
final WritableArray result = getWritableArray();
|
|
416
438
|
|
|
417
439
|
if (blueConicClient != null) {
|
|
418
|
-
Collection<String> values = blueConicClient.getConsentedObjectives();
|
|
440
|
+
Collection<String> values = blueConicClient.getProfile().getConsentedObjectives();
|
|
419
441
|
result.pushArray(fromList(new ArrayList<>(values)));
|
|
420
442
|
}
|
|
421
443
|
|
|
@@ -435,7 +457,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
435
457
|
final WritableArray result = getWritableArray();
|
|
436
458
|
|
|
437
459
|
if (blueConicClient != null) {
|
|
438
|
-
Collection<String> values = blueConicClient.getRefusedObjectives();
|
|
460
|
+
Collection<String> values = blueConicClient.getProfile().getRefusedObjectives();
|
|
439
461
|
result.pushArray(fromList(new ArrayList<>(values)));
|
|
440
462
|
}
|
|
441
463
|
|
|
@@ -455,7 +477,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
455
477
|
final WritableArray result = getWritableArray();
|
|
456
478
|
|
|
457
479
|
if (blueConicClient != null) {
|
|
458
|
-
Collection<String> values = blueConicClient.getRefusedObjectives();
|
|
480
|
+
Collection<String> values = blueConicClient.getProfile().getRefusedObjectives();
|
|
459
481
|
result.pushArray(fromList(new ArrayList<>(values)));
|
|
460
482
|
}
|
|
461
483
|
|
|
@@ -471,7 +493,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
471
493
|
public void addConsentedObjective(@Nonnull String objectiveId) {
|
|
472
494
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
473
495
|
if (blueConicClient != null) {
|
|
474
|
-
blueConicClient.addConsentedObjective(objectiveId, null);
|
|
496
|
+
blueConicClient.getProfile().addConsentedObjective(objectiveId, null);
|
|
475
497
|
}
|
|
476
498
|
}
|
|
477
499
|
|
|
@@ -484,7 +506,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
484
506
|
public void addRefusedObjective(@Nonnull String objectiveId) {
|
|
485
507
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
486
508
|
if (blueConicClient != null) {
|
|
487
|
-
blueConicClient.addRefusedObjective(objectiveId, null);
|
|
509
|
+
blueConicClient.getProfile().addRefusedObjective(objectiveId, null);
|
|
488
510
|
}
|
|
489
511
|
}
|
|
490
512
|
|
|
@@ -497,7 +519,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
497
519
|
public void setPrivacyLegislation(@Nonnull String privacyLegislation) {
|
|
498
520
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
499
521
|
if (blueConicClient != null) {
|
|
500
|
-
blueConicClient.setPrivacyLegislation(privacyLegislation);
|
|
522
|
+
blueConicClient.getProfile().setPrivacyLegislation(privacyLegislation);
|
|
501
523
|
}
|
|
502
524
|
}
|
|
503
525
|
|
|
@@ -509,8 +531,12 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
509
531
|
@ReactMethod
|
|
510
532
|
public void setConsentedObjectives(@Nonnull ReadableArray objectiveIds) {
|
|
511
533
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
534
|
+
List<String> objectiveValues = new ArrayList<>();
|
|
535
|
+
for (Object value : objectiveIds.toArrayList()) {
|
|
536
|
+
objectiveValues.add((String) value);
|
|
537
|
+
}
|
|
512
538
|
if (blueConicClient != null) {
|
|
513
|
-
blueConicClient.setConsentedObjectives(
|
|
539
|
+
blueConicClient.getProfile().setConsentedObjectives(objectiveValues);
|
|
514
540
|
}
|
|
515
541
|
}
|
|
516
542
|
|
|
@@ -522,8 +548,12 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
522
548
|
@ReactMethod
|
|
523
549
|
public void setRefusedObjectives(@Nonnull ReadableArray objectiveIds) {
|
|
524
550
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
551
|
+
List<String> objectiveValues = new ArrayList<>();
|
|
552
|
+
for (Object value : objectiveIds.toArrayList()) {
|
|
553
|
+
objectiveValues.add((String) value);
|
|
554
|
+
}
|
|
525
555
|
if (blueConicClient != null) {
|
|
526
|
-
blueConicClient.setRefusedObjectives(
|
|
556
|
+
blueConicClient.getProfile().setRefusedObjectives(objectiveValues);
|
|
527
557
|
}
|
|
528
558
|
}
|
|
529
559
|
|
|
@@ -618,7 +648,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
618
648
|
public void addProfileValue(@Nonnull String property, @Nonnull String value) {
|
|
619
649
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
620
650
|
if (blueConicClient != null) {
|
|
621
|
-
blueConicClient.
|
|
651
|
+
blueConicClient.getProfile().addValue(property, value, null);
|
|
622
652
|
}
|
|
623
653
|
}
|
|
624
654
|
|
|
@@ -631,8 +661,12 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
631
661
|
@ReactMethod
|
|
632
662
|
public void addProfileValues(@Nonnull String property, @Nonnull ReadableArray values) {
|
|
633
663
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
664
|
+
List<String> profileValues = new ArrayList<>();
|
|
665
|
+
for (Object value : values.toArrayList()) {
|
|
666
|
+
profileValues.add((String) value);
|
|
667
|
+
}
|
|
634
668
|
if (blueConicClient != null) {
|
|
635
|
-
blueConicClient.
|
|
669
|
+
blueConicClient.getProfile().addValues(property, profileValues, null);
|
|
636
670
|
}
|
|
637
671
|
}
|
|
638
672
|
|
|
@@ -646,7 +680,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
646
680
|
public void setProfileValue(@Nonnull String property, @Nonnull String value) {
|
|
647
681
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
648
682
|
if (blueConicClient != null) {
|
|
649
|
-
blueConicClient.
|
|
683
|
+
blueConicClient.getProfile().setValue(property, value, null);
|
|
650
684
|
}
|
|
651
685
|
}
|
|
652
686
|
|
|
@@ -659,8 +693,12 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
659
693
|
@ReactMethod
|
|
660
694
|
public void setProfileValues(@Nonnull String property, @Nonnull ReadableArray values) {
|
|
661
695
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
696
|
+
List<String> profileValues = new ArrayList<>();
|
|
697
|
+
for (Object value : values.toArrayList()) {
|
|
698
|
+
profileValues.add((String) value);
|
|
699
|
+
}
|
|
662
700
|
if (blueConicClient != null) {
|
|
663
|
-
blueConicClient.
|
|
701
|
+
blueConicClient.getProfile().setValues(property, profileValues, null);
|
|
664
702
|
}
|
|
665
703
|
}
|
|
666
704
|
|
|
@@ -671,10 +709,10 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
671
709
|
* @param value A ReadableArray containing Strings that will be incremented to the profile property.
|
|
672
710
|
*/
|
|
673
711
|
@ReactMethod
|
|
674
|
-
public void incrementProfileValue(@Nonnull String property, @Nonnull
|
|
712
|
+
public void incrementProfileValue(@Nonnull String property, @Nonnull Integer value) {
|
|
675
713
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
676
714
|
if (blueConicClient != null) {
|
|
677
|
-
blueConicClient.
|
|
715
|
+
blueConicClient.getProfile().incrementValue(property, value, null);
|
|
678
716
|
}
|
|
679
717
|
}
|
|
680
718
|
|
|
@@ -690,7 +728,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
690
728
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
691
729
|
|
|
692
730
|
if (blueConicClient != null) {
|
|
693
|
-
blueConicClient.createEvent(eventName, properties, getCurrentActivity(), null);
|
|
731
|
+
blueConicClient.createEvent(eventName, properties, getReactApplicationContext().getCurrentActivity(), null);
|
|
694
732
|
}
|
|
695
733
|
}
|
|
696
734
|
|
|
@@ -708,7 +746,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
708
746
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
709
747
|
|
|
710
748
|
if (blueConicClient != null) {
|
|
711
|
-
blueConicClient.createEvent(eventName, properties, getCurrentActivity(), new com.blueconic.Callback() {
|
|
749
|
+
blueConicClient.createEvent(eventName, properties, getReactApplicationContext().getCurrentActivity(), new com.blueconic.Callback() {
|
|
712
750
|
@Override
|
|
713
751
|
public void onSuccess() {
|
|
714
752
|
promise.resolve(getWritableArray());
|
|
@@ -738,7 +776,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
738
776
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
739
777
|
|
|
740
778
|
if (blueConicClient != null) {
|
|
741
|
-
blueConicClient.createEvent(eventName, properties, getCurrentActivity(), new com.blueconic.Callback() {
|
|
779
|
+
blueConicClient.createEvent(eventName, properties, getReactApplicationContext().getCurrentActivity(), new com.blueconic.Callback() {
|
|
742
780
|
@Override
|
|
743
781
|
public void onSuccess() {
|
|
744
782
|
callback.invoke(true, null);
|
|
@@ -832,7 +870,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
832
870
|
if (blueConicClient != null) {
|
|
833
871
|
// blueConicClient instance must have an activity or application
|
|
834
872
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
835
|
-
Activity activity = getCurrentActivity();
|
|
873
|
+
Activity activity = getReactApplicationContext().getCurrentActivity();
|
|
836
874
|
if (activity == null) {
|
|
837
875
|
activity = new Activity();
|
|
838
876
|
}
|
|
@@ -855,7 +893,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
855
893
|
if (blueConicClient != null) {
|
|
856
894
|
// blueConicClient instance must have an activity or application
|
|
857
895
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
858
|
-
Activity activity = getCurrentActivity();
|
|
896
|
+
Activity activity = getReactApplicationContext().getCurrentActivity();
|
|
859
897
|
if (activity == null) {
|
|
860
898
|
activity = new Activity();
|
|
861
899
|
}
|
|
@@ -889,7 +927,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
889
927
|
if (blueConicClient != null) {
|
|
890
928
|
// blueConicClient instance must have an activity or application
|
|
891
929
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
892
|
-
Activity activity = getCurrentActivity();
|
|
930
|
+
Activity activity = getReactApplicationContext().getCurrentActivity();
|
|
893
931
|
if (activity == null) {
|
|
894
932
|
activity = new Activity();
|
|
895
933
|
}
|
|
@@ -923,7 +961,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
923
961
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
924
962
|
|
|
925
963
|
if (blueConicClient != null) {
|
|
926
|
-
Activity activity = getCurrentActivity();
|
|
964
|
+
Activity activity = getReactApplicationContext().getCurrentActivity();
|
|
927
965
|
if (activity == null) {
|
|
928
966
|
activity = new Activity();
|
|
929
967
|
}
|
|
@@ -946,7 +984,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
946
984
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
947
985
|
|
|
948
986
|
if (blueConicClient != null) {
|
|
949
|
-
Activity activity = getCurrentActivity();
|
|
987
|
+
Activity activity = getReactApplicationContext().getCurrentActivity();
|
|
950
988
|
if (activity == null) {
|
|
951
989
|
activity = new Activity();
|
|
952
990
|
}
|
|
@@ -981,7 +1019,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
981
1019
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
982
1020
|
|
|
983
1021
|
if (blueConicClient != null) {
|
|
984
|
-
Activity activity = getCurrentActivity();
|
|
1022
|
+
Activity activity = getReactApplicationContext().getCurrentActivity();
|
|
985
1023
|
if (activity == null) {
|
|
986
1024
|
activity = new Activity();
|
|
987
1025
|
}
|
|
@@ -1013,7 +1051,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
1013
1051
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
1014
1052
|
|
|
1015
1053
|
if (blueConicClient != null) {
|
|
1016
|
-
Activity activity = getCurrentActivity();
|
|
1054
|
+
Activity activity = getReactApplicationContext().getCurrentActivity();
|
|
1017
1055
|
if (activity == null) {
|
|
1018
1056
|
activity = new Activity();
|
|
1019
1057
|
}
|
|
@@ -1036,7 +1074,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
1036
1074
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
1037
1075
|
|
|
1038
1076
|
if (blueConicClient != null) {
|
|
1039
|
-
Activity activity = getCurrentActivity();
|
|
1077
|
+
Activity activity = getReactApplicationContext().getCurrentActivity();
|
|
1040
1078
|
if (activity == null) {
|
|
1041
1079
|
activity = new Activity();
|
|
1042
1080
|
}
|
|
@@ -1070,7 +1108,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
1070
1108
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
1071
1109
|
|
|
1072
1110
|
if (blueConicClient != null) {
|
|
1073
|
-
Activity activity = getCurrentActivity();
|
|
1111
|
+
Activity activity = getReactApplicationContext().getCurrentActivity();
|
|
1074
1112
|
if (activity == null) {
|
|
1075
1113
|
activity = new Activity();
|
|
1076
1114
|
}
|
|
@@ -1102,7 +1140,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
1102
1140
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
1103
1141
|
|
|
1104
1142
|
if (blueConicClient != null) {
|
|
1105
|
-
Activity activity = getCurrentActivity();
|
|
1143
|
+
Activity activity = getReactApplicationContext().getCurrentActivity();
|
|
1106
1144
|
if (activity == null) {
|
|
1107
1145
|
activity = new Activity();
|
|
1108
1146
|
}
|
|
@@ -1125,7 +1163,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
1125
1163
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
1126
1164
|
|
|
1127
1165
|
if (blueConicClient != null) {
|
|
1128
|
-
Activity activity = getCurrentActivity();
|
|
1166
|
+
Activity activity = getReactApplicationContext().getCurrentActivity();
|
|
1129
1167
|
if (activity == null) {
|
|
1130
1168
|
activity = new Activity();
|
|
1131
1169
|
}
|
|
@@ -1159,7 +1197,7 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
1159
1197
|
final Map<String, Object> properties = readableMap.toHashMap();
|
|
1160
1198
|
|
|
1161
1199
|
if (blueConicClient != null) {
|
|
1162
|
-
Activity activity = getCurrentActivity();
|
|
1200
|
+
Activity activity = getReactApplicationContext().getCurrentActivity();
|
|
1163
1201
|
if (activity == null) {
|
|
1164
1202
|
activity = new Activity();
|
|
1165
1203
|
}
|
|
@@ -1337,12 +1375,76 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
1337
1375
|
}
|
|
1338
1376
|
}
|
|
1339
1377
|
|
|
1378
|
+
@ReactMethod
|
|
1379
|
+
public void createRecommendationEvent(@Nonnull String storeId, @Nonnull String action, @Nonnull ReadableArray itemIds) {
|
|
1380
|
+
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
1381
|
+
List<String> itemIdsValues = new ArrayList<>();
|
|
1382
|
+
for (Object value : itemIds.toArrayList()) {
|
|
1383
|
+
itemIdsValues.add((String) value);
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
if (blueConicClient != null) {
|
|
1387
|
+
blueConicClient.createRecommendationEvent(storeId, action, itemIdsValues, null);
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
|
|
1391
|
+
@ReactMethod
|
|
1392
|
+
public void createRecommendationEventAsync(@Nonnull String storeId, @Nonnull String action, @Nonnull ReadableArray itemIds, @Nonnull final Promise promise) {
|
|
1393
|
+
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
1394
|
+
List<String> itemIdsValues = new ArrayList<>();
|
|
1395
|
+
for (Object value : itemIds.toArrayList()) {
|
|
1396
|
+
itemIdsValues.add((String) value);
|
|
1397
|
+
}
|
|
1398
|
+
|
|
1399
|
+
if (blueConicClient != null) {
|
|
1400
|
+
blueConicClient.createRecommendationEvent(storeId, action, itemIdsValues, new com.blueconic.Callback() {
|
|
1401
|
+
@Override
|
|
1402
|
+
public void onSuccess() {
|
|
1403
|
+
promise.resolve(getWritableArray());
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
@Override
|
|
1407
|
+
public void onError(@NotNull com.blueconic.Error error) {
|
|
1408
|
+
promise.resolve(getWritableArray());
|
|
1409
|
+
}
|
|
1410
|
+
});
|
|
1411
|
+
} else {
|
|
1412
|
+
promise.resolve(getWritableArray());
|
|
1413
|
+
}
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
@ReactMethod
|
|
1417
|
+
public void createRecommendationEventWithCallback(@Nonnull String storeId, @Nonnull String action, @Nonnull ReadableArray itemIds, @Nonnull final Callback callback) {
|
|
1418
|
+
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
1419
|
+
List<String> itemIdsValues = new ArrayList<>();
|
|
1420
|
+
for (Object value : itemIds.toArrayList()) {
|
|
1421
|
+
itemIdsValues.add((String) value);
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1424
|
+
if (blueConicClient != null) {
|
|
1425
|
+
blueConicClient.createRecommendationEvent(storeId, action, itemIdsValues, new com.blueconic.Callback() {
|
|
1426
|
+
@Override
|
|
1427
|
+
public void onSuccess() {
|
|
1428
|
+
callback.invoke(true, null);
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
@Override
|
|
1432
|
+
public void onError(@NotNull com.blueconic.Error error) {
|
|
1433
|
+
callback.invoke(false, error.toString());
|
|
1434
|
+
}
|
|
1435
|
+
});
|
|
1436
|
+
} else {
|
|
1437
|
+
callback.invoke(false, "InternalError");
|
|
1438
|
+
}
|
|
1439
|
+
}
|
|
1440
|
+
|
|
1340
1441
|
@ReactMethod
|
|
1341
1442
|
public void subscribe(@Nonnull String eventName, boolean onlyOnce, @Nonnull String identifier) {
|
|
1342
1443
|
final BlueConicClient blueConicClient = getBlueConicClientInstance();
|
|
1343
1444
|
|
|
1344
1445
|
EventHandler eventHandler = switch (eventName) {
|
|
1345
1446
|
case "propertiesDialogueEvent" -> new PropertiesDialogueHandler(eventName);
|
|
1447
|
+
case "recommendationsDialogueEvent" -> new RecommendationsDialogueHandler(eventName);
|
|
1346
1448
|
default -> event -> {};
|
|
1347
1449
|
};
|
|
1348
1450
|
|
|
@@ -1362,11 +1464,13 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
1362
1464
|
*/
|
|
1363
1465
|
@ReactMethod
|
|
1364
1466
|
public void publishClickEvent(@Nonnull String selector, ReadableArray values) {
|
|
1365
|
-
List<String> contextValues;
|
|
1467
|
+
List<String> contextValues = new ArrayList<>();
|
|
1366
1468
|
if (values == null) {
|
|
1367
1469
|
contextValues = emptyList();
|
|
1368
1470
|
} else {
|
|
1369
|
-
|
|
1471
|
+
for (Object value : values.toArrayList()) {
|
|
1472
|
+
contextValues.add((String) value);
|
|
1473
|
+
}
|
|
1370
1474
|
}
|
|
1371
1475
|
getBlueConicClientInstance().getEventManager().publishClickEvent(selector, contextValues, null);
|
|
1372
1476
|
}
|
|
@@ -1378,11 +1482,13 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
1378
1482
|
*/
|
|
1379
1483
|
@ReactMethod
|
|
1380
1484
|
public void publishClickEventWithCallback(@Nonnull String selector, ReadableArray values, @Nonnull final Callback callback) {
|
|
1381
|
-
List<String> contextValues;
|
|
1485
|
+
List<String> contextValues = new ArrayList<>();
|
|
1382
1486
|
if (values == null) {
|
|
1383
1487
|
contextValues = emptyList();
|
|
1384
1488
|
} else {
|
|
1385
|
-
|
|
1489
|
+
for (Object value : values.toArrayList()) {
|
|
1490
|
+
contextValues.add((String) value);
|
|
1491
|
+
}
|
|
1386
1492
|
}
|
|
1387
1493
|
getBlueConicClientInstance().getEventManager().publishClickEvent(selector, contextValues, new com.blueconic.Callback() {
|
|
1388
1494
|
@Override
|
|
@@ -1404,11 +1510,13 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
1404
1510
|
*/
|
|
1405
1511
|
@ReactMethod
|
|
1406
1512
|
public void publishFormSubmitEvent(@Nonnull String selector, ReadableArray values) {
|
|
1407
|
-
List<String> contextValues;
|
|
1513
|
+
List<String> contextValues = new ArrayList<>();
|
|
1408
1514
|
if (values == null) {
|
|
1409
1515
|
contextValues = emptyList();
|
|
1410
1516
|
} else {
|
|
1411
|
-
|
|
1517
|
+
for (Object value : values.toArrayList()) {
|
|
1518
|
+
contextValues.add((String) value);
|
|
1519
|
+
}
|
|
1412
1520
|
}
|
|
1413
1521
|
getBlueConicClientInstance().getEventManager().publishFormSubmitEvent(selector, contextValues, null);
|
|
1414
1522
|
}
|
|
@@ -1420,11 +1528,13 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
1420
1528
|
*/
|
|
1421
1529
|
@ReactMethod
|
|
1422
1530
|
public void publishFormSubmitEventWithCallback(@Nonnull String selector, ReadableArray values, @Nonnull final Callback callback) {
|
|
1423
|
-
List<String> contextValues;
|
|
1531
|
+
List<String> contextValues = new ArrayList<>();
|
|
1424
1532
|
if (values == null) {
|
|
1425
1533
|
contextValues = emptyList();
|
|
1426
1534
|
} else {
|
|
1427
|
-
|
|
1535
|
+
for (Object value : values.toArrayList()) {
|
|
1536
|
+
contextValues.add((String) value);
|
|
1537
|
+
}
|
|
1428
1538
|
}
|
|
1429
1539
|
getBlueConicClientInstance().getEventManager().publishFormSubmitEvent(selector, contextValues, new com.blueconic.Callback() {
|
|
1430
1540
|
@Override
|
|
@@ -1511,7 +1621,11 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
1511
1621
|
*/
|
|
1512
1622
|
@ReactMethod
|
|
1513
1623
|
public void publishAdvancedEvent(@Nonnull String name, @Nonnull ReadableArray values) {
|
|
1514
|
-
|
|
1624
|
+
List<String> contextValues = new ArrayList<>();
|
|
1625
|
+
for (Object value : values.toArrayList()) {
|
|
1626
|
+
contextValues.add((String) value);
|
|
1627
|
+
}
|
|
1628
|
+
getBlueConicClientInstance().getEventManager().publishAdvancedEvent(name, contextValues, null);
|
|
1515
1629
|
}
|
|
1516
1630
|
|
|
1517
1631
|
/**
|
|
@@ -1522,7 +1636,11 @@ public class BlueConicClientModule extends ReactContextBaseJavaModule {
|
|
|
1522
1636
|
*/
|
|
1523
1637
|
@ReactMethod
|
|
1524
1638
|
public void publishAdvancedEventWithCallback(@Nonnull String name, @Nonnull ReadableArray values, @Nonnull final Callback callback) {
|
|
1525
|
-
|
|
1639
|
+
List<String> contextValues = new ArrayList<>();
|
|
1640
|
+
for (Object value : values.toArrayList()) {
|
|
1641
|
+
contextValues.add((String) value);
|
|
1642
|
+
}
|
|
1643
|
+
getBlueConicClientInstance().getEventManager().publishAdvancedEvent(name, contextValues, new com.blueconic.Callback() {
|
|
1526
1644
|
@Override
|
|
1527
1645
|
public void onSuccess() {
|
|
1528
1646
|
callback.invoke(true, null);
|
|
@@ -1748,4 +1866,23 @@ class PropertiesDialogueHandler implements EventHandler {
|
|
|
1748
1866
|
values.put("data", propertiesDialogueEvent.getData());
|
|
1749
1867
|
BlueConicClientModule.publishDialogueEvent(values, eventName);
|
|
1750
1868
|
}
|
|
1869
|
+
}
|
|
1870
|
+
|
|
1871
|
+
class RecommendationsDialogueHandler implements EventHandler {
|
|
1872
|
+
private final String eventName;
|
|
1873
|
+
|
|
1874
|
+
RecommendationsDialogueHandler(String eventName) {
|
|
1875
|
+
this.eventName = eventName;
|
|
1876
|
+
}
|
|
1877
|
+
|
|
1878
|
+
@Override
|
|
1879
|
+
public void handleEvent(@NotNull Event event) {
|
|
1880
|
+
RecommendationsDialogueEvent propertiesDialogueEvent = (RecommendationsDialogueEvent) event;
|
|
1881
|
+
Map<String, Object> values = new HashMap<>();
|
|
1882
|
+
values.put("variantId", propertiesDialogueEvent.getVariantId());
|
|
1883
|
+
values.put("position", propertiesDialogueEvent.getPosition());
|
|
1884
|
+
values.put("storeId", propertiesDialogueEvent.getStoreId());
|
|
1885
|
+
values.put("recommendations", propertiesDialogueEvent.getRecommendations());
|
|
1886
|
+
BlueConicClientModule.publishDialogueEvent(values, eventName);
|
|
1887
|
+
}
|
|
1751
1888
|
}
|