@selligent-marketing-cloud/selligent-react-native 2.4.0 → 2.8.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.
Files changed (127) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +354 -245
  3. package/RNSelligent.podspec +4 -4
  4. package/android/build/generated/source/buildConfig/debug/com/selligent/BuildConfig.java +12 -0
  5. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +9 -0
  6. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +16 -0
  7. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +2 -0
  8. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +1 -0
  9. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  10. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  11. package/android/build/intermediates/compile_symbol_list/debug/R.txt +6408 -0
  12. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  13. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  14. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  15. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +1 -0
  16. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +2 -0
  17. package/android/build/intermediates/javac/debug/classes/com/selligent/BroadcastDataFactory$1.class +0 -0
  18. package/android/build/intermediates/javac/debug/classes/com/selligent/BroadcastDataFactory.class +0 -0
  19. package/android/build/intermediates/javac/debug/classes/com/selligent/BroadcastEventDataParser.class +0 -0
  20. package/android/build/intermediates/javac/debug/classes/com/selligent/BroadcastEventType.class +0 -0
  21. package/android/build/intermediates/javac/debug/classes/com/selligent/BuildConfig.class +0 -0
  22. package/android/build/intermediates/javac/debug/classes/com/selligent/ButtonBroadcastEventDataParser.class +0 -0
  23. package/android/build/intermediates/javac/debug/classes/com/selligent/ClearCacheIntervalValue.class +0 -0
  24. package/android/build/intermediates/javac/debug/classes/com/selligent/Event.class +0 -0
  25. package/android/build/intermediates/javac/debug/classes/com/selligent/EventReceiver.class +0 -0
  26. package/android/build/intermediates/javac/debug/classes/com/selligent/EventType.class +0 -0
  27. package/android/build/intermediates/javac/debug/classes/com/selligent/GCMTokenBroadcastEventDataParser.class +0 -0
  28. package/android/build/intermediates/javac/debug/classes/com/selligent/InAppMessageBroadcastEventDataParser.class +0 -0
  29. package/android/build/intermediates/javac/debug/classes/com/selligent/InAppMessageRefreshType.class +0 -0
  30. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$1.class +0 -0
  31. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$2.class +0 -0
  32. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$3.class +0 -0
  33. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$4.class +0 -0
  34. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$5.class +0 -0
  35. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent.class +0 -0
  36. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligentPackage.class +0 -0
  37. package/android/build/intermediates/javac/debug/classes/com/selligent/RemoteMessageDisplayType.class +0 -0
  38. package/android/build/intermediates/javac/debug/classes/com/selligent/SMEventFactory$1.class +0 -0
  39. package/android/build/intermediates/javac/debug/classes/com/selligent/SMEventFactory.class +0 -0
  40. package/android/build/intermediates/javac/debug/classes/com/selligent/SMSettingsFactory.class +0 -0
  41. package/android/build/intermediates/javac/debug/classes/com/selligent/Settings.class +0 -0
  42. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +2 -0
  43. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +11 -0
  44. package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +9 -0
  45. package/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
  46. package/android/build/intermediates/packaged_manifests/debug/output-metadata.json +16 -0
  47. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  48. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +4798 -0
  49. package/android/build/outputs/logs/manifest-merger-debug-report.txt +25 -0
  50. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  51. package/android/build/tmp/compileDebugJavaWithJavac/source-classes-mapping.txt +43 -0
  52. package/android/build.gradle +38 -32
  53. package/android/libs/sdk-release.aar +0 -0
  54. package/android/src/main/java/com/selligent/RNSelligent.java +41 -3
  55. package/android/src/main/java/com/selligent/SMSettingsFactory.java +1 -0
  56. package/android/src/main/java/com/selligent/Settings.java +16 -0
  57. package/constants.d.ts +18 -0
  58. package/constants.js +30 -2
  59. package/index.android.js +42 -0
  60. package/index.d.ts +14 -6
  61. package/index.ios.js +12 -29
  62. package/index.js +13 -1
  63. package/ios/ClientSettings.h +2 -0
  64. package/ios/ClientSettings.m +4 -0
  65. package/ios/EnumMapper.h +3 -6
  66. package/ios/EnumMapper.m +8 -24
  67. package/ios/RNSelligent.m +25 -13
  68. package/ios/RemoteMessageDisplayType.h +5 -0
  69. package/ios/SMManagerSetting+ClientSettings.m +15 -4
  70. package/ios/SelligentReactNative.xcodeproj/project.pbxproj +4 -12
  71. package/ios/include/SMBaseMessage.h +8 -12
  72. package/ios/include/SMBlock.h +2 -2
  73. package/ios/include/SMClearCache.h +0 -2
  74. package/ios/include/SMContentAlignment.h +1 -2
  75. package/ios/include/SMDeviceInfos.h +10 -8
  76. package/ios/include/SMDisplayMode.h +1 -2
  77. package/ios/include/SMEvent.h +21 -17
  78. package/ios/include/SMEventUser.h +0 -1
  79. package/ios/include/SMEventUserLogin.h +11 -16
  80. package/ios/include/SMEventUserLogout.h +12 -16
  81. package/ios/include/SMEventUserRegistration.h +12 -17
  82. package/ios/include/SMEventUserUnregistration.h +12 -16
  83. package/ios/include/SMFailure.h +1 -6
  84. package/ios/include/SMHelper.h +12 -4
  85. package/ios/include/SMInAppContentHTMLViewController.h +11 -9
  86. package/ios/include/SMInAppContentImageViewController.h +6 -6
  87. package/ios/include/SMInAppContentMessage.h +12 -12
  88. package/ios/include/SMInAppContentStyleOptions.h +91 -79
  89. package/ios/include/SMInAppContentType.h +2 -3
  90. package/ios/include/SMInAppContentURLViewController.h +10 -9
  91. package/ios/include/SMInAppContentViewController.h +3 -6
  92. package/ios/include/SMInAppMessage.h +22 -14
  93. package/ios/include/SMInAppMessageType.h +2 -6
  94. package/ios/include/SMInAppRefreshType.h +1 -1
  95. package/ios/include/SMLink.h +7 -11
  96. package/ios/include/SMLog.h +1 -1
  97. package/ios/include/SMManager+DataTransaction.h +6 -13
  98. package/ios/include/SMManager+InAppContent.h +20 -23
  99. package/ios/include/SMManager+InAppMessage.h +65 -42
  100. package/ios/include/SMManager+Location.h +7 -63
  101. package/ios/include/SMManager+Log.h +3 -14
  102. package/ios/include/SMManager+RemoteNotification.h +38 -34
  103. package/ios/include/SMManager+SMEvent.h +10 -10
  104. package/ios/include/SMManager+SMLink.h +44 -0
  105. package/ios/include/SMManager+SilentPush.h +5 -22
  106. package/ios/include/SMManager+StyleOptions.h +5 -8
  107. package/ios/include/SMManager+UserNotification.h +47 -35
  108. package/ios/include/SMManager+ViewController.h +45 -0
  109. package/ios/include/SMManager.h +15 -24
  110. package/ios/include/SMManagerInAppMessageDelegate.h +24 -0
  111. package/ios/include/SMManagerSetting+Location.h +27 -0
  112. package/ios/include/SMManagerSetting.h +61 -33
  113. package/ios/include/SMManagerSettingIAC.h +6 -17
  114. package/ios/include/SMManagerSettingIAM.h +7 -16
  115. package/ios/include/SMManagerUniversalLinksDelegate.h +23 -0
  116. package/ios/include/SMMessage.h +1 -3
  117. package/ios/include/SMNSNotification.h +21 -13
  118. package/ios/include/SMNotificationAnnotationData.h +4 -8
  119. package/ios/include/SMNotificationButtonData.h +1 -6
  120. package/ios/include/SMNotificationButtonType.h +1 -14
  121. package/ios/include/SMNotificationMessage.h +31 -0
  122. package/ios/include/SMRemoteMessageDisplayType.h +32 -0
  123. package/ios/include/SMSuccess.h +1 -4
  124. package/ios/{libSelligentMobile2.5.2.a → libSelligentMobile.a} +0 -0
  125. package/package.json +3 -3
  126. package/trigger.yml +9 -0
  127. package/ios/include/SMLocationAuthorisationType.h +0 -57
package/ios/EnumMapper.h CHANGED
@@ -1,13 +1,14 @@
1
1
  #import <UIKit/UIKit.h>
2
2
  #import "LogLevel.h"
3
3
  #import "InAppMessageRefreshType.h"
4
+ #import "RemoteMessageDisplayType.h"
4
5
  #import "LocationAuthorisationStatus.h"
5
6
  #import "LocationAuthorisationType.h"
6
7
  #import "ClearCacheInterval.h"
7
- #import "SMLocationAuthorisationType.h"
8
8
  #import "SMLog.h"
9
9
  #import "SMClearCache.h"
10
10
  #import "SMInAppRefreshType.h"
11
+ #import "SMRemoteMessageDisplayType.h"
11
12
  #import "BackgroundFetchResult.h"
12
13
  #import "SMNotificationButtonType.h"
13
14
  #import "NotificationButtonType.h"
@@ -24,11 +25,7 @@
24
25
  - (SMInAppRefreshType)smInAppRefreshTypeForInAppMessageRefreshType:(InAppMessageRefreshType)inAppMessageRefreshType;
25
26
  - (InAppMessageRefreshType)inAppMessageRefreshTypeForSMInAppRefreshType:(SMInAppRefreshType)smInAppRefreshType;
26
27
 
27
- - (SMLocationAuthorisationStatus)smLocationAuthorisationStatusForLocationAuthorisationStatus:(LocationAuthorisationStatus)locationAuthorisationStatus;
28
- - (LocationAuthorisationStatus)locationAuthorisationStatusForSMLocationAuthorisationStatus:(SMLocationAuthorisationStatus)smLocationAuthorisationType;
29
-
30
- - (SMLocationAuthorisationType)smLocationAuthorisationTypeForLocationAuthorisationType:(LocationAuthorisationType)locationAuthorisationType;
31
- - (LocationAuthorisationType)locationAuthorisationTypeForSMLocationAuthorisationType:(SMLocationAuthorisationType)smLocationAuthorisationType;
28
+ - (SMRemoteMessageDisplayType)smRemoteMessageDisplayTypeForRemoteMessageDisplayType: (RemoteMessageDisplayType)remoteMessageDisplayType;
32
29
 
33
30
  - (UIBackgroundFetchResult)uiBackgroundFetchResultForBackgroundFetchResult:(BackgroundFetchResult)backgroundFetchResult;
34
31
  - (BackgroundFetchResult)backgroundFetchResultForUIBackgroundFetchResult:(UIBackgroundFetchResult)uiBackgroundFetchResult;
package/ios/EnumMapper.m CHANGED
@@ -4,6 +4,7 @@
4
4
  NSDictionary *_logLevelEnumMapping;
5
5
  NSDictionary *_clearCacheIntervalEnumMapping;
6
6
  NSDictionary *_inAppRefreshTypeEnumMapping;
7
+ NSDictionary *_remoteMessageDisplayTypeEnumMapping;
7
8
  NSDictionary *_locationAuthorisationStatusMapping;
8
9
  NSDictionary *_locationAuthorisationTypeMapping;
9
10
  NSDictionary *_backgroundFetchResult;
@@ -43,16 +44,11 @@
43
44
  @(iamrtHour) : @(kSMIA_RefreshType_Hourly),
44
45
  @(iamryDay ) : @(kSMIA_RefreshType_Daily),
45
46
  };
46
- _locationAuthorisationStatusMapping = @{
47
- @(ilasUnknown) : @(kSMLocationAuthorisationStatus_Unknown),
48
- @(ilasRefused) : @(kSMLocationAuthorisationStatus_Refused),
49
- @(ilasGrantedInUse) : @(kSMLocationAuthorisationStatus_GrantedInUse),
50
- @(ilasGrantedAlways) : @(kSMLocationAuthorisationStatus_GrantedAlways),
51
- };
52
- _locationAuthorisationTypeMapping = @{
53
- @(ilatInUse) : @(kSMLocationAuthorisationType_InUse),
54
- @(ilatAlways) : @(kSMLocationAuthorisationType_Always),
55
- };
47
+ _remoteMessageDisplayTypeEnumMapping = @{
48
+ @(rmdtAutomatic) : @(kSMRemoteMessageDisplayType_Automatic),
49
+ @(rmdtNone) : @(kSMRemoteMessageDisplayType_None),
50
+ @(rmdtNotification) : @(kSMRemoteMessageDisplayType_Notification),
51
+ };
56
52
  _backgroundFetchResult = @{
57
53
  @(bfrNewData) : @(UIBackgroundFetchResultNewData),
58
54
  @(bfrNoData) : @(UIBackgroundFetchResultNoData),
@@ -101,20 +97,8 @@
101
97
  return (InAppMessageRefreshType) ((NSNumber *)[_inAppRefreshTypeEnumMapping allKeysForObject:@(smInAppRefreshType)].firstObject).integerValue;
102
98
  }
103
99
 
104
- - (SMLocationAuthorisationStatus)smLocationAuthorisationStatusForLocationAuthorisationStatus:(LocationAuthorisationStatus)locationAuthorisationStatus {
105
- return (SMLocationAuthorisationStatus) ((NSNumber *)_locationAuthorisationStatusMapping[@(locationAuthorisationStatus)]).integerValue;
106
- }
107
-
108
- - (LocationAuthorisationStatus)locationAuthorisationStatusForSMLocationAuthorisationStatus:(SMLocationAuthorisationStatus)smLocationAuthorisationType {
109
- return (LocationAuthorisationStatus) ((NSNumber *)[_locationAuthorisationStatusMapping allKeysForObject:@(smLocationAuthorisationType)].firstObject).integerValue;
110
- }
111
-
112
- - (SMLocationAuthorisationType)smLocationAuthorisationTypeForLocationAuthorisationType:(LocationAuthorisationType)locationAuthorisationType {
113
- return (SMLocationAuthorisationType) ((NSNumber *)_locationAuthorisationTypeMapping[@(locationAuthorisationType)]).integerValue;
114
- }
115
-
116
- - (LocationAuthorisationType)locationAuthorisationTypeForSMLocationAuthorisationType:(SMLocationAuthorisationType)smLocationAuthorisationType {
117
- return (LocationAuthorisationType) ((NSNumber *)[_locationAuthorisationTypeMapping allKeysForObject:@(smLocationAuthorisationType)].firstObject).integerValue;
100
+ -(SMRemoteMessageDisplayType)smRemoteMessageDisplayTypeForRemoteMessageDisplayType:(RemoteMessageDisplayType)remoteMessageDisplayType {
101
+ return (SMRemoteMessageDisplayType) ((NSNumber *)_remoteMessageDisplayTypeEnumMapping[@(remoteMessageDisplayType)]).integerValue;
118
102
  }
119
103
 
120
104
  - (UIBackgroundFetchResult)uiBackgroundFetchResultForBackgroundFetchResult:(BackgroundFetchResult)backgroundFetchResult {
package/ios/RNSelligent.m CHANGED
@@ -25,6 +25,7 @@ static NSString * const BROADCAST_BUTTON_CLICKED = @"ButtonClicked";
25
25
  static NSString * const BROADCAST_RECEIVED_IN_APP_MSG = @"ReceivedInAppMessage";
26
26
  static NSString * const BROADCAST_WILL_DISPLAY_NOTIFICATION = @"WillDisplayNotification";
27
27
  static NSString * const BROADCAST_WILL_DISMISS_NOTIFICATION = @"WillDismissNotification";
28
+ static NSString * const BROADCAST_RECEIVED_DEVICE_ID = @"ReceivedDeviceId";
28
29
  static NSString * const BROADCAST_RECEIVED_REMOTENOTIFICATION = @"ReceivedRemoteNotification";
29
30
  static NSString * const FETCHED_REMOTE_NOTIFICATION = @"FetchedRemoteNotification";
30
31
 
@@ -107,7 +108,7 @@ RCT_EXPORT_MODULE(RNSelligent)
107
108
  [[SMManager sharedInstance] willPresentNotification:notification withCompletionHandler:completionHandler];
108
109
  }
109
110
 
110
- + (void)didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)(void))completionHandler {
111
+ + (void)didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)(UNNotificationContentExtensionResponseOption options))completionHandler {
111
112
  [[SMManager sharedInstance] didReceiveNotificationResponse:response withCompletionHandler:completionHandler];
112
113
  }
113
114
 
@@ -141,7 +142,8 @@ RCT_EXPORT_METHOD(getInAppMessages:(RCTResponseSenderBlock)callback) {
141
142
  @"creationDate" : @([[inAppMessage creationDate] timeIntervalSince1970]),
142
143
  @"expirationDate" : [inAppMessage expirationDate] ? @([[inAppMessage expirationDate] timeIntervalSince1970]) : [NSNull null],
143
144
  @"hasBeenSeen" : @([inAppMessage isViewed]),
144
- @"buttons" : mappedLinks
145
+ @"buttons" : mappedLinks,
146
+ @"type" : @([inAppMessage iamType])
145
147
  }];
146
148
  }
147
149
  callback(@[mappedMessages ?: [NSNull null], [NSNull null]]);
@@ -187,17 +189,6 @@ RCT_EXPORT_METHOD(applyLogLevel:(NSArray<NSNumber *> *)logLevels) {
187
189
  [[SMManager sharedInstance] applyLogLevel:(SMLogLevel) requestedBitShiftedLogLevel];
188
190
  }
189
191
 
190
- RCT_EXPORT_METHOD(currentAuthorisationStatus:(RCTResponseSenderBlock)callback) {
191
- SMLocationAuthorisationStatus smLocationAuthStatus = [[SMManager sharedInstance] currentAuthorisationStatus];
192
- LocationAuthorisationStatus status = [[EnumMapper sharedEnumMapper] locationAuthorisationStatusForSMLocationAuthorisationStatus:smLocationAuthStatus];
193
- callback(@[@(status), [NSNull null]]);
194
- }
195
-
196
- RCT_EXPORT_METHOD(requestLocationAuthorisation:(NSInteger)authorisationType) {
197
- SMLocationAuthorisationType smAuthType = [[EnumMapper sharedEnumMapper] smLocationAuthorisationTypeForLocationAuthorisationType:authorisationType];
198
- [[SMManager sharedInstance] requestLocationAuthorisation:smAuthType];
199
- }
200
-
201
192
  RCT_EXPORT_METHOD(isGeolocationEnabled:(RCTResponseSenderBlock)callback) {
202
193
  BOOL enabled = [[SMManager sharedInstance] isGeoLocationEnabled];
203
194
  callback(@[@(enabled), [NSNull null]]);
@@ -225,6 +216,11 @@ RCT_EXPORT_METHOD(forceRemoteNotificationBackgroundFetchResult:(nonnull NSNumber
225
216
  self.requestedForcedRemoteNotificationBackgroundFetchResult = @([[EnumMapper sharedEnumMapper] uiBackgroundFetchResultForBackgroundFetchResult:remoteNotificationBackgroundFetchResult.integerValue]);
226
217
  }
227
218
 
219
+ RCT_EXPORT_METHOD(getDeviceId:(RCTResponseSenderBlock)callback) {
220
+ NSString *deviceId = [[SMManager sharedInstance] deviceID];
221
+ callback(@[deviceId, [NSNull null]]);
222
+ }
223
+
228
224
  RCT_EXPORT_METHOD(enableNotifications:(BOOL)enable) {
229
225
  if (enable) {
230
226
  [[SMManager sharedInstance] registerForRemoteNotification];
@@ -233,6 +229,12 @@ RCT_EXPORT_METHOD(enableNotifications:(BOOL)enable) {
233
229
  }
234
230
  }
235
231
 
232
+ RCT_EXPORT_METHOD(registerForProvisionalRemoteNotification) {
233
+ if (@available(iOS 12.0, *)) {
234
+ [[SMManager sharedInstance] registerForProvisionalRemoteNotification];
235
+ }
236
+ }
237
+
236
238
  RCT_EXPORT_METHOD(displayLastReceivedRemotePushNotification) {
237
239
  [[SMManager sharedInstance] displayLastReceivedRemotePushNotification];
238
240
  }
@@ -258,6 +260,7 @@ RCT_EXPORT_METHOD(subscribeToEvents) {
258
260
  [self _addOrReplaceObserverForSelector:@selector(_handleButtonClicked:) forName:kSMNotification_Event_ButtonClicked];
259
261
  [self _addOrReplaceObserverForSelector:@selector(_handleWillDisplayNotification:) forName:kSMNotification_Event_WillDisplayNotification];
260
262
  [self _addOrReplaceObserverForSelector:@selector(_handleWillDismissNotification:) forName:kSMNotification_Event_WillDismissNotification];
263
+ [self _addOrReplaceObserverForSelector:@selector(_handleReceivedDeviceId:) forName:kSMNotification_Data_DeviceId];
261
264
  [self _addOrReplaceObserverForSelector:@selector(_handleDidReceiveRemoteNotification:) forName:kSMNotification_Event_DidReceiveRemoteNotification];
262
265
  }
263
266
 
@@ -307,6 +310,15 @@ RCT_EXPORT_METHOD(subscribeToEvents) {
307
310
  [self _sendBroadcastEventResultWithData:nil andType:BROADCAST_WILL_DISMISS_NOTIFICATION];
308
311
  }
309
312
 
313
+ - (void)_handleReceivedDeviceId:(NSNotification*)notification {
314
+ NSDictionary *dict = [notification userInfo];
315
+ NSString *deviceId = [dict objectForKey:kSMNotification_Data_DeviceId];
316
+ NSDictionary *data = @{
317
+ @"deviceId": deviceId
318
+ };
319
+ [self _sendBroadcastEventResultWithData:data andType:BROADCAST_RECEIVED_DEVICE_ID];
320
+ }
321
+
310
322
  - (void)_sendBroadcastEventResultWithData:(NSDictionary *)data andType:(NSString *)type {
311
323
  [self sendEventWithName:type body:@{@"data": data ?: [NSNull null], @"broadcastEventType": type}];
312
324
  }
@@ -0,0 +1,5 @@
1
+ typedef enum RemoteMessageDisplayType : NSInteger {
2
+ rmdtAutomatic = 20,
3
+ rmdtNone = 21,
4
+ rmdtNotification = 22,
5
+ } RemoteMessageDisplayType;
@@ -1,4 +1,5 @@
1
1
  #import "SMManagerSetting+ClientSettings.h"
2
+ #import "SMManagerSetting+Location.h"
2
3
  #import "SMManagerSettingIAM.h"
3
4
  #import "ClientSettings.h"
4
5
  #import "EnumMapper.h"
@@ -25,24 +26,34 @@
25
26
  }
26
27
  }
27
28
 
29
+ NSNumber *shouldAddInAppMessageFromPushToInAppMessageList = clientSettings.shouldAddInAppMessageFromPushToInAppMessageList;
30
+ if(shouldAddInAppMessageFromPushToInAppMessageList) {
31
+ settings.shouldAddInAppMessageFromPushToInAppMessageList = shouldAddInAppMessageFromPushToInAppMessageList.boolValue;
32
+ }
33
+
28
34
  NSNumber *shouldClearBadgeAsNumber = clientSettings.shouldClearBadge;
29
35
  if(shouldClearBadgeAsNumber) {
30
36
  settings.shouldClearBadge = shouldClearBadgeAsNumber.boolValue;
31
37
  }
38
+
39
+ if(clientSettings.configureLocationServices.boolValue) {
40
+ [settings configureLocationService];
41
+ }
32
42
 
33
43
  NSNumber *shouldDisplayRemoteNotificationAsNumber = clientSettings.shouldDisplayRemoteNotification;
34
44
  if(shouldDisplayRemoteNotificationAsNumber) {
35
45
  settings.shouldDisplayRemoteNotification = shouldDisplayRemoteNotificationAsNumber.boolValue;
36
46
  }
37
47
 
38
- if(clientSettings.configureLocationServices.boolValue) {
39
- [settings configureLocationService];
40
- }
41
-
42
48
  NSNumber *clearCacheIntervalValueAsNumber = clientSettings.clearCacheIntervalValue;
43
49
  if(clearCacheIntervalValueAsNumber) {
44
50
  settings.clearCacheIntervalValue = [[EnumMapper sharedEnumMapper] smClearCacheForClearCacheInterval:clearCacheIntervalValueAsNumber.integerValue]; //((SMClearCache) );
45
51
  }
52
+
53
+ NSNumber *remoteMessageDisplayType = clientSettings.remoteMessageDisplayType;
54
+ if(remoteMessageDisplayType) {
55
+ settings.remoteMessageDisplayType = [[EnumMapper sharedEnumMapper] smRemoteMessageDisplayTypeForRemoteMessageDisplayType:remoteMessageDisplayType.integerValue];
56
+ }
46
57
  }
47
58
 
48
59
  + (SMManagerSettingIAM *)_iamManagerSettingsFor:(ClientSettings *)clientSettings {
@@ -7,7 +7,7 @@
7
7
  objects = {
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
- 60A5C5B5261747570002B0A2 /* libSelligentMobile2.5.2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 60A5C5B4261747570002B0A2 /* libSelligentMobile2.5.2.a */; };
10
+ 60698C70276254340003E3AD /* libSelligentMobile.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 60698C6F276254340003E3AD /* libSelligentMobile.a */; };
11
11
  B3E7B58A1CC2AC0600A0062D /* RNSelligent.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNSelligent.m */; };
12
12
  E5002D3320F5002A00F68509 /* ClientSettings.m in Sources */ = {isa = PBXBuildFile; fileRef = E5002D3120F5002A00F68509 /* ClientSettings.m */; };
13
13
  E5002D3620F5004200F68509 /* SMManagerSetting+ClientSettings.m in Sources */ = {isa = PBXBuildFile; fileRef = E5002D3520F5004200F68509 /* SMManagerSetting+ClientSettings.m */; };
@@ -32,7 +32,7 @@
32
32
 
33
33
  /* Begin PBXFileReference section */
34
34
  134814201AA4EA6300B7C361 /* libRNSelligent.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNSelligent.a; sourceTree = BUILT_PRODUCTS_DIR; };
35
- 60A5C5B4261747570002B0A2 /* libSelligentMobile2.5.2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libSelligentMobile2.5.2.a; sourceTree = "<group>"; };
35
+ 60698C6F276254340003E3AD /* libSelligentMobile.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libSelligentMobile.a; sourceTree = "<group>"; };
36
36
  B3E7B5881CC2AC0600A0062D /* RNSelligent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNSelligent.h; sourceTree = "<group>"; };
37
37
  B3E7B5891CC2AC0600A0062D /* RNSelligent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNSelligent.m; sourceTree = "<group>"; };
38
38
  E5002D3120F5002A00F68509 /* ClientSettings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ClientSettings.m; sourceTree = "<group>"; };
@@ -48,8 +48,6 @@
48
48
  E5002D3F20F5015A00F68509 /* EnumMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnumMapper.h; sourceTree = "<group>"; };
49
49
  E5002D4020F5015A00F68509 /* EnumMapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EnumMapper.m; sourceTree = "<group>"; };
50
50
  E5002D4220F5018200F68509 /* InAppMessageRefreshType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = InAppMessageRefreshType.h; sourceTree = "<group>"; };
51
- E5002D4320F5019500F68509 /* LocationAuthorisationStatus.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LocationAuthorisationStatus.h; sourceTree = "<group>"; };
52
- E5002D4420F5019500F68509 /* LocationAuthorisationType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LocationAuthorisationType.h; sourceTree = "<group>"; };
53
51
  E5002D4520F501A400F68509 /* ClearCacheInterval.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ClearCacheInterval.h; sourceTree = "<group>"; };
54
52
  E5002D4620F501A400F68509 /* NotificationButtonType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NotificationButtonType.h; sourceTree = "<group>"; };
55
53
  E5002D4720F501B000F68509 /* BackgroundFetchResult.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BackgroundFetchResult.h; sourceTree = "<group>"; };
@@ -99,9 +97,7 @@
99
97
  E58A8CD320F32CB4005EA433 /* SMContentAlignment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SMContentAlignment.h; sourceTree = "<group>"; };
100
98
  E58A8CD420F32CB4005EA433 /* SMHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SMHelper.h; sourceTree = "<group>"; };
101
99
  E58A8CD520F32CB4005EA433 /* SMInAppContentViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SMInAppContentViewController.h; sourceTree = "<group>"; };
102
- E58A8CD620F32CB4005EA433 /* SMLocationAuthorisationType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SMLocationAuthorisationType.h; sourceTree = "<group>"; };
103
100
  E58A8CD720F32CB4005EA433 /* SMInAppContentImageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SMInAppContentImageViewController.h; sourceTree = "<group>"; };
104
- E58A8CD820F32CB4005EA433 /* SMManager+Location.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SMManager+Location.h"; sourceTree = "<group>"; };
105
101
  E58A8CD920F32CB4005EA433 /* SMEventUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SMEventUser.h; sourceTree = "<group>"; };
106
102
  /* End PBXFileReference section */
107
103
 
@@ -110,7 +106,7 @@
110
106
  isa = PBXFrameworksBuildPhase;
111
107
  buildActionMask = 2147483647;
112
108
  files = (
113
- 60A5C5B5261747570002B0A2 /* libSelligentMobile2.5.2.a in Frameworks */,
109
+ 60698C70276254340003E3AD /* libSelligentMobile.a in Frameworks */,
114
110
  );
115
111
  runOnlyForDeploymentPostprocessing = 0;
116
112
  };
@@ -128,7 +124,7 @@
128
124
  58B511D21A9E6C8500147676 = {
129
125
  isa = PBXGroup;
130
126
  children = (
131
- 60A5C5B4261747570002B0A2 /* libSelligentMobile2.5.2.a */,
127
+ 60698C6F276254340003E3AD /* libSelligentMobile.a */,
132
128
  E58A8CAC20F32CB4005EA433 /* include */,
133
129
  E5002D3720F500C200F68509 /* SelligentLogger.h */,
134
130
  E5002D3820F500C200F68509 /* SelligentLogger.m */,
@@ -149,8 +145,6 @@
149
145
  E5002D4720F501B000F68509 /* BackgroundFetchResult.h */,
150
146
  E5002D4520F501A400F68509 /* ClearCacheInterval.h */,
151
147
  E5002D4620F501A400F68509 /* NotificationButtonType.h */,
152
- E5002D4320F5019500F68509 /* LocationAuthorisationStatus.h */,
153
- E5002D4420F5019500F68509 /* LocationAuthorisationType.h */,
154
148
  E5002D4220F5018200F68509 /* InAppMessageRefreshType.h */,
155
149
  E51D94E820FF88DB00069B07 /* EventType.h */,
156
150
  E5002D3F20F5015A00F68509 /* EnumMapper.h */,
@@ -203,9 +197,7 @@
203
197
  E58A8CD320F32CB4005EA433 /* SMContentAlignment.h */,
204
198
  E58A8CD420F32CB4005EA433 /* SMHelper.h */,
205
199
  E58A8CD520F32CB4005EA433 /* SMInAppContentViewController.h */,
206
- E58A8CD620F32CB4005EA433 /* SMLocationAuthorisationType.h */,
207
200
  E58A8CD720F32CB4005EA433 /* SMInAppContentImageViewController.h */,
208
- E58A8CD820F32CB4005EA433 /* SMManager+Location.h */,
209
201
  E58A8CD920F32CB4005EA433 /* SMEventUser.h */,
210
202
  );
211
203
  path = include;
@@ -10,43 +10,39 @@
10
10
 
11
11
  /*!
12
12
  * @discussion This is the Base class for message (push notif, in app message and in app content)
13
- * #SMBaseMessage :#
14
13
  */
15
14
  @interface SMBaseMessage : NSObject
16
15
 
17
16
  /*!
18
17
  * NSString instance providing the id of the message
19
18
  */
20
- @property (nonatomic) NSString *idMessage;
19
+ @property (readonly, nonatomic) NSString *_Nullable idMessage;
21
20
 
22
21
  /*!
23
22
  * NSDate instance providing the creation date of the message
24
- * @deprecated Deprecated use receptionDate instead
23
+ *
24
+ * @warning Deprecated - use receptionDate instead
25
25
  */
26
- @property (nonatomic) NSDate *dateCreation __deprecated __deprecated_msg("Use receptionDate instead");
26
+ @property (readonly, nonatomic) NSDate *_Nullable dateCreation __deprecated __deprecated_msg("Use receptionDate instead");
27
27
 
28
28
  /*!
29
29
  * NSDate instance providing the reception date on sdk side of the message
30
30
  */
31
- @property (nonatomic) NSDate *receptionDate;
31
+ @property (readonly, nonatomic) NSDate *_Nullable receptionDate;
32
32
 
33
33
  /*!
34
34
  * NSDate instance providing the expiration date of the message
35
35
  */
36
- @property (nonatomic) NSDate *expirationDate;
36
+ @property (readonly, nonatomic) NSDate *_Nullable expirationDate;
37
37
 
38
38
  /*!
39
39
  * NSDate instance providing the creation date of the message
40
40
  */
41
- @property (nonatomic) NSDate *creationDate;
41
+ @property (readonly, nonatomic) NSDate *_Nullable creationDate;
42
42
 
43
43
  /*!
44
44
  * bool instance infiorming if the message has already been displayed and viewed by user
45
45
  */
46
- @property (nonatomic) bool isViewed;
46
+ @property (readonly, nonatomic) bool isViewed;
47
47
 
48
- /*!
49
- * bool instance infiorming if the message has been deleted
50
- */
51
- @property (nonatomic) bool isDeleted;
52
48
  @end
@@ -12,10 +12,10 @@
12
12
  * @typedef type of block that will be triggered when an event has been succesfully sent
13
13
  * @param success a SMSuccess object
14
14
  */
15
- typedef void(^SMCompletionBlockSuccess)(SMSuccess *success);
15
+ typedef void(^SMCompletionBlockSuccess)(SMSuccess *_Nullable success);
16
16
 
17
17
  /**
18
18
  * @typedef type of block that will be triggered when an event has failed to be sent
19
19
  * @param failure a SMFailure failure
20
20
  */
21
- typedef void(^SMCompletionBlockFailure)(SMFailure *failure);
21
+ typedef void(^SMCompletionBlockFailure)(SMFailure *_Nullable failure);
@@ -6,10 +6,8 @@
6
6
  // Copyright (c) 2015 Selligent. All rights reserved.
7
7
  //
8
8
 
9
-
10
9
  /**
11
10
  * Enumeration used to define how often the SDK's cache should automaticaly clear itself
12
- * #SMClearCache :#
13
11
  */
14
12
  typedef NS_ENUM(NSInteger, SMClearCache) {
15
13
  /**
@@ -7,7 +7,7 @@
7
7
  //
8
8
 
9
9
  /**
10
- * #SMContentAlignment :#
10
+ *
11
11
  */
12
12
  typedef NS_ENUM(NSInteger, SMContentAlignment) {
13
13
  /*!
@@ -25,4 +25,3 @@ typedef NS_ENUM(NSInteger, SMContentAlignment) {
25
25
  */
26
26
  kSMAlignCenter
27
27
  };
28
-
@@ -9,28 +9,30 @@
9
9
  #import <Foundation/Foundation.h>
10
10
 
11
11
  /*!
12
- * #SMDeviceInfos :#
13
12
  */
14
13
  @interface SMDeviceInfos : NSObject
15
14
 
16
15
  /*!
17
16
  * Any External Id in your possession that you wish to transmit to the back-end
18
- * @discussion NSString
17
+ *
18
+ * @discussion NSString representing your external, custom identifier.
19
19
  * By default, it is an empty string
20
20
  */
21
- @property (nonatomic) NSString *externalId;
21
+ @property (nonatomic) NSString* _Nullable externalId;
22
22
 
23
23
  /*!
24
24
  * Create a generic deviceinfos object
25
- * @return a SMDeviceInfos object
25
+ *
26
+ * @return An SMDeviceInfos object
26
27
  */
27
- + (instancetype)defaultDeviceInfos;
28
+ + (instancetype _Nullable ) defaultDeviceInfos;
28
29
 
29
30
  /*!
30
31
  * Create a deviceinfos object with an external id property already set with the value provided
31
- * @param externalId a string containing the id you want to provide to the back-end
32
- * @return a SMDeviceInfos object
32
+ *
33
+ * @param externalId An string containing the id you want to provide to the back-end
34
+ * @return An SMDeviceInfos object
33
35
  */
34
- + (instancetype)deviceInfosWithExternalId:(NSString*) externalId;
36
+ + (instancetype _Nullable ) deviceInfosWithExternalId:(NSString*_Nullable) externalId;
35
37
 
36
38
  @end
@@ -6,9 +6,8 @@
6
6
  // Copyright © 2016 Selligent. All rights reserved.
7
7
  //
8
8
 
9
-
10
9
  /*!
11
- * #SMDisplayMode :#
10
+ *
12
11
  */
13
12
  typedef NS_ENUM(NSInteger, SMDisplayMode) {
14
13
  /*!
@@ -11,15 +11,11 @@
11
11
  #import "SMFailure.h"
12
12
  #import "SMSuccess.h"
13
13
 
14
-
15
-
16
14
  /*!
17
- * @discussion This is the Base class for all type of events
18
- * #SMEvent :#
15
+ * This is the Base class for all type of events
19
16
  */
20
17
  @interface SMEvent : NSObject
21
18
 
22
-
23
19
  /*!
24
20
  * Confirm if the current event should be cached or not
25
21
  * @discussion If the event fail to be delivered to your backend, then by default, it is cached into an internal queue.
@@ -29,36 +25,44 @@
29
25
  */
30
26
  @property (nonatomic) BOOL shouldCache;
31
27
 
32
-
33
-
34
28
  /*!
35
29
  * Create a generic event object that will be sent to platform
36
- * @param dict a Dictionary containing any kind of custom datas that must be stored and managed by platform
37
- * @return a SMEvent object
30
+ *
31
+ * @param dict A Dictionary containing any kind of custom datas that must be stored and managed by platform
32
+ * @return An SMEvent object
38
33
  */
39
- + (instancetype _Nonnull)eventWithDictionary:(NSDictionary* _Nullable)dict;
34
+ + (instancetype _Nonnull) eventWithDictionary:(NSDictionary* _Nullable)dict;
40
35
 
41
36
  /*!
42
- * Allow to initialise a success block and/or a failure block that will be triggered after an event is sent to the platform
37
+ * Allow to initialize a success block and/or a failure block that will be triggered after an event is sent to the platform
43
38
  *
44
- * @param blockSuccess a SMCompletionBlockSuccess block that will be triggered if the send to the platform is successfull
45
- * @param blockFailure a SMCompletionBlockFailure block that will be triggered if the send to the platform has failed
39
+ * @param blockSuccess An SMCompletionBlockSuccess block that will be triggered if the send to the platform is successfull
40
+ * @param blockFailure An SMCompletionBlockFailure block that will be triggered if the send to the platform has failed
46
41
  * @discussion This method may be used as follow:
47
42
  *
48
43
  * @code
49
44
  * NSDictionary *dictMyCustomData = @{@"MyKey": @"MyValue"};
45
+ *
50
46
  * SMEvent *event = [SMEvent eventWithDictionary:dictMyCustomData];
51
- * [event applyBlockSuccess:^(SMSuccess *success) {
52
- * // My code for success}
53
- * BlockFailure:^(SMFailure *failure) {
47
+ *
48
+ * [event applyBlockSuccess:^(SMSuccess *success) {
49
+ *
50
+ * // My code for success}
51
+ *
52
+ * BlockFailure:^(SMFailure *failure) {
53
+ *
54
54
  * // My code for failure }];
55
+ *
55
56
  * [[SMManager sharedInstance] sendSMEvent:event];
56
57
  * @endcode
58
+ *
57
59
  * This method is optional. Use it only if you need it.
58
60
  * @warning It is developer's responsability to make sure no strong retrain cycles are added to the completion-blocks.
59
61
  * Make sure to read the following [Apple documentation.](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithBlocks/WorkingwithBlocks.html#//apple_ref/doc/uid/TP40011210-CH8-SW16)
62
+ * @see SMCompletionBlockSuccess
63
+ * @see SMCompletionBlockFailure
60
64
  */
61
- - (void)applyBlockSuccess:(SMCompletionBlockSuccess _Nullable)blockSuccess BlockFailure:(SMCompletionBlockFailure _Nullable)blockFailure;
65
+ - (void) applyBlockSuccess:(SMCompletionBlockSuccess _Nullable)blockSuccess BlockFailure:(SMCompletionBlockFailure _Nullable)blockFailure;
62
66
 
63
67
  @end
64
68
 
@@ -9,7 +9,6 @@
9
9
  #import "SMEvent.h"
10
10
 
11
11
  /*!
12
- * @inherits SMEvent
13
12
  * @discussion Class representing all User-eventing
14
13
  * Instances of this class should not be directly created.
15
14
  * Please use children classes instead.
@@ -9,38 +9,33 @@
9
9
  #import "SMEventUser.h"
10
10
 
11
11
  /*!
12
- * @class SMEventUserLogin
13
- * @inherits SMEventUser
14
- * @discussion user login event class
15
- * #SMEventUserLogin:#
12
+ * User login event class
16
13
  */
17
14
  @interface SMEventUserLogin : SMEventUser
18
15
 
19
-
20
16
  /*!
21
17
  * Create a UserLogin event object that will be sent to selligent platform when user logged in
22
18
  *
23
- * @param mail the e-mail of the user
24
- * @return a SMEventUserLogin object
19
+ * @param mail The e-mail of the user
20
+ * @return An SMEventUserLogin object
25
21
  */
26
- + (instancetype _Nonnull)eventWithEmail:(NSString*_Null_unspecified)mail;
22
+ + (instancetype _Nonnull) eventWithEmail:(NSString*_Null_unspecified)mail;
27
23
 
28
24
  /*!
29
25
  * Create a UserLogin event object that will be sent to selligent platform when user logged in
30
26
  *
31
- * @param mail the e-mail of the user
32
- * @param dict a Dictionary containing a string as data that must be stored and managed by platform
27
+ * @param mail The e-mail of the user
28
+ * @param dict A Dictionary containing a string as data that must be stored and managed by platform
33
29
  * If email is not provided you can use in the dictionary an alternate key/value field to search for the user
34
- * example: [SMEventUserLogin eventWithEmail @"" Dictionary: @{@"userID": @"1234"}];
35
- * @return a SMEventUserLogin object
30
+ * @return An SMEventUserLogin object
36
31
  */
37
- + (instancetype _Nonnull)eventWithEmail:(NSString*_Null_unspecified)mail Dictionary:(NSDictionary<NSString*,NSString*>*_Nullable)dict;
32
+ + (instancetype _Nonnull) eventWithEmail:(NSString*_Null_unspecified)mail Dictionary:(NSDictionary<NSString*,NSString*>*_Nullable)dict;
38
33
 
39
34
  /*!
40
35
  * Create a UserLogin event object that will be sent to platform
41
- * @param dict a Dictionary containing an alternate key/value field to search for the user
42
- * example: [SMEventUserLogin eventWithDictionary: @{@"userID": @"1234"}];
43
- * @return a SMEventUserLogin object
36
+ *
37
+ * @param dict A Dictionary containing an alternate key/value field to search for the user
38
+ * @return An SMEventUserLogin object
44
39
  */
45
40
  + (instancetype _Nonnull)eventWithDictionary:(NSDictionary* _Nullable)dict;
46
41
 
@@ -9,38 +9,34 @@
9
9
  #import "SMEventUser.h"
10
10
 
11
11
  /*!
12
- * @class SMEventUserLogout
13
- * @inherits SMEventUser
14
- * @discussion user logout event class
15
- * #SMEventUserLogout:#
12
+ * User logout event class
16
13
  */
17
14
  @interface SMEventUserLogout : SMEventUser
18
15
 
19
16
  /*!
20
17
  * Create a UserLogout event object that will be sent to selligent platform when user logged out
21
18
  *
22
- * @param mail the e-mail of the user
23
- * @return a SMEventUserLogout object
19
+ * @param mail The e-mail of the user
20
+ * @return An SMEventUserLogout object
24
21
  */
25
- + (instancetype _Nonnull)eventWithEmail:(NSString*_Null_unspecified)mail;
22
+ + (instancetype _Nonnull) eventWithEmail:(NSString*_Null_unspecified)mail;
26
23
 
27
24
  /*!
28
25
  * Create a UserLogout event object that will be sent to selligent platform when user logged out
29
26
  *
30
- * @param mail the e-mail of the user
31
- * @param dict a Dictionary containing a string as data that must be stored and managed by platform
27
+ * @param mail The e-mail of the user
28
+ * @param dict A Dictionary containing a string as data that must be stored and managed by platform
32
29
  * If email is not provided you can use in the dictionary an alternate key/value field to search for the user
33
- * example: [SMEventUserLogout eventWithEmail @"" Dictionary: @{@"userID": @"1234"}];
34
- * @return a SMEventUserLogout object
30
+ * @return An SMEventUserLogout object
35
31
  */
36
- + (instancetype _Nonnull)eventWithEmail:(NSString*_Null_unspecified)mail Dictionary:(NSDictionary<NSString*,NSString*>*_Nullable)dict;
32
+ + (instancetype _Nonnull) eventWithEmail:(NSString*_Null_unspecified)mail Dictionary:(NSDictionary<NSString*,NSString*>*_Nullable)dict;
37
33
 
38
34
  /*!
39
35
  * Create a UserLogout event object that will be sent to platform
40
- * @param dict a Dictionary containing an alternate key/value field to search for the user
41
- * example: [SMEventUserLogout eventWithDictionary:@{@"userID": @"1234"}];
42
- * @return a SMEventUserLogout object
36
+ *
37
+ * @param dict A Dictionary containing an alternate key/value field to search for the user
38
+ * @return An SMEventUserLogout object
43
39
  */
44
- + (instancetype _Nonnull)eventWithDictionary:(NSDictionary* _Nullable)dict;
40
+ + (instancetype _Nonnull) eventWithDictionary:(NSDictionary* _Nullable)dict;
45
41
 
46
42
  @end