@woosmap/react-native-plugin-geofencing 0.12.2 → 0.13.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/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 0.13.0
2
+ - Bug: Resolved bug in Airship connector
3
+
1
4
  ## 0.12.2
2
5
  - Enhancement: Custom Tracking on iOS (use asynchronous execution)
3
6
 
@@ -16,6 +16,7 @@ import java.util.Map;
16
16
  import java.util.TimeZone;
17
17
  import org.json.JSONException;
18
18
  import org.json.JSONObject;
19
+ import com.google.gson.Gson;
19
20
 
20
21
  public class AirshipPushHelper implements AbstractPushHelper {
21
22
  SimpleDateFormat displayDateFormatAirship;
@@ -40,23 +41,38 @@ public class AirshipPushHelper implements AbstractPushHelper {
40
41
  String key;
41
42
  Class type;
42
43
  for (Map.Entry<String, Object> entry : data.entrySet()) {
43
- key = entry.getKey();
44
- keyData = entry.getValue();
45
- type = keyData.getClass();
46
- if (type.getName().equals("java.lang.Double")){
47
- type = double.class;
48
- }
49
- if (type.getName().equals("java.lang.Integer")){
50
- type = int.class;
51
- }
52
- if (type.getName().equals("java.lang.Boolean")){
53
- type = boolean.class;
44
+ try{
45
+ key = entry.getKey();
46
+ keyData = entry.getValue();
47
+ if (keyData == null){
48
+ keyData = "";
49
+ }
50
+ type = keyData.getClass();
51
+ if (type.getName().equals("java.lang.Double")){
52
+ type = double.class;
53
+ }
54
+ else if (type.getName().equals("java.lang.Integer")){
55
+ type = int.class;
56
+ }
57
+ else if (type.getName().equals("java.lang.Boolean")){
58
+ type = boolean.class;
59
+ }
60
+ else if (type.getName().equals("java.lang.Long")){
61
+ type = long.class;
62
+ }
63
+ else if (type.getName().equals("com.google.gson.internal.LinkedTreeMap")) {
64
+ type = String.class;
65
+ keyData = new Gson().toJson(keyData);
66
+ } else {
67
+ type = String.class;
68
+ keyData = keyData.toString();
69
+ }
70
+ addProp = builderClass.getMethod("addProperty", String.class, type);
71
+ addProp.invoke(builderInstance,key, keyData);
54
72
  }
55
- if (type.getName().equals("java.lang.Long")){
56
- type = long.class;
73
+ catch (Exception ex){
74
+ Log.e(TAG, ex.toString());
57
75
  }
58
- addProp = builderClass.getMethod("addProperty", String.class, type);
59
- addProp.invoke(builderInstance,key, keyData);
60
76
  }
61
77
 
62
78
  Method build = builderClass.getMethod("build");
@@ -71,7 +87,7 @@ public class AirshipPushHelper implements AbstractPushHelper {
71
87
  Method track = eventClass.getMethod("track");
72
88
  Object trackResult = track.invoke(eventInstance);
73
89
  Log.d(TAG,"event tracked");
74
- continue;
90
+ break;
75
91
  }
76
92
  catch (Exception ex) {
77
93
  Log.e(TAG, ex.toString());
@@ -31,11 +31,12 @@ public class AirshipEvents: AirshipEventsDelegate {
31
31
 
32
32
  public func regionEnterEvent(regionEvent: [String: Any], eventName: String) {
33
33
  #if canImport(AirshipKit)
34
- var result: AirshipData = AirshipData.init(eventname: eventName, properties: regionEvent)
34
+ let result: AirshipData = AirshipData.init(eventname: eventName, properties: regionEvent)
35
+
35
36
  NotificationCenter.default.post(name: .airshipEvent, object: self, userInfo: ["Airship": result])
36
37
  if(enableAirshipCallback){
37
- let event = CustomEvent(name: eventName, value: 1)
38
- event.properties = regionEvent
38
+ var event = CustomEvent(name: eventName, value: 1)
39
+ try? event.setProperties(regionEvent)
39
40
  event.track()
40
41
  }
41
42
  #else
@@ -45,11 +46,11 @@ public class AirshipEvents: AirshipEventsDelegate {
45
46
 
46
47
  public func regionExitEvent(regionEvent: [String: Any], eventName: String) {
47
48
  #if canImport(AirshipKit)
48
- var result: AirshipData = AirshipData.init(eventname: eventName, properties: regionEvent)
49
+ let result: AirshipData = AirshipData.init(eventname: eventName, properties: regionEvent)
49
50
  NotificationCenter.default.post(name: .airshipEvent, object: self, userInfo: ["Airship": result])
50
51
  if(enableAirshipCallback){
51
- let event = CustomEvent(name: eventName, value: 1)
52
- event.properties = regionEvent
52
+ var event = CustomEvent(name: eventName, value: 1)
53
+ try? event.setProperties(regionEvent)
53
54
  event.track()
54
55
  }
55
56
  #endif
@@ -57,11 +58,11 @@ public class AirshipEvents: AirshipEventsDelegate {
57
58
 
58
59
  public func visitEvent(visitEvent: [String: Any], eventName: String) {
59
60
  #if canImport(AirshipKit)
60
- var result: AirshipData = AirshipData.init(eventname: eventName, properties: visitEvent)
61
+ let result: AirshipData = AirshipData.init(eventname: eventName, properties: visitEvent)
61
62
  NotificationCenter.default.post(name: .airshipEvent, object: self, userInfo: ["Airship": result])
62
63
  if(enableAirshipCallback){
63
- let event = CustomEvent(name: eventName, value: 1)
64
- event.properties = visitEvent
64
+ var event = CustomEvent(name: eventName, value: 1)
65
+ try? event.setProperties(visitEvent)
65
66
  event.track()
66
67
  }
67
68
  #endif
@@ -69,11 +70,11 @@ public class AirshipEvents: AirshipEventsDelegate {
69
70
 
70
71
  public func poiEvent(POIEvent: [String: Any], eventName: String) {
71
72
  #if canImport(AirshipKit)
72
- var result: AirshipData = AirshipData.init(eventname: eventName, properties: POIEvent)
73
+ let result: AirshipData = AirshipData.init(eventname: eventName, properties: POIEvent)
73
74
  NotificationCenter.default.post(name: .airshipEvent, object: self, userInfo: ["Airship": result])
74
75
  if(enableAirshipCallback){
75
- let event = CustomEvent(name: eventName, value: 1)
76
- event.properties = POIEvent
76
+ var event = CustomEvent(name: eventName, value: 1)
77
+ try? event.setProperties(POIEvent)
77
78
  event.track()
78
79
  }
79
80
  #endif
@@ -81,11 +82,11 @@ public class AirshipEvents: AirshipEventsDelegate {
81
82
 
82
83
  public func ZOIclassifiedEnter(regionEvent: [String: Any], eventName: String) {
83
84
  #if canImport(AirshipKit)
84
- var result: AirshipData = AirshipData.init(eventname: eventName, properties: regionEvent)
85
+ let result: AirshipData = AirshipData.init(eventname: eventName, properties: regionEvent)
85
86
  NotificationCenter.default.post(name: .airshipEvent, object: self, userInfo: ["Airship": result])
86
87
  if(enableAirshipCallback){
87
- let event = CustomEvent(name: eventName, value: 1)
88
- event.properties = regionEvent
88
+ var event = CustomEvent(name: eventName, value: 1)
89
+ try? event.setProperties(regionEvent)
89
90
  event.track()
90
91
  }
91
92
  #endif
@@ -93,11 +94,11 @@ public class AirshipEvents: AirshipEventsDelegate {
93
94
 
94
95
  public func ZOIclassifiedExit(regionEvent: [String: Any], eventName: String) {
95
96
  #if canImport(AirshipKit)
96
- var result: AirshipData = AirshipData.init(eventname: eventName, properties: regionEvent)
97
+ let result: AirshipData = AirshipData.init(eventname: eventName, properties: regionEvent)
97
98
  NotificationCenter.default.post(name: .airshipEvent, object: self, userInfo: ["Airship": result])
98
99
  if(enableAirshipCallback){
99
- let event = CustomEvent(name: eventName, value: 1)
100
- event.properties = regionEvent
100
+ var event = CustomEvent(name: eventName, value: 1)
101
+ try? event.setProperties(regionEvent)
101
102
  event.track()
102
103
  }
103
104
  #endif
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@woosmap/react-native-plugin-geofencing",
3
- "version": "0.12.2",
3
+ "version": "0.13.0",
4
4
  "description": "This react-native plugin extends the functionality offered by the Woosmap Geofencing Mobile SDKs. Find more about the Woosmap Geofencing SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -59,6 +59,7 @@ Pod::Spec.new do |s|
59
59
  spec.dependency "WoosmapGeofencing"
60
60
  end
61
61
  s.subspec "Airship" do |spec|
62
+ spec.platforms = { :ios => "16.0" }
62
63
  spec.dependency "AirshipFrameworkProxy"
63
64
  end
64
65
  end