@selligent-marketing-cloud/selligent-react-native 3.0.0 → 3.2.6

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 (184) hide show
  1. package/README.md +43 -1550
  2. package/RNSelligent.podspec +8 -15
  3. package/android/build.gradle +48 -81
  4. package/android/src/main/java/com/selligent/BroadcastEventType.java +4 -1
  5. package/android/src/main/java/com/selligent/ButtonAction.java +81 -0
  6. package/android/src/main/java/com/selligent/ButtonBroadcastEventDataParser.java +9 -3
  7. package/android/src/main/java/com/selligent/DeviceIdBroadcastEventDataParser.java +15 -0
  8. package/android/src/main/java/com/selligent/EventType.java +1 -1
  9. package/android/src/main/java/com/selligent/GCMTokenBroadcastEventDataParser.java +6 -1
  10. package/android/src/main/java/com/selligent/InAppMessageBroadcastEventDataParser.java +7 -1
  11. package/android/src/main/java/com/selligent/NotificationMessageBroadcastEventDataParser.java +19 -0
  12. package/android/src/main/java/com/selligent/RNSelligent.java +195 -56
  13. package/android/src/main/java/com/selligent/SMSettingsFactory.java +0 -1
  14. package/android/src/main/java/com/selligent/Settings.java +0 -9
  15. package/constants.d.ts +7 -33
  16. package/constants.js +51 -85
  17. package/documentation/README.md +826 -0
  18. package/helpers.js +5 -6
  19. package/index.android.js +8 -83
  20. package/index.d.ts +33 -43
  21. package/index.ios.js +25 -76
  22. package/index.js +153 -45
  23. package/ios/RNSelligentMapper.h +21 -0
  24. package/ios/RNSelligentMapper.m +151 -0
  25. package/ios/RNSelligentMobileSDK.xcframework/Info.plist +40 -0
  26. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Headers/RNSelligentMobileSDK-Swift.h +350 -0
  27. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Info.plist +0 -0
  28. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios.abi.json +2603 -0
  29. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +59 -0
  30. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  31. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios.swiftinterface +59 -0
  32. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Modules/module.modulemap +4 -0
  33. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/RNSelligentMobileSDK +0 -0
  34. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/_CodeSignature/CodeResources +179 -0
  35. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Headers/RNSelligentMobileSDK-Swift.h +696 -0
  36. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Info.plist +0 -0
  37. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +2603 -0
  38. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +59 -0
  39. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  40. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +59 -0
  41. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +2603 -0
  42. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +59 -0
  43. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  44. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +59 -0
  45. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/module.modulemap +4 -0
  46. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/RNSelligentMobileSDK +0 -0
  47. package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/_CodeSignature/CodeResources +234 -0
  48. package/package.json +30 -11
  49. package/.gitattributes +0 -1
  50. package/CHANGELOG.md +0 -60
  51. package/android/README.md +0 -15
  52. package/android/build/generated/source/buildConfig/debug/com/selligent/BuildConfig.java +0 -12
  53. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -9
  54. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +0 -18
  55. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +0 -4
  56. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
  57. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  58. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  59. package/android/build/intermediates/compile_symbol_list/debug/R.txt +0 -6548
  60. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -1
  61. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
  62. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  63. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  64. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  65. package/android/build/intermediates/javac/debug/classes/com/selligent/BroadcastDataFactory$1.class +0 -0
  66. package/android/build/intermediates/javac/debug/classes/com/selligent/BroadcastDataFactory.class +0 -0
  67. package/android/build/intermediates/javac/debug/classes/com/selligent/BroadcastEventDataParser.class +0 -0
  68. package/android/build/intermediates/javac/debug/classes/com/selligent/BroadcastEventType.class +0 -0
  69. package/android/build/intermediates/javac/debug/classes/com/selligent/BuildConfig.class +0 -0
  70. package/android/build/intermediates/javac/debug/classes/com/selligent/ButtonBroadcastEventDataParser.class +0 -0
  71. package/android/build/intermediates/javac/debug/classes/com/selligent/ClearCacheIntervalValue.class +0 -0
  72. package/android/build/intermediates/javac/debug/classes/com/selligent/Event.class +0 -0
  73. package/android/build/intermediates/javac/debug/classes/com/selligent/EventReceiver.class +0 -0
  74. package/android/build/intermediates/javac/debug/classes/com/selligent/EventType.class +0 -0
  75. package/android/build/intermediates/javac/debug/classes/com/selligent/GCMTokenBroadcastEventDataParser.class +0 -0
  76. package/android/build/intermediates/javac/debug/classes/com/selligent/InAppMessageBroadcastEventDataParser.class +0 -0
  77. package/android/build/intermediates/javac/debug/classes/com/selligent/InAppMessageRefreshType.class +0 -0
  78. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$1.class +0 -0
  79. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$2.class +0 -0
  80. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$3.class +0 -0
  81. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$4.class +0 -0
  82. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$5.class +0 -0
  83. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent.class +0 -0
  84. package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligentPackage.class +0 -0
  85. package/android/build/intermediates/javac/debug/classes/com/selligent/RemoteMessageDisplayType.class +0 -0
  86. package/android/build/intermediates/javac/debug/classes/com/selligent/SMEventFactory$1.class +0 -0
  87. package/android/build/intermediates/javac/debug/classes/com/selligent/SMEventFactory.class +0 -0
  88. package/android/build/intermediates/javac/debug/classes/com/selligent/SMSettingsFactory.class +0 -0
  89. package/android/build/intermediates/javac/debug/classes/com/selligent/Settings.class +0 -0
  90. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +0 -2
  91. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +0 -11
  92. package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +0 -9
  93. package/android/build/intermediates/navigation_json/debug/navigation.json +0 -1
  94. package/android/build/intermediates/packaged_manifests/debug/output-metadata.json +0 -18
  95. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  96. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +0 -4894
  97. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -25
  98. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  99. package/android/libs/sdk-release.aar +0 -0
  100. package/documentation/add_json_file.png +0 -0
  101. package/documentation/add_lib_file.png +0 -0
  102. package/ios/BackgroundFetchResult.h +0 -5
  103. package/ios/ClearCacheInterval.h +0 -7
  104. package/ios/ClientSettings.h +0 -22
  105. package/ios/ClientSettings.m +0 -39
  106. package/ios/EnumMapper.h +0 -36
  107. package/ios/EnumMapper.m +0 -121
  108. package/ios/Event+SMEvent.h +0 -13
  109. package/ios/Event+SMEvent.m +0 -41
  110. package/ios/Event.h +0 -12
  111. package/ios/Event.m +0 -24
  112. package/ios/EventType.h +0 -7
  113. package/ios/InAppMessageRefreshType.h +0 -6
  114. package/ios/InAppMessageSettings.h +0 -9
  115. package/ios/InAppMessageSettings.m +0 -19
  116. package/ios/LocationAuthorisationStatus.h +0 -6
  117. package/ios/LocationAuthorisationType.h +0 -4
  118. package/ios/LogLevel.h +0 -9
  119. package/ios/NotificationButtonType.h +0 -15
  120. package/ios/ParsableObject.h +0 -5
  121. package/ios/RNSelligent.h +0 -22
  122. package/ios/RNSelligent.m +0 -347
  123. package/ios/RemoteMessageDisplayType.h +0 -5
  124. package/ios/SMManagerSetting+ClientSettings.h +0 -9
  125. package/ios/SMManagerSetting+ClientSettings.m +0 -73
  126. package/ios/SelligentLogger.h +0 -7
  127. package/ios/SelligentLogger.m +0 -9
  128. package/ios/SelligentReactNative.xcodeproj/project.pbxproj +0 -446
  129. package/ios/include/SMBaseMessage.h +0 -48
  130. package/ios/include/SMBlock.h +0 -21
  131. package/ios/include/SMClearCache.h +0 -34
  132. package/ios/include/SMContentAlignment.h +0 -27
  133. package/ios/include/SMDeviceInfos.h +0 -38
  134. package/ios/include/SMDisplayMode.h +0 -27
  135. package/ios/include/SMEvent.h +0 -69
  136. package/ios/include/SMEventUser.h +0 -20
  137. package/ios/include/SMEventUserLogin.h +0 -42
  138. package/ios/include/SMEventUserLogout.h +0 -42
  139. package/ios/include/SMEventUserRegistration.h +0 -42
  140. package/ios/include/SMEventUserUnregistration.h +0 -42
  141. package/ios/include/SMFailure.h +0 -19
  142. package/ios/include/SMHelper.h +0 -51
  143. package/ios/include/SMInAppContentHTMLViewController.h +0 -59
  144. package/ios/include/SMInAppContentImageViewController.h +0 -36
  145. package/ios/include/SMInAppContentMessage.h +0 -56
  146. package/ios/include/SMInAppContentStyleOptions.h +0 -511
  147. package/ios/include/SMInAppContentType.h +0 -35
  148. package/ios/include/SMInAppContentURLViewController.h +0 -36
  149. package/ios/include/SMInAppContentViewController.h +0 -31
  150. package/ios/include/SMInAppMessage.h +0 -51
  151. package/ios/include/SMInAppMessageType.h +0 -50
  152. package/ios/include/SMInAppRefreshType.h +0 -29
  153. package/ios/include/SMLink.h +0 -39
  154. package/ios/include/SMLog.h +0 -54
  155. package/ios/include/SMManager+DataTransaction.h +0 -33
  156. package/ios/include/SMManager+InAppContent.h +0 -170
  157. package/ios/include/SMManager+InAppMessage.h +0 -172
  158. package/ios/include/SMManager+Location.h +0 -41
  159. package/ios/include/SMManager+Log.h +0 -31
  160. package/ios/include/SMManager+RemoteNotification.h +0 -171
  161. package/ios/include/SMManager+SMEvent.h +0 -67
  162. package/ios/include/SMManager+SMLink.h +0 -44
  163. package/ios/include/SMManager+SilentPush.h +0 -53
  164. package/ios/include/SMManager+StyleOptions.h +0 -36
  165. package/ios/include/SMManager+UserNotification.h +0 -180
  166. package/ios/include/SMManager+ViewController.h +0 -45
  167. package/ios/include/SMManager.h +0 -69
  168. package/ios/include/SMManagerHelper.h +0 -18
  169. package/ios/include/SMManagerInAppMessageDelegate.h +0 -24
  170. package/ios/include/SMManagerSetting+Location.h +0 -27
  171. package/ios/include/SMManagerSetting.h +0 -180
  172. package/ios/include/SMManagerSettingIAC.h +0 -48
  173. package/ios/include/SMManagerSettingIAM.h +0 -49
  174. package/ios/include/SMManagerUniversalLinksDelegate.h +0 -23
  175. package/ios/include/SMMessage.h +0 -21
  176. package/ios/include/SMNSNotification.h +0 -81
  177. package/ios/include/SMNotificationAnnotationData.h +0 -33
  178. package/ios/include/SMNotificationButtonData.h +0 -20
  179. package/ios/include/SMNotificationButtonType.h +0 -90
  180. package/ios/include/SMNotificationMessage.h +0 -31
  181. package/ios/include/SMRemoteMessageDisplayType.h +0 -32
  182. package/ios/include/SMSuccess.h +0 -16
  183. package/ios/libSelligentMobile.a +0 -0
  184. package/trigger.yml +0 -9
@@ -1,18 +0,0 @@
1
- //
2
- // SMHelper.h
3
- // MobileSDK
4
- //
5
- // Created by Gilbert Schakal on 03/06/15.
6
- // Copyright (c) 2015 Selligent. All rights reserved.
7
- //
8
-
9
-
10
-
11
- #import "SMFailure.h"
12
- #import "SMSuccess.h"
13
-
14
- #import "SMBlock.h"
15
-
16
- #import <UserNotifications/UserNotifications.h>
17
-
18
-
@@ -1,24 +0,0 @@
1
- //
2
- // SMManagerDelegate.h
3
- // MobileSDK
4
- //
5
- // Created by Gilbert Schakal on 25/5/2021.
6
- // Copyright © 2021 Selligent. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "SMInAppMessage.h"
11
-
12
- /**
13
- * This protocol will help you intercept the in-app messages and allow you to display them your own way or store them somewhere to be shown later.
14
- */
15
- @protocol SMManagerInAppMessageDelegate <NSObject>
16
- @optional
17
-
18
- /*!
19
- * @abstract Invoked when an in-app message linked to a remote notification is received by sdk.
20
- * @param inAppMessage The inAppMessage object containing all necessary datas for you to display content of the message
21
- */
22
- - (void) displayInAppMessage:(SMInAppMessage*_Nonnull)inAppMessage;
23
-
24
- @end
@@ -1,27 +0,0 @@
1
- //
2
- // SMManagerSetting+Location.h
3
- // MobileSDK
4
- //
5
- // Created by Marc Biosca on 6/28/21.
6
- // Copyright © 2021 Selligent. All rights reserved.
7
- //
8
-
9
- #import "SMManagerSetting.h"
10
-
11
- /**
12
- * This category will help you to enable the geolocation service.
13
- */
14
- @interface SMManagerSetting (Location)
15
-
16
- /**
17
- * Optional API to enable location services.
18
- *
19
- * @discussion This call is useless if the sdk version is not the one associated to the plotproject framework
20
- * However in the case you are using the sdk version associated to plotproject framework, it is the first step to enable Location service.
21
- * It is the first step to inform the sdk that geo location services are going to be used by the
22
- *
23
- * @warning To use location service you will mandatory need to have PlotProject.framework in your app and the correct version of the selligent sdk library
24
- */
25
- - (void) configureLocationService;
26
-
27
- @end
@@ -1,180 +0,0 @@
1
- //
2
- // SMManagerSetting.h
3
- // MobileSDK
4
- //
5
- // Created by Gauthier Dumont on 12/06/15.
6
- // Copyright (c) 2015 Selligent. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "SMClearCache.h"
11
- #import "SMRemoteMessageDisplayType.h"
12
-
13
- @class SMManagerSettingIAM;
14
- @class SMManagerSettingIAC;
15
-
16
- /**
17
- * This class allow you to configure the SMManager.
18
- * Such instance must be created before starting the library.
19
- * Creating an SMManagerSetting's instance is pretty straightforward as there's only [one constructor for doing so](settingWithUrl:ClientID:PrivateKey:).
20
- * This sole constructor is sufficent to get you started.
21
- *
22
- * Additional parameters described in this header will provide you with additional control and ***are all optional***.
23
- *
24
- * ##Being user-friendly
25
- * When the application is in foreground and receive a remote-notification, by default, the library will display it on the current visible UIViewController. This behaviour might be unwanted and may disturb the user if he appears to navigate in a different context. Should you want to prevent that behaviour and display the remote-notification shortly after (when the user will be in a more appropriate context), please follow these steps :
26
- *
27
- * * Create an SMManagerSetting with the default constructor as usual.
28
- * * Set shouldDisplayRemoteNotification to FALSE.
29
- * * Start the library as usual [SMManager startWithLaunchOptions:Setting:]
30
- * * Listen to NSNotification-name: _kSMNotification_Event_DidReceiveRemoteNotification_ (declared in SMNSNotification)
31
- *
32
- * At this point, remote-notification are NOT displayed when the application is in foreground. (Other application's state are not affected).
33
- * Then, displaying the remote-notification is up to the application and can be done at any time by :
34
- *
35
- * * Retrieve the last remote-notification with [SMManager(RemoteNotification) retrieveLastRemotePushNotification]
36
- * * Display the notification according to its ID with [SMManager(RemoteNotification) displayNotificationID:]
37
- *
38
- * Or, more straightforwardly :
39
- *
40
- * * Display the last known remote notification by calling : [SMManager(RemoteNotification) displayLastReceivedRemotePushNotification]
41
- *
42
- * ##IAM
43
- * In-Application-Message-service is configurable using SMManagerSettingIAM which you'll inject using the API configureInAppMessageServiceWithSetting:
44
- * A dedicated topic regarding this topic can be found in SMManager(InAppMessage)
45
- *
46
- * ##IAC
47
- * In-Application-Content-service is configurable using SMManagerSettingIAC which you'll inject using the API configureInAppContentServiceWithSetting:
48
- * A dedicated topic regarding this topic can be found in SMManager(InAppContent)
49
- */
50
- @interface SMManagerSetting : NSObject
51
-
52
- /**
53
- * Once a new remote-notification is displayed, the badge is automaticly reseted.
54
- * Should you want to handle this property yourself, you can set this property to FALSE before starting the library
55
- * Default value is set to TRUE
56
- */
57
- @property (nonatomic) BOOL shouldClearBadge;
58
-
59
- /**
60
- * @discussion This setting will enable or disable the display of inapp-messages linked to a remote-notification by the SDK.
61
- * In iOS 10+ after tapping a notification, the inapp will be displayed (if any).
62
- * In iOS 9-, and when the app is in foreground, once a new remote-notification is received, the linked inapp-notification will be displayed (if any).
63
- * Should you want to prevent that behaviour, you can set this property to FALSE before starting the library.
64
- * Default value is set to TRUE.
65
- * @warning This property does not have an impact when [SMManager(RemoteNotification) displayNotificationID:] or [SMManager(RemoteNotification) displayLastReceivedRemotePushNotification] are called.
66
- * Once you set this value to TRUE, the application becomes responsable about displaying the inapp-notification linked to the received remote-notification.
67
- */
68
- @property (nonatomic) BOOL shouldDisplayRemoteNotification;
69
-
70
- /**
71
- * Used to add the in-app message associated to a remote notification to the in-app message list
72
- *
73
- * @discussion Once a new remote-notification is received, if it contains in the payload datas for an in-app message, this setting will add the in-app message to the in app messages list . You will need to listen to kSMNotification_Event_DidReceiveInAppMessage NSNotification to be informed that an in-app message is available and you can then retrieve it with [SMManager(InAppMessages) getInAppMessages] helper method and use in an inbox for example
74
- * by default the in app message will be displayed if you wish to display it by yourself you will need to provide a class by calling [SMManager(InAppMessage) inAppMessageDelegate:] . This class will conform to SMManagerInAppMessageDelegate protocol and implement [SMManagerInAppMessageDelegate displayInAppMessage:] method
75
- * Default value is set to FALSE
76
- */
77
- @property (nonatomic) BOOL shouldAddInAppMessageFromPushToInAppMessageList;
78
-
79
- /**
80
- * This value tells how often the SDK's cache mechanism should clear itself.
81
- *
82
- * @discussion Internally, each notification-messages has a life-span.
83
- * Clearing the cache stands for deleting notification-messages with an expired life-span.
84
- * In other words, only old notification-messages are deletesd from the cache.
85
- * More recent ones are kept in memory until their life-span expires and a new clearCache is called.
86
- * By default, this value is set to kSMClearCache_Auto.
87
- * Configuring this value highly depends of how frequently the application will query specific notification-messages.
88
- * As if the application query a notification-message which is not in the cache anymore, it will automaticaly fetch it from the backend.
89
- * In other words, it depends how often you call the API [SMManager(RemoteNotification) displayNotificationID:].
90
- *
91
- * In a nutshell:
92
- *
93
- * * If the application will never query [SMManager(RemoteNotification) displayNotificationID:], we recommend keeping this value to default.
94
- * * If the application use IAM-service, we recommend keeping this value to default.
95
- * * On the other hand, if the application abuse [SMManager(RemoteNotification) displayNotificationID:], we recommend selecting a value higher than the default one according to your application's need.
96
- *
97
- * @warning As soon as IAM-service is enabled, the SDK will consider kSMClearCache_Weekly as being the default value. Except if you explicitly overide the property.
98
- * In 99% of the cases, you should not overide this property as the SDK is smart enough to handle the cache mechanism by itself.
99
- * Keep also in mind that this behavior is only applicable for notification and IAM that doesn't have a n expiration date set
100
- * @see SMClearCache
101
- */
102
- @property (nonatomic) SMClearCache clearCacheIntervalValue;
103
-
104
- /**
105
- * This value provides to the sdk the app group id that you have previously defined in your apple developer portal.
106
- *
107
- * @discussion it is used to allow the sdk to share data between the main app and the notifications extensions (service and/or content)
108
- * The deviceid provided by selligent mobile platform is stored encrypted in this container
109
- */
110
- @property (nonatomic, strong) NSString *_Nullable appGroupId;
111
-
112
- /**
113
- * This value defines the behaviour that the SDK will adopt when a remote-notification is received when in Foreground.
114
- *
115
- * @discussion The behaviour will be as:
116
- *
117
- * iOS 10+:
118
- *
119
- * * kSMRemoteMessageDisplayType_None: nothing will be displayed.
120
- * * kSMRemoteMessageDisplayType_Notification: a Push Notification will be displayed.
121
- * * kSMRemoteMessageDisplayType_Automatic:<br/>
122
- * "Push + in-app notifications":<br/>
123
- * 1) With "Message Action": a Push Notification will be displayed (UNNotificationPresentationOptionAlert and UNNotificationPresentationOptionBanner | UNNotificationPresentationOptionList for iOS 14+).<br/>
124
- * 2) With "Push Notification Buttons": a Push Notification will be displayed (UNNotificationPresentationOptionAlert and UNNotificationPresentationOptionBanner | UNNotificationPresentationOptionList for iOS 14+).<br/>
125
- * 3) With "Rich Push Content": a Push Notification will be displayed (UNNotificationPresentationOptionAlert and UNNotificationPresentationOptionBanner | UNNotificationPresentationOptionList for iOS 14+).<br/>
126
- * 4) Others: an in-app message will be displayed (UNNotificationPresentationOptionNone).<br/><br/>
127
- * "Mobile push": a Push Notification will be displayed (UNNotificationPresentationOptionAlert and UNNotificationPresentationOptionBanner | UNNotificationPresentationOptionList for iOS 14+).
128
- *
129
- * iOS 9-:
130
- *
131
- * * kSMRemoteMessageDisplayType_None: nothing will be displayed.
132
- * * kSMRemoteMessageDisplayType_Notification: nothing will be displayed.
133
- * * kSMRemoteMessageDisplayType_Automatic:<br/>
134
- * "Push + in-app notifications": an in-app message will be displayed.<br/>
135
- * "Mobile push": the "Message Action" will be executed<br/>
136
- * @warning For iOS 10+, the SDK will only take this setting into account when the UNNotificationPresentationOptions delegate is provided (see SMManager(UserNotification) for more information).
137
- * @warning If not set, the default value (kSMRemoteMessageDisplayType_Unknown) will use kSMRemoteMessageDisplayType_Notification for iOS 10+ and kSMRemoteMessageDisplayType_Automatic for iOS 9-.
138
- * @see SMRemoteMessageDisplayType
139
- */
140
- @property (nonatomic) SMRemoteMessageDisplayType remoteMessageDisplayType;
141
-
142
- /*!
143
- * Default-mandatory constructor to start the SMManager shared-instance
144
- *
145
- * @param urlName NSString instance representing the urlname of your backend.
146
- * @param clientID NSString instance referencing the client's ID
147
- * @param privateKey NSString instance containing a valid private-key used to secure requests
148
- * @warning All these parameters are mandatory.
149
- * If any of them is nil, the library won't start.
150
- * Please contact our support to get valid configuration-setting.
151
- *
152
- * @return SMManagerSetting new instance. SMFailure in case of error
153
- */
154
- + (instancetype _Nonnull) settingWithUrl:(NSString*_Nullable)urlName ClientID:(NSString*_Nullable)clientID PrivateKey:(NSString*_Nullable)privateKey;
155
-
156
- /**
157
- * @discussion This call is optional. It is not needed to successfully start the SDK.
158
- * However, it is required to enable In-Application-Message.
159
- * Please read SMManager(InAppMessage) for additional information.
160
- *
161
- * @param settingIAM The SMManagerSettingIAM instance containing the IAM desired configuration.
162
- * @warning An invalid or nil setting is considered as an error and will not startUp the IAM-service.
163
- * Don't forget to enable In App message according to application need by calling [SMManager(InAppMessage) enableInAppMessage:]
164
- * @see SMManagerSettingIAM
165
- */
166
- - (void) configureInAppMessageServiceWithSetting:(SMManagerSettingIAM*_Nullable)settingIAM;
167
-
168
- /**
169
- * @discussion This call is optional. It is not needed to successfully start the SDK.
170
- * However, it is required to enable In-Application-Content.
171
- * Please read SMManager(InAppContent) for additional information.
172
- *
173
- * @param settingIAC The SMManagerSettingIAC instance containing the IAC desired configuration.
174
- * @warning An invalid or nil setting is considered as an error and will not startUp the IAC-service.
175
- * Don't forget to enable In App content according to application need by calling [SMManager(InAppContent) enableInAppContent:]
176
- * @see SMManagerSettingIAC
177
- */
178
- - (void) configureInAppContentServiceWithSetting:(SMManagerSettingIAC*_Nullable)settingIAC;
179
-
180
- @end
@@ -1,48 +0,0 @@
1
- //
2
- // SMManagerSettingIAC.h
3
- // MobileSDK
4
- //
5
- // Created by Gilbert Schakal on 11/03/16.
6
- // Copyright © 2016 Selligent. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "SMInAppRefreshType.h"
11
-
12
- /**
13
- * This class allow you to configure the In-App-Content service.
14
- * Such instance must be created before starting the library.
15
- */
16
- @interface SMManagerSettingIAC : NSObject
17
-
18
- /**
19
- * Constructor to be used in order to create the SMManagerSettingIAC instance
20
- * @discussion use this constructor to enable background-mode only.
21
- * The OS will refresh automaticly the IAC based on how often the user interacts with the application
22
- * @warning If background-fetch is not enabled in Application's Capabilities, the IAC-service will not start.
23
- * See SMManager(InAppContent) for additional information.
24
- */
25
- + (instancetype _Nonnull) settingWithBackgroundFetchOnly;
26
-
27
- /**
28
- * Constructor to be used in order to create the SMManagerSettingIAC instance
29
- *
30
- * @param refreshType The type of refresh to consider when the application is in foreground
31
- * @discussion Use this constructor should you want to perform periodic refresh when the application is in foreground-state only.
32
- * For enabling backgroundState, use settingWithRefreshType:ShouldPerformBackgroundFetch: instead
33
- * @see SMInAppRefreshType
34
- */
35
- + (instancetype _Nonnull) settingWithRefreshType:(SMInAppRefreshType)refreshType;
36
-
37
- /**
38
- * Constructor to be used in order to create the SMManagerSettingIAC instance
39
- *
40
- * @param refreshType The type of refresh to consider when the application is in foreground
41
- * @param shouldPerformBackgroundFetch If set to TRUE, it will activate UIApplication-BackGround-Fetch-mode automaticly
42
- * @discussion This constructor provides you with more control on foreground / background fetch.
43
- * Should you want to restrict to only one fetch-mode, feel free to use other constructors.
44
- * @see SMInAppRefreshType
45
- */
46
- + (instancetype _Nonnull) settingWithRefreshType:(SMInAppRefreshType)refreshType ShouldPerformBackgroundFetch:(BOOL)shouldPerformBackgroundFetch;
47
-
48
- @end
@@ -1,49 +0,0 @@
1
- //
2
- // SMManagerSettingIAM.h
3
- // MobileSDK
4
- //
5
- // Created by Samy Ziat on 30/09/15.
6
- // Copyright (c) 2015 Selligent. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "SMInAppRefreshType.h"
11
-
12
- /**
13
- * This class allow you to configure the In-App-Message service.
14
- * Such instance must be created before starting the library.
15
- */
16
- @interface SMManagerSettingIAM : NSObject
17
-
18
- /**
19
- * Constructor to be used in order to create the SMManagerSettingIAM instance
20
- *
21
- * @discussion use this constructor to enable background-mode only.
22
- * The OS will refresh automaticly the IAM based on how often the user interacts with the application
23
- * @warning If background-fetch is not enabled in Application's Capabilities, the IAM-service will not start.
24
- * See SMManager(InAppMessage) for additional information.
25
- */
26
- + (instancetype _Nonnull) settingWithBackgroundFetchOnly;
27
-
28
- /**
29
- * Constructor to be used in order to create the SMManagerSettingIAM instance
30
- *
31
- * @param refreshType The type of refresh to consider when the application is in foreground
32
- * @discussion Use this constructor should you want to perform periodic refresh when the application is in foreground-state only.
33
- * For enabling backgroundState, use settingWithRefreshType:ShouldPerformBackgroundFetch: instead
34
- * @see SMInAppRefreshType
35
- */
36
- + (instancetype _Nonnull) settingWithRefreshType:(SMInAppRefreshType)refreshType;
37
-
38
- /**
39
- * Constructor to be used in order to create the SMManagerSettingIAM instance
40
- *
41
- * @param refreshType The type of refresh to consider when the application is in foreground
42
- * @param shouldPerformBackgroundFetch If set to TRUE, it will activate UIApplication-BackGround-Fetch-mode automaticly
43
- * @discussion This constructor provides you with more control on foreground / background fetch.
44
- * Should you want to restrict to only one fetch-mode, feel free to use other constructors.
45
- * @see SMInAppRefreshType
46
- */
47
- + (instancetype _Nonnull) settingWithRefreshType:(SMInAppRefreshType)refreshType ShouldPerformBackgroundFetch:(BOOL)shouldPerformBackgroundFetch;
48
-
49
- @end
@@ -1,23 +0,0 @@
1
- //
2
- // SMManagerUniversalLinksDelegate.h
3
- // MobileSDK
4
- //
5
- // Created by Marc Biosca on 7/12/21.
6
- // Copyright © 2021 Selligent. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- /**
12
- * This protocol will give you the possibility to manage the behaviour when clicking a "deeplink" button type containing an universal link.
13
- */
14
- @protocol SMManagerUniversalLinksDelegate <NSObject>
15
- @optional
16
-
17
- /*!
18
- * @abstract Invoked when a "deeplink" button type, whose URL scheme is HTTP or HTTPS, is clicked
19
- * @param url The NSURL introduced as value of the button that has been clicked
20
- */
21
- - (void) executeLinkAction:(NSURL*_Nonnull)url;
22
-
23
- @end
@@ -1,21 +0,0 @@
1
- //
2
- // SMMessage.h
3
- // MobileSDK
4
- //
5
- // Created by Samy Ziat on 28/08/15.
6
- // Copyright (c) 2015 Selligent. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- /**
12
- * This Class is provided as a root Class and should not be used.
13
- */
14
- @interface SMMessage : NSObject
15
-
16
- /*!
17
- * NSString instance providing a brief description of the message
18
- */
19
- @property(readonly, nonatomic) NSString *_Nullable messageSM;
20
-
21
- @end
@@ -1,81 +0,0 @@
1
- /**
2
- * NSString representing a notification name you can listen to.
3
- * An NSNotification with this name is broadcasted when the user interacts with a remote-notification
4
- * Useful to retrieve user's actions on a received remote-notification, developers may listen to kSMNotification_Event_ButtonClicked from NSNotificationCenter.
5
- */
6
- extern NSString* kSMNotification_Event_ButtonClicked;
7
-
8
- /**
9
- * NSString representing a notification name you can listen to.
10
- * An NSNotification with this name is broadcasted shortly before displaying a remote-notification
11
- * Primary-application may use this notification to pause any ongoing work before the remote-notification is displayed.
12
- * This notification-name is also triggered even if you disable shouldDisplayRemoteNotification (see SMManagerSetting).
13
- */
14
- extern NSString* kSMNotification_Event_WillDisplayNotification;
15
-
16
- /**
17
- * NSString representing a notification name you can listen to.
18
- * An NSNotification with this name is broadcasted shortly before Dismissing the current remote-notification
19
- * Primary-application may use this notification to resume any paused work (see kSMNotification_Event_WillDisplayNotification).
20
- */
21
- extern NSString* kSMNotification_Event_WillDismissNotification;
22
-
23
-
24
- /**
25
- * NSString representing a notification name you can listen to.
26
- * An NSNotification with this name is broadcasted shortly after receiving a remote-notification
27
- * Primary-application may use this notification to decide when to display any remote-notification
28
- */
29
- extern NSString* kSMNotification_Event_DidReceiveRemoteNotification;
30
-
31
- /**
32
- * NSString representing a notification name you can listen to.
33
- * An NSNotification with this name is broadcasted shortly after receiving in-app messages
34
- * Primary-application may use this notification to manage the received in-app messages
35
- */
36
- extern NSString* kSMNotification_Event_DidReceiveInAppMessage;
37
-
38
- /**
39
- * NSString representing a notification name you can listen to.
40
- * An NSNotification with this name is broadcasted shortly after receiving in-app content
41
- * Primary-application may use this notification to manage the received in-app content
42
- */
43
- extern NSString* kSMNotification_Event_DidReceiveInAppContent;
44
-
45
- /**
46
- * NSString representing a notification name you can listen to.
47
- * An NSNotification with this name is broadcasted shortly after receiving device id from mobile platform
48
- * Primary-application may use this notification to manage the received device id
49
- */
50
- extern NSString* kSMNotification_Event_DidReceiveDeviceId;
51
-
52
-
53
- /**
54
- * NSString representing a key to retrieve an object inside NSNotification
55
- * Use the key kSMNotification_Data_ButtonData to retrive the object SMNotificationButtonData from the NSNotification-name kSMNotification_Event_ButtonClicked.
56
- */
57
- extern NSString* kSMNotification_Data_ButtonData;
58
-
59
- /**
60
- * NSString representing a key to retrieve an object inside NSNotification
61
- * Use the key kSMNotification_Data_RemoteNotification to retrieve an NSDictionary instance with push ID and name
62
- */
63
- extern NSString* kSMNotification_Data_RemoteNotification;
64
-
65
- /**
66
- * NSString representing a key to retrieve an object inside NSNotification
67
- * Use the key kSMNotification_Data_InAppMessage to retrieve an NSDictionary instance with an array of SMNotificationMessage
68
- */
69
- extern NSString* kSMNotification_Data_InAppMessage;
70
-
71
- /**
72
- * NSString representing a key to retrieve an object inside NSNotification
73
- * Use the key kSMNotification_Data_InAppContent to retrieve an NSDictionary instance with an array of in app contents categories as key and number of in app contents for the category as value
74
- */
75
- extern NSString* kSMNotification_Data_InAppContent;
76
-
77
- /**
78
- * NSString representing a key to retrieve a string inside NSNotification
79
- * Use the key kSMNotification_Data_DeviceId to retrieve an NString instance with device id value
80
- */
81
- extern NSString* kSMNotification_Data_DeviceId;
@@ -1,33 +0,0 @@
1
- //
2
- // SMNotificationAnnotationData.h
3
- // MobileSDK
4
- //
5
- // Created by Samy Ziat on 19/08/15.
6
- // Copyright (c) 2015 Selligent. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- @interface SMNotificationAnnotationData : NSObject
12
-
13
- /*!
14
- * NSString instance providing the title of the annotation
15
- */
16
- @property (readonly, nonatomic) NSString *_Nullable titleAnnotation;
17
-
18
- /*!
19
- * NSString instance providing the description of the annotation
20
- */
21
- @property (readonly, nonatomic) NSString *_Nullable descriptionAnnotation;
22
-
23
- /*!
24
- * NSString instance providing the latitude of the annotation
25
- */
26
- @property (readonly, nonatomic) float latitude;
27
-
28
- /*!
29
- * NSString instance providing the longitude of the message
30
- */
31
- @property (readonly, nonatomic) float longitude;
32
-
33
- @end
@@ -1,20 +0,0 @@
1
- //
2
- // SellNotificationButton
3
- // MobileSDK
4
- //
5
- // Created by Gilbert Schakal on 19/05/15.
6
- // Copyright (c) 2015 Selligent. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- #import "SMLink.h"
12
-
13
- /*!
14
- * This class is used to wrap informations about a notification button.
15
- *
16
- * Additional information provided in [SMManager](SMManager)
17
- */
18
- @interface SMNotificationButtonData : SMLink
19
-
20
- @end
@@ -1,90 +0,0 @@
1
- //
2
- // SMNotificationButtonType.h
3
- // MobileSDK
4
- //
5
- // Created by Gauthier Dumont on 03/07/15.
6
- // Copyright (c) 2015 Selligent. All rights reserved.
7
- //
8
-
9
- /*!
10
- * This enumeration declares all known button-type
11
- */
12
- typedef NS_ENUM(NSInteger, SMNotificationButtonType) {
13
- /*!
14
- * Any received button-type not in this enumeration type will be considered as unknown
15
- */
16
- kSMNotificationButtonType_Unknown = -1,
17
-
18
- /*!
19
- * A button-type that will have no action but when clicked will send back button value to the platform
20
- */
21
- kSMNotificationButtonType_Simple = 0,
22
-
23
- /*!
24
- * A button-type that will open the Phone application with a ready to use number to dial
25
- */
26
- kSMNotificationButtonType_OpenPhoneCall = 1,
27
-
28
- /*!
29
- * A button-type that will open the sms application with a ready to dial sms
30
- */
31
- kSMNotificationButtonType_OpenSms = 2,
32
-
33
- /*!
34
- * A button-type that will open the mail application
35
- */
36
- kSMNotificationButtonType_OpenMail = 3,
37
-
38
- /*!
39
- * Button that will open a ready to use safari-browser
40
- */
41
- kSMNotificationButtonType_OpenBrowser = 4,
42
-
43
- /*!
44
- * Button that will open a third party application
45
- */
46
- kSMNotificationButtonType_OpenApplication = 5,
47
-
48
- /**
49
- * Button-type which will allow application rating.
50
- * This will behave similarly to kSMNotificationButtonType_OpenApplication
51
- * In Android terminology, this notion is called "Store"
52
- */
53
- kSMNotificationButtonType_RateApplication = 6,
54
-
55
- /*!
56
- * Button that will trigger a notification (broadcast in Android terminology) inside the application for any interested listener.
57
- * You may register in your application to a specific event from NSNotificationCenter. The notification is broadcasted as soon as the push is received.
58
- * Your back-end team should inform you about the notification-name.
59
- * No parameters are currently supported.
60
- */
61
- kSMNotificationButtonType_CustomActionBroadcastEvent = 7,
62
-
63
- /**
64
- * Button-type which will allow user to provide back a media-type as answer
65
- * Media-type of kind Text
66
- */
67
- kSMNotificationButtonType_Return_Text = 8,
68
-
69
- /**
70
- * Button-type which will allow user to provide back a media-type as answer
71
- * Media-type of kind Picture
72
- */
73
- kSMNotificationButtonType_Return_Photo = 9,
74
-
75
- /**
76
- * Button-type which will allow user to provide back a media-type as answer
77
- * Media-type of kind Text + Picture
78
- */
79
- kSMNotificationButtonType_Return_TextAndPhoto = 10,
80
-
81
- /**
82
- * Button-type which will allow user to add pkpass file inside wallet app
83
- */
84
- kSMNotificationButtonType_Passbook = 11,
85
-
86
- /**
87
- * Button-type which will allow user depplink inside specific page in the app
88
- */
89
- kSMNotificationButtonType_DeepLink = 13
90
- };
@@ -1,31 +0,0 @@
1
- //
2
- // SMNotificationMessage.h
3
- // MobileSDK
4
- //
5
- // Created by Walter Tricknot on 17/01/2017.
6
- // Copyright © 2017 Selligent. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "SMInAppMessage.h"
11
- #import "SMNotificationButtonData.h"
12
-
13
- @interface SMNotificationMessage : SMInAppMessage
14
-
15
- /*!
16
- * NSString instance providing url of the Rich media attached to the remote-notification
17
- */
18
- @property (readonly, nonatomic) NSString*_Nullable mediaUrl;
19
-
20
- /*!
21
- * SMNotificationButtonData instance providing the main action behind the remote-notification banner
22
- * @see SMNotificationButtonData
23
- */
24
- @property (readonly, nonatomic) SMNotificationButtonData*_Nullable mainAction;
25
-
26
- /*!
27
- * NSArray of SMLink objects from the remote-notification
28
- */
29
- @property (readonly, nonatomic) NSArray*_Nullable notificationButtons;
30
-
31
- @end