mapp-intelligence-reactnative-plugin 1.1.0 → 1.1.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 (127) hide show
  1. package/android/build.gradle +19 -8
  2. package/android/gradle.properties +2 -2
  3. package/android/settings.gradle +24 -0
  4. package/android/specs/MappinteligencePluginSpec.js +8 -0
  5. package/android/src/main/AndroidManifest.xml +3 -1
  6. package/android/src/main/java/com/mappinteligenceplugin/MappinteligencePluginModule.kt +291 -262
  7. package/android/src/main/java/com/mappinteligenceplugin/MappinteligencePluginPackage.kt +18 -7
  8. package/android/src/main/java/com/mappinteligenceplugin/MappintelligencePluginSpec.kt +59 -0
  9. package/ios/Frameworks/MappIntelligenceiOS.xcframework/Info.plist +48 -0
  10. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIActionEvent.h +33 -0
  11. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MICampaignParameters.h +32 -0
  12. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIDefaultTracker.h +49 -0
  13. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIEcommerceParameters.h +52 -0
  14. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIEventParameters.h +23 -0
  15. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIFormField.h +28 -0
  16. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIFormParameters.h +48 -0
  17. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIFormSubmitEvent.h +22 -0
  18. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIMediaEvent.h +30 -0
  19. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIMediaParameters.h +31 -0
  20. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIPageParameters.h +27 -0
  21. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIPageViewEvent.h +34 -0
  22. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIParamType.h +28 -0
  23. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIParams.h +28 -0
  24. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIProduct.h +28 -0
  25. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIProperties.h +49 -0
  26. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MISessionParameters.h +20 -0
  27. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MITrackerRequest.h +39 -0
  28. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MITrackingEvent.h +23 -0
  29. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIUsageStatistics.h +32 -0
  30. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MIUserCategories.h +49 -0
  31. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MappIntelligence.h +260 -0
  32. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceSDK/MappIntelligenceSDK.h +9 -0
  33. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIActionEvent.h +33 -0
  34. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MICampaignParameters.h +32 -0
  35. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIDefaultTracker.h +49 -0
  36. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIEcommerceParameters.h +52 -0
  37. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIEventParameters.h +23 -0
  38. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIFormField.h +28 -0
  39. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIFormParameters.h +48 -0
  40. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIFormSubmitEvent.h +22 -0
  41. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIMediaEvent.h +30 -0
  42. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIMediaParameters.h +31 -0
  43. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIPageParameters.h +27 -0
  44. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIPageViewEvent.h +34 -0
  45. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIParamType.h +28 -0
  46. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIParams.h +28 -0
  47. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIProduct.h +28 -0
  48. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MISessionParameters.h +20 -0
  49. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MITrackingEvent.h +23 -0
  50. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIUsageStatistics.h +32 -0
  51. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIUserCategories.h +49 -0
  52. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MIWebViewTracker.h +21 -0
  53. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MappIntelligence.h +260 -0
  54. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MappIntelligenceLogger.h +47 -0
  55. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/Headers/MappIntelligenceiOS/MappIntelligenceiOS.h +13 -0
  56. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64/libMappIntelligenceiOS.a +0 -0
  57. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIActionEvent.h +33 -0
  58. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MICampaignParameters.h +32 -0
  59. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIDefaultTracker.h +49 -0
  60. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIEcommerceParameters.h +52 -0
  61. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIEventParameters.h +23 -0
  62. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIFormField.h +28 -0
  63. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIFormParameters.h +48 -0
  64. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIFormSubmitEvent.h +22 -0
  65. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIMediaEvent.h +30 -0
  66. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIMediaParameters.h +31 -0
  67. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIPageParameters.h +27 -0
  68. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIPageViewEvent.h +34 -0
  69. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIParamType.h +28 -0
  70. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIParams.h +28 -0
  71. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIProduct.h +28 -0
  72. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIProperties.h +49 -0
  73. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MISessionParameters.h +20 -0
  74. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MITrackerRequest.h +39 -0
  75. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MITrackingEvent.h +23 -0
  76. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIUsageStatistics.h +32 -0
  77. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MIUserCategories.h +49 -0
  78. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MappIntelligence.h +260 -0
  79. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceSDK/MappIntelligenceSDK.h +9 -0
  80. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIActionEvent.h +33 -0
  81. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MICampaignParameters.h +32 -0
  82. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIDefaultTracker.h +49 -0
  83. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIEcommerceParameters.h +52 -0
  84. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIEventParameters.h +23 -0
  85. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIFormField.h +28 -0
  86. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIFormParameters.h +48 -0
  87. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIFormSubmitEvent.h +22 -0
  88. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIMediaEvent.h +30 -0
  89. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIMediaParameters.h +31 -0
  90. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIPageParameters.h +27 -0
  91. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIPageViewEvent.h +34 -0
  92. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIParamType.h +28 -0
  93. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIParams.h +28 -0
  94. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIProduct.h +28 -0
  95. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MISessionParameters.h +20 -0
  96. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MITrackingEvent.h +23 -0
  97. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIUsageStatistics.h +32 -0
  98. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIUserCategories.h +49 -0
  99. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MIWebViewTracker.h +21 -0
  100. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MappIntelligence.h +260 -0
  101. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MappIntelligenceLogger.h +47 -0
  102. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/Headers/MappIntelligenceiOS/MappIntelligenceiOS.h +13 -0
  103. package/ios/Frameworks/MappIntelligenceiOS.xcframework/ios-arm64_x86_64-simulator/libMappIntelligenceiOS.a +0 -0
  104. package/lib/module/GlobalErrorHandler.js +6 -11
  105. package/lib/module/GlobalErrorHandler.js.map +1 -1
  106. package/lib/module/MappIntelligencePlugin.js +6 -2
  107. package/lib/module/MappIntelligencePlugin.js.map +1 -1
  108. package/lib/module/NativeMappintelligencePlugin.js +5 -0
  109. package/lib/module/NativeMappintelligencePlugin.js.map +1 -0
  110. package/lib/module/UseWebTracking.js +20 -20
  111. package/lib/module/UseWebTracking.js.map +1 -1
  112. package/lib/module/promiseRejectionHandler.js +4 -9
  113. package/lib/module/promiseRejectionHandler.js.map +1 -1
  114. package/lib/typescript/src/GlobalErrorHandler.d.ts.map +1 -1
  115. package/lib/typescript/src/MappIntelligencePlugin.d.ts.map +1 -1
  116. package/lib/typescript/src/NativeMappintelligencePlugin.d.ts +39 -0
  117. package/lib/typescript/src/NativeMappintelligencePlugin.d.ts.map +1 -0
  118. package/lib/typescript/src/UseWebTracking.d.ts +1 -1
  119. package/lib/typescript/src/UseWebTracking.d.ts.map +1 -1
  120. package/lib/typescript/src/promiseRejectionHandler.d.ts.map +1 -1
  121. package/mapp-intelligence-reactnative-plugin.podspec +4 -1
  122. package/package.json +20 -41
  123. package/src/GlobalErrorHandler.tsx +7 -12
  124. package/src/MappIntelligencePlugin.tsx +16 -11
  125. package/src/NativeMappintelligencePlugin.ts +55 -0
  126. package/src/UseWebTracking.tsx +29 -27
  127. package/src/promiseRejectionHandler.tsx +5 -10
@@ -0,0 +1,27 @@
1
+ //
2
+ // MIPageParameters.h
3
+ // MappIntelligenceSDK
4
+ //
5
+ // Created by Stefan Stevanovic on 17/07/2020.
6
+ // Copyright © 2020 Mapp Digital US, LLC. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ @interface MIPageParameters : NSObject
14
+
15
+ @property (nullable) NSString* internalSearch;
16
+ @property (nullable) NSDictionary<NSNumber* ,NSString*> *details;
17
+ @property (nullable) NSMutableDictionary* groups;
18
+
19
+ -(instancetype)initWithPageParams: (NSDictionary<NSNumber* ,NSString*>* _Nullable) parameters pageCategory: (NSMutableDictionary* _Nullable) category search: (NSString* _Nullable)internalSearch;
20
+
21
+ - (instancetype)initWithDictionary:(NSDictionary*)dictionary;
22
+
23
+ -(NSMutableArray<NSURLQueryItem*>*)asQueryItems;
24
+
25
+ @end
26
+
27
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,34 @@
1
+
2
+
3
+ //
4
+ // MIPageViewEvent.h
5
+ // MappIntelligenceSDK
6
+ //
7
+ // Created by Stefan Stevanovic on 3/6/20.
8
+ // Copyright © 2020 Mapp Digital US, LLC. All rights reserved.
9
+ //
10
+
11
+ #import <Foundation/Foundation.h>
12
+ #import "MIPageParameters.h"
13
+ #import "MITrackingEvent.h"
14
+ #import "MISessionParameters.h"
15
+ #import "MIUserCategories.h"
16
+ #import "MIEcommerceParameters.h"
17
+ #import "MICampaignParameters.h"
18
+
19
+ NS_ASSUME_NONNULL_BEGIN
20
+
21
+ @interface MIPageViewEvent : MITrackingEvent
22
+
23
+ @property (nonatomic, nonnull) MIPageParameters* pageParameters;
24
+ @property (nonatomic, nullable) MISessionParameters *sessionParameters;
25
+ @property (nonatomic, nullable) MIUserCategories *userCategories;
26
+ @property (nonatomic, nullable) MIEcommerceParameters *ecommerceParameters;
27
+ @property (nonatomic, nullable) MICampaignParameters *campaignParameters;
28
+
29
+ - (instancetype)initWithName:(NSString *)name;
30
+
31
+ @end
32
+
33
+ NS_ASSUME_NONNULL_END
34
+
@@ -0,0 +1,28 @@
1
+ //
2
+ // MIParamType.h
3
+ // MappIntelligenceSDK
4
+ //
5
+ // Created by Miroljub Stoilkovic on 17/12/2020.
6
+ // Copyright © 2020 Mapp Digital US, LLC. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ @interface MIParamType : NSObject
14
+
15
+ +(NSString *)pageParam;
16
+ +(NSString *)pageCategory;
17
+ +(NSString *)ecommerceParam;
18
+ +(NSString *)productCategory;
19
+ +(NSString *)eventParam;
20
+ +(NSString *)campaignParam;
21
+ +(NSString *)sessionParam;
22
+ +(NSString *)urmCategory;
23
+
24
+ +(NSString *) createCustomParam:(NSString *) type value: (NSInteger) value;
25
+
26
+ @end
27
+
28
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,28 @@
1
+ //
2
+ // MIParams.h
3
+ // MappIntelligenceSDK
4
+ //
5
+ // Created by Miroljub Stoilkovic on 17/12/2020.
6
+ // Copyright © 2020 Mapp Digital US, LLC. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ @interface MIParams : NSObject
14
+
15
+ +(NSString *)internalSearch;
16
+ +(NSString *)mediaCode;
17
+ +(NSString *)customerId;
18
+ +(NSString *)productName;
19
+ +(NSString *)productCost;
20
+ +(NSString *)productCurrency;
21
+ +(NSString *)productQuantity;
22
+ +(NSString *)statusOfShoppingCard;
23
+ +(NSString *)orderId;
24
+ +(NSString *)orderValue;
25
+
26
+ @end
27
+
28
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,28 @@
1
+ //
2
+ // Product.h
3
+ // MappIntelligenceSDK
4
+ //
5
+ // Created by Stefan Stevanovic on 26/10/2020.
6
+ // Copyright © 2020 Mapp Digital US, LLC. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ @interface MIProduct : NSObject
14
+
15
+ @property (nonatomic, nullable) NSString* name;
16
+ @property (nonatomic, nullable) NSNumber* cost;
17
+ @property (nonatomic, nullable) NSNumber* quantity;
18
+ @property (nullable) NSNumber* productAdvertiseID;
19
+ @property (nullable) NSNumber* productSoldOut;
20
+ @property (nullable) NSString* productVariant;
21
+
22
+ @property (nullable) NSDictionary<NSNumber* ,NSString*>* categories;
23
+ @property (nullable) NSDictionary<NSNumber* ,NSString*>* ecommerceParameters;
24
+
25
+ - (instancetype)initWithDictionary:(NSDictionary*)dictionary;
26
+ @end
27
+
28
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,49 @@
1
+ //
2
+ // MIProperties.h
3
+ // MappIntelligenceSDK
4
+ //
5
+ // Created by Stefan Stevanovic on 2/12/20.
6
+ // Copyright © 2020 Mapp Digital US, LLC. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ #import <UIKit/UIKit.h>
11
+
12
+ NS_ASSUME_NONNULL_BEGIN
13
+
14
+ typedef NS_ENUM(NSInteger, ConnectionType) {
15
+ cellular_2G = 0,
16
+ cellular_3G = 1,
17
+ cellular_4G = 2,
18
+ offline = 3,
19
+ other = 4,
20
+ wifi = 5
21
+ };
22
+
23
+ @interface MIProperties : NSObject
24
+
25
+ @property NSUUID *advertisingId;
26
+ @property BOOL advertisingTrackingEnabled;
27
+ @property ConnectionType connectionType;
28
+ @property NSString *everId;
29
+ @property BOOL isFirstEventAfterAppUpdate;
30
+ @property BOOL isFirstEventOfApp;
31
+ @property BOOL isFirstEventOfSession;
32
+ @property NSLocale *locale;
33
+ @property NSInteger requestQueueSize;
34
+ @property NSObject *screenSize;
35
+ @property NSInteger samplingRate;
36
+ @property NSTimeZone *timeZone;
37
+ @property NSDate *timestamp;
38
+ @property NSString *userAgent;
39
+ @property NSInteger adClearId;
40
+ @property UIInterfaceOrientation *interfaceOrientation;
41
+
42
+ - (instancetype)initWithEverID:(NSString *)eid
43
+ andSamplingRate:(NSInteger)rate
44
+ withTimeZone:(NSTimeZone *)zone
45
+ withTimestamp:(NSDate *)stamp
46
+ withUserAgent:(NSString *)agent;
47
+ @end
48
+
49
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,20 @@
1
+ //
2
+ // MISessionProperties.h
3
+ // MappIntelligenceSDK
4
+ //
5
+ // Created by Miroljub Stoilkovic on 11/09/2020.
6
+ // Copyright © 2020 Mapp Digital US, LLC. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ @interface MISessionParameters : NSObject
14
+ @property (nullable) NSDictionary<NSNumber* ,NSString*>* parameters;
15
+ -(instancetype)initWithParameters: (NSDictionary<NSNumber* ,NSString*>* _Nullable) parameters;
16
+ - (instancetype)initWithDictionary:(NSDictionary*)dictionary;
17
+ -(NSMutableArray<NSURLQueryItem*>*)asQueryItems;
18
+ @end
19
+
20
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,39 @@
1
+ //
2
+ // TrackerRequest.h
3
+ // MappIntelligenceSDK
4
+ //
5
+ // Created by Stefan Stevanovic on 2/12/20.
6
+ // Copyright © 2020 Mapp Digital US, LLC. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ #import "MITrackingEvent.h"
11
+ #import "MIProperties.h"
12
+
13
+ NS_ASSUME_NONNULL_BEGIN
14
+
15
+ @interface MITrackerRequest : NSObject <NSURLSessionDataDelegate>
16
+
17
+ /**
18
+ MappIntelligence instance
19
+ @brief Method to get a singleton instance of MITrackerReques
20
+ @code
21
+ let MITrackerRequestSingleton = MITrackerRequest.shared()
22
+ @endcode
23
+ @return MappIntelligence an Instance Type of MITrackerRequest.
24
+ */
25
+ + (nullable instancetype)shared;
26
+
27
+ @property MITrackingEvent *event;
28
+ @property MIProperties *properties;
29
+
30
+ - (instancetype)initWithEvent:(MITrackingEvent *)event
31
+ andWithProperties:(MIProperties *)properties;
32
+ - (void)sendRequestWith:(NSURL *)url
33
+ andCompletition:(void (^)(NSError *error))handler;
34
+ - (void)sendRequestWith:(NSURL *)url andBody:(NSString*)body andCompletition:(void (^)(NSError *error))handler;
35
+ - (void)sendBackgroundRequestWith:(NSURL *)url andBody:(NSString*)body;
36
+
37
+ @end
38
+
39
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,23 @@
1
+ //
2
+ // TrackingEvent.h
3
+ // MappIntelligenceSDK
4
+ //
5
+ // Created by Stefan Stevanovic on 3/5/20.
6
+ // Copyright © 2020 Mapp Digital US, LLC. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ @interface MITrackingEvent : NSObject
14
+
15
+ @property NSString *pageName;
16
+ @property NSDictionary *variables;
17
+ @property NSObject *viewControllerType;
18
+
19
+ @property NSDictionary<NSString *,NSString *> *trackingParams;
20
+
21
+ @end
22
+
23
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,32 @@
1
+ //
2
+ // MIUsageStatistics.h
3
+ // MappIntelligenceSDK
4
+ //
5
+ // Created by Stefan Stevanovic on 21.6.23..
6
+ // Copyright © 2023 Mapp Digital US, LLC. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ @interface MIUsageStatistics : NSObject
14
+
15
+ @property (nonnull) NSNumber* activityAutoTracking;
16
+ @property (nonnull) NSNumber* fragmentsAutoTracking;
17
+ @property (nonatomic, nonnull) NSNumber* autoTracking;
18
+ @property (nonatomic, nonnull) NSNumber* backgroundSendout;
19
+ @property (nonatomic, nonnull) NSNumber* userMatching;
20
+ @property (nonatomic, nonnull) NSNumber* webview;
21
+ @property (nonatomic, nonnull) NSNumber* setEverId;
22
+ @property (nonatomic, nonnull) NSNumber* appVersionInEveryRequest;
23
+ @property (nonatomic, nonnull) NSNumber* crashTracking;
24
+ @property (nonatomic, nonnull) NSNumber* batchSupport;
25
+
26
+ - (void)printUserStatistics;
27
+ /// returns value which will be sent to server
28
+ - (NSString*)getUserStatisticsValue;
29
+ - (void)reset;
30
+ @end
31
+
32
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,49 @@
1
+ //
2
+ // MIUserCategories.h
3
+ // MappIntelligenceSDK
4
+ //
5
+ // Created by Miroljub Stoilkovic on 20/10/2020.
6
+ // Copyright © 2020 Mapp Digital US, LLC. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ typedef struct MIBirthday {
14
+ int day;
15
+ int month;
16
+ int year;
17
+ } MIBirthday;
18
+
19
+ typedef NS_ENUM(NSInteger, MIGender) {
20
+ unknown = 1,
21
+ male = 2,
22
+ female = 3
23
+ };
24
+
25
+ @interface MIUserCategories : NSObject
26
+
27
+ @property MIBirthday birthday;
28
+ @property (nullable) NSString *city;
29
+ @property (nullable) NSString *country;
30
+ @property (nullable) NSString *emailAddress;
31
+ @property (nonatomic, nullable) NSString *emailReceiverId;
32
+ @property (nullable) NSString *firstName;
33
+ @property MIGender gender;
34
+ @property (nullable) NSString *customerId;
35
+ @property (nullable) NSString *lastName;
36
+ @property BOOL newsletterSubscribed;
37
+ @property (nullable) NSString *phoneNumber;
38
+ @property (nullable) NSString *street;
39
+ @property (nullable) NSString *streetNumber;
40
+ @property (nullable) NSString *zipCode;
41
+ @property (nullable) NSDictionary<NSNumber* ,NSString*>* customCategories;
42
+
43
+ - (instancetype)initWithCustomProperties: (NSDictionary<NSNumber* ,NSString*>* _Nullable) properties;
44
+ - (instancetype)initWithDictionary:(NSDictionary*)dictionary;
45
+ - (NSMutableArray<NSURLQueryItem*>*)asQueryItems;
46
+
47
+ @end
48
+
49
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,260 @@
1
+ //
2
+ // Webrekk.h
3
+ // Webrekk
4
+ //
5
+ // Created by Stefan Stevanovic on 1/3/20.
6
+ // Copyright © 2020 Mapp Digital US, LLC. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ #import <UIKit/UIKit.h>
11
+ #import "MIPageViewEvent.h"
12
+ #import "MIActionEvent.h"
13
+ #import "MIParams.h"
14
+ #import "MIParamType.h"
15
+ #import "MIMediaEvent.h"
16
+ #import "MIFormSubmitEvent.h"
17
+
18
+
19
+ @class MappIntelligence;
20
+
21
+ typedef NS_ENUM(NSInteger, logLevel) {
22
+ all = 1, // All logs of the above.
23
+ debug = 2, // The lowest priority that you would normally log, and purely
24
+ // informational in nature.
25
+ warning = 3, // Something is missing and might fail if not corrected
26
+ error = 4, // Something has failed.
27
+ fault = 5, // A failure in a key system.
28
+ info = 6, // Informational logs for updating configuration or migrating from
29
+ // older versions of the library.
30
+ none = 7 // None of the logs.
31
+ };
32
+
33
+ typedef NS_ENUM(NSInteger, exceptionType) {
34
+ noneOfExceptionTypes = 1,
35
+ uncaught = 2,
36
+ caught = 3,
37
+ custom = 4,
38
+ allExceptionTypes = 5,
39
+ uncaught_and_custom = 6,
40
+ uncaught_and_caught = 7,
41
+ custom_and_caught = 8
42
+ };
43
+
44
+ @interface MappIntelligence : NSObject {
45
+ }
46
+
47
+ @property (nonatomic, readwrite) NSTimeInterval requestInterval;
48
+ @property (nonatomic, readwrite) logLevel logLevel;
49
+ @property (nonatomic, readwrite) BOOL batchSupportEnabled;
50
+ @property (nonatomic, readwrite) BOOL enableBackgroundSendout;
51
+ @property (nonatomic, readwrite) NSInteger batchSupportSize;
52
+ @property (nonatomic, readwrite) NSInteger requestPerQueue;
53
+ @property (nonatomic, readwrite) BOOL shouldMigrate;
54
+ @property (nonatomic, readwrite) BOOL anonymousTracking;
55
+ @property (nonatomic, readwrite) BOOL sendAppVersionInEveryRequest;
56
+
57
+ /// This options helps you to unifiy user from Mapp Intelligence SDK and Mapp Engage SDK if you are using both of them
58
+ @property (nonatomic, readwrite) BOOL enableUserMatching;
59
+
60
+ /**
61
+ MappIntelligence instance
62
+ @brief Method to get a singleton instance of MappIntelligence
63
+ @code
64
+ let mappInteligenceSingleton = MappIntelligence.shared()
65
+ @endcode
66
+ @return MappIntelligence an Instance Type of MappIntelligence.
67
+ */
68
+ + (nullable instancetype)shared;
69
+ + (NSString *_Nonnull)version;
70
+ + (NSString *_Nonnull)getUrl;
71
+ + (NSString *_Nonnull)getId;
72
+
73
+
74
+ /// Method to set temporary session id, if anonimous tracking is turn on.
75
+ /// @param ID tempraryID which is wont to be set
76
+ - (void)setTemporarySessionId: (NSString*_Nonnull)ID;
77
+ /**
78
+ @brief Method to collect the name of the current UIViewController and track additional page information.
79
+ @param controller - current ui view controller.
80
+ @param event - page view event that can contain properties for page, session, ecommerce, action, advertisement and user
81
+ @code
82
+
83
+ @endcode
84
+ @return Error in case of a failure. Returns nil if no error was detected.
85
+ */
86
+ - (NSError *_Nullable)trackPageWithViewController:(UIViewController *_Nonnull)controller pageViewEvent:(MIPageViewEvent*_Nullable) event;
87
+
88
+
89
+ /**
90
+ @brief Method which will track page event
91
+ @param event - page view event
92
+ @code
93
+ let event = MIActionEvent(name: "TestAction")
94
+ MappIntelligence.shared()?.trackEvent(event);
95
+ @endcode
96
+ @return the error which may happen through process of tracking, if returns nil there is no error.
97
+ */
98
+ - (NSError *_Nullable) trackPage:(MIPageViewEvent *_Nonnull) event;
99
+
100
+ /**
101
+ @brief Method which will track action event
102
+ @param event - action event
103
+ @code
104
+ let event = MIActionEvent(name: "TestAction")
105
+ MappIntelligence.shared()?.trackAction(event);
106
+ @endcode
107
+ @return the error which may happen through process of tracking, if returns nil there is no error.
108
+ */
109
+ - (NSError *_Nullable) trackAction:(MIActionEvent *_Nonnull) event;
110
+
111
+ /**
112
+ @brief Method which will track media event
113
+ @param event - media event
114
+ @code
115
+ let mediaProperties = MIMediaParameters("TestVideo", action: "view", postion: 12, duration: 120)
116
+ let mediaEvent = MIMediaEvent(pageName: "Test", parameters: mediaProperties)
117
+ MappIntelligence.shared()?.trackMedia(mediaEvent)
118
+ @endcode
119
+ @return the error which may happen through process of tracking, if returns nil there is no error.
120
+ */
121
+ - (NSError *_Nullable) trackMedia:(MIMediaEvent *_Nonnull) event;
122
+
123
+
124
+ /**
125
+ @brief Method which will track campaign parameters from url
126
+ @param url - url object with campaign parameters
127
+ @param mediaCode - custom media code, if nil "wt_mc" is used as default
128
+ @code
129
+ MappIntelligence.shared()?.trackUrl(userActivity.webpageURL, withMediaCode: nil)
130
+ @endcode
131
+ @return the error which may happen through process of tracking, if returns nil there is no error.
132
+ */
133
+ - (NSError *_Nullable) trackUrl:(NSURL *_Nullable) url withMediaCode:(NSString *_Nullable) mediaCode;
134
+
135
+ /**
136
+ @brief Method which will track exception with name
137
+ @param name - custom name of excetpion which we want to track
138
+ @param message - approrpiate message for that exception
139
+ @code
140
+ MappIntelligence.shared()?.trackException(withName: "test name of exeption", andWithMessage: "this is common exception when you are trying to get data")
141
+ @endcode
142
+ @return the error which may happen through process of tracking, if returns nil there is no error.
143
+ */
144
+ - (NSError *_Nullable) trackExceptionWithName:(NSString *_Nonnull) name andWithMessage:(NSString *_Nonnull) message;
145
+
146
+ /**
147
+ @brief Method which will track campaign parameters from url
148
+ @param error - which describes exception
149
+ @code
150
+ MappIntelligence.shared()?.trackException(with: error)
151
+ @endcode
152
+ @return the error which may happen through process of tracking, if returns nil there is no error.
153
+ */
154
+ - (NSError *_Nullable) trackExceptionWith:(NSError *_Nonnull) error;
155
+
156
+ /**
157
+ @brief Method to initialize tracking. Please specify your track domain and trackID.
158
+ @param trackIDs - Array of your trackIDs. The information can be provided by your account manager.
159
+ @param trackDomain - String value of your track domain. The information can be provided by your account manager.
160
+ @code
161
+ MappIntelligence.shared()?.initWithConfiguration([12345678, 8783291721], onTrackdomain: "www.mappIntelligence-trackDomain.com")
162
+ @endcode
163
+ */
164
+ - (void)initWithConfiguration:(NSArray *_Nonnull)trackIDs
165
+ onTrackdomain:(NSString *_Nonnull)trackDomain;
166
+
167
+ /**
168
+ @brief Method to change current trackIDs and domain at runtime of application.
169
+ @param trackIDs - Array of your trackIDs. The information can be provided by your account manager.
170
+ @param trackDomain - String value of your track domain. The information can be provided by your account manager.
171
+ @code
172
+ MappIntelligence.shared()?.setIdsAndDomain([12345678, 8783291721], onTrackdomain: "www.mappIntelligence-trackDomain.com")
173
+ @endcode
174
+ */
175
+ - (void)setIdsAndDomain:(NSArray *_Nonnull)trackIDs
176
+ onTrackdomain:(NSString *_Nonnull)trackDomain;
177
+
178
+ /**
179
+ @brief Method to initialize tracking. Please specify your track domain and trackID.
180
+ @param trackIDs - Array of your trackIDs. The information can be provided by your account manager.
181
+ @param trackDomain - String value of your track domain. The information can be provided by your account manager.
182
+ @param everID - Strings which represent ever ID, this method is commonly used when customer redirects user from web app to the mobile so it can keep the same session.
183
+ @code
184
+ MappIntelligence.shared()?.initWithConfiguration([12345678, 8783291721], onTrackdomain: "www.mappIntelligence-trackDomain.com", andWithEverID: "537363826253")
185
+ @endcode
186
+ */
187
+ - (void)initWithConfiguration:(NSArray *_Nonnull)trackIDs
188
+ onTrackdomain:(NSString *_Nonnull)trackDomain andWithEverID: (NSString *_Nonnull) everID;
189
+ /**
190
+ @brief Method to reset the MappIntelligence singleton. This method will set the default empty values for trackID and track domain. Please ensure to provide new trackIDs and track domain.
191
+ @code
192
+ MappIntelligence.shared()?.reset()
193
+ @endcode
194
+ */
195
+ - (void)reset;
196
+
197
+ /**
198
+ @brief Method to opt-in for tracking. This enables tracking.
199
+ @code
200
+ MappIntelligence.shared()?.optIn()
201
+ @endcode
202
+ */
203
+ -(void) optIn;
204
+
205
+
206
+ /**
207
+ @brief Method to opt-out of tracking. In case of opt-out, no data will be sent to Mapp Intelligence anymore.
208
+ @param value - If set to true, all track requests currently stored in the database will be sent to MappIntelligence. If set to false, opt-out of tracking will be executed immediately and remaining data in the database will be lost.
209
+ @code
210
+ MappIntelligence.shared()?.optOut(with: false, andSendCurrentData: false)
211
+ @endcode
212
+ */
213
+ - (void)optOutAndSendCurrentData:(BOOL) value;
214
+
215
+ //testable methods
216
+ - (void) printAllRequestFromDatabase;
217
+ - (void) removeRequestFromDatabaseWithID: (int)ID;
218
+
219
+ /**
220
+ @brief Method to opt-out of tracking. In case of opt-out, no data will be sent to Mapp Intelligence anymore.
221
+ @param pageName - name of page/view being tracked
222
+ @param trackingParams - dictionary with key/value pairs of parameters that are bveing tracked
223
+ @return the error which may happen through process of tracking, if returns nil there is no error.
224
+ */
225
+ - (NSError *_Nullable) trackCustomPage: (NSString *_Nonnull)pageName trackingParams: (NSDictionary<NSString *, NSString*> *_Nullable) trackingParams;
226
+
227
+ /**
228
+ @brief Method which will track action event
229
+ @param eventName - name of action event
230
+ @param trackingParams - dictionary with key/value pairs of parameters that are bveing tracked
231
+ @return the error which may happen through process of tracking, if returns nil there is no error.
232
+ */
233
+ - (NSError *_Nullable) trackCustomEvent: (NSString *_Nonnull)eventName trackingParams: (NSDictionary<NSString *, NSString*> *_Nullable) trackingParams;
234
+
235
+ /**
236
+ @brief Method which will track form submit/cancel
237
+ @param formParams - form parameters that are bveing tracked
238
+ @return the error which may happen through process of tracking, if returns nil there is no error.
239
+ */
240
+ - (NSError *_Nullable) formTracking: (MIFormParameters *_Nonnull) formParams;
241
+
242
+ /**
243
+ @brief Method which will enable anonymous tracking and omit submitted parameters/tags array. Please note that using this option will negatively affect data quality.
244
+ @param suppressParams - array list of parameters to ignore during anonimous tracking
245
+ */
246
+ - (void) enableAnonymousTracking:(NSArray<NSString *> *_Nullable) suppressParams;
247
+
248
+ /**
249
+ @brief Method which will enable crash tracking with given exception level
250
+ @param exceptionLogLevel - parameter which represent the excetpion types which can be logged
251
+ */
252
+ - (void) enableCrashTracking:(exceptionType) exceptionLogLevel;
253
+
254
+ /**
255
+ @brief Method which will return ever ID
256
+ @return The string which represent ever ID
257
+ */
258
+ - (NSString*_Nonnull) getEverId;
259
+
260
+ @end
@@ -0,0 +1,9 @@
1
+ //
2
+ // MappIntelligenceSDK.h
3
+ // MappIntelligenceSDK
4
+ //
5
+ // Created by Stefan Stevanovic on 22/07/2020.
6
+ // Copyright © 2020 Mapp Digital US, LLC. All rights reserved.
7
+ //
8
+
9
+ #import "MappIntelligence.h"
@@ -0,0 +1,33 @@
1
+ //
2
+ // MIActionEvent.h
3
+ // MappIntelligenceSDK
4
+ //
5
+ // Created by Miroljub Stoilkovic on 08/09/2020.
6
+ // Copyright © 2020 Mapp Digital US, LLC. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ #import "MITrackingEvent.h"
11
+ #import "MIPageParameters.h"
12
+ #import "MIEventParameters.h"
13
+ #import "MISessionParameters.h"
14
+ #import "MIUserCategories.h"
15
+ #import "MIEcommerceParameters.h"
16
+ #import "MICampaignParameters.h"
17
+
18
+ NS_ASSUME_NONNULL_BEGIN
19
+
20
+ @interface MIActionEvent : MITrackingEvent
21
+ @property (nonnull) NSString* name;
22
+ @property (nonatomic, nonnull) MIEventParameters* eventParameters;
23
+ @property (nonatomic, nullable) MISessionParameters *sessionParameters;
24
+ @property (nonatomic, nullable) MIUserCategories *userCategories;
25
+ @property (nonatomic, nullable) MIEcommerceParameters *ecommerceParameters;
26
+ @property (nonatomic, nullable) MICampaignParameters *campaignParameters;
27
+
28
+ - (instancetype)init NS_UNAVAILABLE;
29
+ - (instancetype)initWithName:(NSString *)name;
30
+ - (NSMutableArray<NSURLQueryItem*>*)asQueryItems;
31
+ @end
32
+
33
+ NS_ASSUME_NONNULL_END