@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,171 +0,0 @@
1
- //
2
- // SMManager+RemoteNotification.h
3
- // MobileSDK
4
- //
5
- // Created by Samy Ziat on 25/09/15.
6
- // Copyright (c) 2015 Selligent. All rights reserved.
7
- //
8
-
9
- #import "SMManager.h"
10
-
11
- @class SMNotificationMessage;
12
-
13
- /**
14
- * This category contains the basic step-by-step implementation to get you started.
15
- * Make sure to read the category SMManager(SilentPush) to learn more about background-remote-notification.
16
- *
17
- * ##Handling Remote Notifications
18
- * In order to receive remote-notification from the back-end, all the following methods must be included in you application's delegate:
19
- *
20
- * - didRegisterForRemoteNotificationsWithDeviceToken:
21
- * - didRegisterUserNotificationSettings:
22
- * - didFailToRegisterForRemoteNotificationsWithError:
23
- * - didReceiveRemoteNotification:
24
- *
25
- * Finally, make sure to call registerForRemoteNotification according to your application's need.
26
- *
27
- * ##Receiving Remote Notifications
28
- * When a remote-notification is received, the library will automatically display a custom UIViewController.
29
- * Should you want to prevent this behaviour, feel free to configure the SMManagerSetting accordingly before starting the SMManager.
30
- *
31
- * Before displaying the remote-notification's UIVIewController, the library will broadcast an NSNotification offering the application a chance to pause any ongoing heavy task.
32
- * The same principle is applied before dismissing the UIVIewController providing the application the opportunity to start again the paused heavy-task.
33
- *
34
- * Finally, should you want to know when the user interact with UIViewController's control, an NSNotification is also posted providing information about the selected element.
35
- * For additionnal information about NSNotification processing and handling, please check SMNSNotification
36
- *
37
- * ##Displaying notification
38
- * The application can display any notification based on its ID using the API displayNotificationID:
39
- * These IDs can be retrieved from broadcasted NSNotification.
40
- * (Please read SMNSNotification for additional information).
41
- *
42
- * A convenient method is provided to display the last received remote-notification using displayLastReceivedRemotePushNotification
43
- *
44
- */
45
- @interface SMManager (RemoteNotification)
46
-
47
- /*!
48
- * Mandatory method which allows notification registration
49
- *
50
- * @discussion This API will display a dialog asking user's permission for remote-notifications (when app is launched the very 1st time).
51
- * Often, this call is added right after startWithLaunchOptions:Setting:
52
- * However, you may call this API later in your code according to your application need. Just remember that this call is mandatory to receive remote-notifications
53
- * @warning If your device has already been registered to remote-notifications by your application or a third-party framework, then this call is not mandatory.
54
- */
55
- - (void) registerForRemoteNotification;
56
-
57
- /*!
58
- * Optional method which allows getting a provisional push token [more info](https://developer.apple.com/documentation/usernotifications/asking_permission_to_use_notifications)
59
- *
60
- * @discussion This API will automatically obtain a push token without asking the user, triggering registerForRemoteNotification afterwards will still present the prompt to the user.
61
- * @warning iOS 12+ method, do only implement this method when you have a clear strategy about how to engage with these type of users.
62
- */
63
- - (void) registerForProvisionalRemoteNotification API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0));
64
-
65
- /**
66
- * Use this API to unregister the current device. In other words, the device will not receive any remote-notification from our backend server anymore.
67
- * @warning Deprecated method. This does NOT call unregisterForRemoteNotifications on the sharedApplication instance.
68
- * Therefore, the application can still receive third-party remote-notifications.
69
- */
70
- - (void) unregisterForRemoteNotification __deprecated __deprecated_msg("Use disableRemoteNotification instead.");
71
-
72
- /**
73
- * Use this API to enable the selligent notification on current device. In other words, the device will receive any remote-notification from selligent backend server.
74
- * @warning This is independent from registerForRemoteNotification and from notification settings for the app on device level.
75
- */
76
- - (void) enableRemoteNotification;
77
-
78
- /**
79
- * Use this API to disable the selligent notification on current device. In other words, the device will not receive any remote-notification from selligent backend server anymore.
80
- * @warning This does NOT call unregisterForRemoteNotifications on the sharedApplication instance.
81
- * Therefore, the application can still receive third-party remote-notifications.
82
- */
83
- - (void) disableRemoteNotification;
84
-
85
- /*!
86
- * Mandatory API to be included in application:didRegisterForRemoteNotificationsWithDeviceToken:
87
- *
88
- * @param deviceToken A string that identifies the device to APNs.
89
- * @discussion This method is mandatory to handle properly all notifications
90
- */
91
- - (void) didRegisterForRemoteNotificationsWithDeviceToken:(NSData*_Nonnull) deviceToken;
92
-
93
- /*!
94
- * Mandatory API to be included in application:didRegisterUserNotificationSettings
95
- *
96
- * @param notificationSettings The user notification settings that are available to your app.
97
- * @discussion This method confirms the type of notification the user would like to receive.
98
- * @warning Deprecated method - replaced by didRegisterUserNotificationSettings;
99
- */
100
- - (void) didRegisterUserNotificationSettings:(UIUserNotificationSettings*_Nonnull)notificationSettings __deprecated;
101
-
102
- /*!
103
- * Mandatory API to be included in application:didRegisterUserNotificationSettings
104
- *
105
- * @discussion This method confirms the type of notification the user would like to receive.
106
- */
107
- - (void) didRegisterUserNotificationSettings;
108
-
109
- /*!
110
- * Mandatory API to be included in application:didFailToRegisterForRemoteNotificationsWithError
111
- *
112
- * @param error An NSError object that encapsulates information why registration did not succeed. Provided by the delegate call
113
- * @discussion Called when the user has deactivated remote-notification or if any other error happen.
114
- */
115
- - (void) didFailToRegisterForRemoteNotificationsWithError:(NSError *_Nonnull)error;
116
-
117
- /*!
118
- * Mandatory API to be included in application:didReceiveRemoteNotification
119
- * Handle and display remote notification when application is in foreground
120
- *
121
- * @param userInfo An NSDictionary that contains information related to the remote notification. Provided by the delegate call
122
- * @discussion This method is not mandatory anymore if you implement didReceiveRemoteNotification:fetchCompletionHandler:
123
- * For additional information about background-remote-notifications, please check SMManager(SilentPush) for further details.
124
- */
125
- - (void) didReceiveRemoteNotification:(NSDictionary *_Nonnull)userInfo;
126
-
127
- /**
128
- * Display a notification based on its ID
129
- *
130
- * @param idNotification NSString instance referencing the unique notification's ID
131
- * @discussion Basically, the application may store notification's IDs and then display them according to its need.
132
- * In this context, the word "notification" stands for either a remote-notification or an InAppMessage.
133
- * This feature has initially been added to allow applications to display remote-notifications at any time (not directly when the push is received).
134
- * Then, it has been extended to display In-App-Messages. For additional information about IAM, please read SMManager(InAppMessage).
135
- */
136
- - (void) displayNotificationID:(NSString*_Nullable)idNotification;
137
-
138
- /**
139
- * Retrieve and display the last known notification.
140
- *
141
- * @discussion Basically, This API is a helpher which combine both retrieveLastRemotePushNotification and displayNotificationID:
142
- * It only focuses on remote-notification. Not on IAM.
143
- * At this stage, only the very last remote-notification can be recovered, previous ones are automaticly overriden.
144
- * To learn more about this API, please read documentation in [SMManagerSetting](SMManagerSetting), more particularly [SMManagerSetting shouldDisplayRemoteNotification]
145
- */
146
- - (void) displayLastReceivedRemotePushNotification;
147
-
148
- /**
149
- * Retrieve information about the last received remote-notification
150
- *
151
- * @return NSDictionary instance containing basic information about the last push, nil if no push was received so far.
152
- * @discussion This is a convinient method to quickly retrieve the last remote-notificaiton known by the device.
153
- * At this stage, only the very last remote-notification can be recovered, previous ones are automaticly overriden.
154
- * To learn more about this API, please read documentation in [SMManagerSetting](SMManagerSetting), more particularly [SMManagerSetting shouldDisplayRemoteNotification]
155
- */
156
- - (NSDictionary*_Nullable) retrieveLastRemotePushNotification;
157
-
158
- /**
159
- * Tells to the SDK that a certain SMNotificationMessage object has been seen.
160
- * The SDK will send an opened event to the Selligent platform.
161
- *
162
- * @param notificationMessage SMNotificationMessage that needs to be marked as seen.
163
- * @discussion This is a convinient method when the behaviour when receiving a remote-notification is handled at App side
164
- * and the standard events need to be sent back to the Selligent platform.
165
- * @warning The App will be fully responsible of possible event duplication in the Selligent platform when implementing this method,
166
- * as each execution will trigger a new event, so make sure to just trigger it once if you don't want this to happen.
167
- * @see SMNotificationMessage
168
- */
169
- - (void) setNotificationMessageAsSeen:(SMNotificationMessage*_Nullable)notificationMessage;
170
-
171
- @end
@@ -1,67 +0,0 @@
1
- //
2
- // SMManager+SMEvent.h
3
- // MobileSDK
4
- //
5
- // Created by Samy Ziat on 25/09/15.
6
- // Copyright (c) 2015 Selligent. All rights reserved.
7
- //
8
-
9
- #import "SMManager.h"
10
-
11
- @class SMEvent;
12
-
13
- /**
14
- * Sending any set of data to the back-end can be done with the API sendSMEvent:
15
- *
16
- * ##Event type
17
- * Few default events are already available for you to be used.
18
- * They all inhirit from SMEvent and are configurable through their constructors.
19
- * At the time of this writing, they default provided events are :
20
- *
21
- * * SMEventUserLogin
22
- * * SMEventUserLogout
23
- * * SMEventUserRegistration
24
- * * SMEventUserUnregistration
25
- *
26
- * ##Custom events
27
- * Simplest case is to create an instance of SMEvent.
28
- * Then, inject your data in it (Code example bellow).
29
- *
30
- * Also, you can subclass from default provided event-type or even create your own sub-classes of events.
31
- *
32
- * The library will keep sending events to the backend as far as they inhirit from SMEvent.
33
- *
34
- * ##Injecting custom data in events
35
- * Any information can be appended to an event and sent to your back-end.
36
- * This is basically done by creating a dictionary containing your data and injecting it as in the example bellow.
37
- *
38
- *
39
- * @code
40
- * // Dictionary with your custom data
41
- *
42
- * NSDictionary *dictMyCustomData = @{@"MyKey": @"MyValue"};
43
- *
44
- * // Create the event
45
- *
46
- * SMEvent *event = [SMEvent eventWithDictionary:dictMyCustomData];
47
- *
48
- * // Sent the event to the back-end
49
- *
50
- * [[SMManager sharedInstance] sendSMEvent:event];
51
- * @endcode
52
- *
53
- * The exemple above is considered as a custom event.
54
- * The same principle can be applied to any event-type subclasses stated above or to your own subclasses of SMEvent.
55
- */
56
- @interface SMManager (SMEvent)
57
-
58
- /*!
59
- * Send an event to the Selligent platform
60
- *
61
- * @param event An SMEvent object containing your event
62
- * @discussion Should you want to track the event's response, please check SMEvent
63
- * @see SMEvent
64
- */
65
- - (void) sendSMEvent:(SMEvent*_Nullable)event;
66
-
67
- @end
@@ -1,44 +0,0 @@
1
- //
2
- // SMManager+SMLink.h
3
- // MobileSDK
4
- //
5
- // Created by Marc Biosca on 7/12/21.
6
- // Copyright © 2021 Selligent. All rights reserved.
7
- //
8
-
9
- #import "SMManagerUniversalLinksDelegate.h"
10
-
11
- @class SMNotificationMessage;
12
- @class SMLink;
13
-
14
- /**
15
- * This category will help you to manage specific behaviour related to SMLink.
16
- */
17
- @interface SMManager (SMLink)
18
-
19
- /**
20
- * Used to let the app manage the behaviour of "deeplink" button types containing universal links.
21
- *
22
- * @param delegate An object implementing SMManagerUniversalLinksDelegate methods
23
- * @discussion This setting will allow you to manage the behaviour of the click in a "deeplink" button type that contains an universal link.
24
- * In order to do it, the delegate object should implement [SMManagerUniversalLinksDelegate executeLinkAction:] method, it will provide the app with the defined NSURL.
25
- * @see SMManagerUniversalLinksDelegate
26
- */
27
- - (void) universalLinksDelegate:(id <SMManagerUniversalLinksDelegate>_Nullable) delegate;
28
-
29
- /**
30
- * Tells to the SDK that a certain SMLink object has been clicked.
31
- * The SDK will send a clicked event to the Selligent platform.
32
- *
33
- * @param link SMLink that needs to be marked as clicked.
34
- * @param notificationMessage The SMNotificationMessage from where the link was extracted.
35
- * @discussion This is a convinient method when the behaviour when receiving a remote-notification is handled at App side
36
- * and the standard events need to be sent back to the Selligent platform.
37
- * @warning The App will be fully responsible of possible event duplication in the Selligent platform when implementing this method,
38
- * as each execution will trigger a new event, so make sure to just trigger it once if you don't want this to happen.
39
- * @see SMLink
40
- * @see SMNotificationMessage
41
- */
42
- - (void) setLinkAsClicked:(SMLink*_Nullable)link fromMessage:(SMNotificationMessage*_Nullable)notificationMessage;
43
-
44
- @end
@@ -1,53 +0,0 @@
1
- //
2
- // SMManager+SilentPush.h
3
- // MobileSDK
4
- //
5
- // Created by Samy Ziat on 25/09/15.
6
- // Copyright (c) 2015 Selligent. All rights reserved.
7
- //
8
-
9
- #import "SMManager+RemoteNotification.h"
10
-
11
- /**
12
- * Optionally, you can support silent-remote-notificaiton which will not render anything on the device.
13
- * To know more about this topic, please visit [the Apple documentation.](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW1)
14
- *
15
- * Even if you're not planning to use silent-pushes, we recommand enabling this service in your application anyway.
16
- * As using this service will also improve rendering time for the usual (non-silent) remote-notifications.
17
- *
18
- * ##Implementation
19
- * In a nutshell, you should do the following :
20
- *
21
- * * In the application's target, enable the following: Capabilities > Background Modes > Remote Notifications
22
- * * Removing previous call to didReceiveRemoteNotification: (see last point of "Start library")
23
- * * Implement didReceiveRemoteNotification:fetchCompletionHandler: in UIApplication's delegate.
24
- */
25
- @interface SMManager (SilentPush)
26
-
27
- /**
28
- * Mandatory API to be included in application:didReceiveRemoteNotification:fetchCompletionHandler
29
- * Handle and display the received notification according to different application state.
30
- *
31
- * @param userInfo An NSDictionary that contains information related to the remote notification. Provided by the delegate call
32
- * @param completionHandler The block-completion to be processed after the download. Provided by the delegate call
33
- * @discussion It is recommended to use this API over didReceiveRemoteNotification: as it handles silent-remote-notificaitons.
34
- * @warning You must enable "Remote notifications" in your application's Capabilities in order to use this API.
35
- * If this capability is not useful to your application, you must use [SMManager(RemoteNotification) didReceiveRemoteNotification:] instead.
36
- */
37
- - (void) didReceiveRemoteNotification:(NSDictionary *_Nullable)userInfo fetchCompletionHandler:(void (^_Nullable)(UIBackgroundFetchResult))completionHandler;
38
-
39
- /**
40
- * See didReceiveRemoteNotification:fetchCompletionHandler:
41
- *
42
- * @param userInfo An NSDictionary that contains information related to the remote notification. Provided by the delegate call
43
- * @param completionHandler The block-completion to be processed after the download. Provided by the delegate call
44
- * @param resultFetch The enumeration that might be overiden by application if needed
45
- * @discussion This API is provided in order to force the fetch result to a specific value.
46
- * Use it only if your application need to overide the service.
47
- * Otherwise, please use didReceiveRemoteNotification:fetchCompletionHandler:
48
- * @warning You must enable "Remote notifications" in your application's Capabilities in order to use this API.
49
- * If this capability is not useful to your application, you must use [SMManager(RemoteNotification) didReceiveRemoteNotification:] instead.
50
- */
51
- - (void) didReceiveRemoteNotification:(NSDictionary *_Nullable)userInfo fetchCompletionHandler:(void (^_Nullable)(UIBackgroundFetchResult))completionHandler ForceResultFetch:(UIBackgroundFetchResult)resultFetch;
52
-
53
- @end
@@ -1,36 +0,0 @@
1
- //
2
- // SMManager+StyleOptions.h
3
- // MobileSDK
4
- //
5
- // Created by Gilbert Schakal on 30/04/16.
6
- // Copyright © 2016 Selligent. All rights reserved.
7
- //
8
-
9
- #import "SMManager.h"
10
-
11
- @class SMInAppContentStyleOptions;
12
-
13
- /*!
14
- * Allows you to customise the appearance of all the In App Content containers
15
- *
16
- * ##Implementation
17
- * * First create a SMInAppContentStyleOptions object instance
18
- * * load it with loadStyleOptions:
19
- */
20
-
21
- @interface SMManager (StyleOptions)
22
-
23
- /*!
24
- * This will allow you to load your custom SMInAppContentStyleOptions object
25
- *
26
- * @param options a SMInAppContentStyleOptions object
27
- * @see SMInAppContentStyleOptions
28
- */
29
- - (void) loadStyleOptions:(SMInAppContentStyleOptions*_Nullable)options;
30
-
31
- /*!
32
- * Reset style options to default one
33
- */
34
- - (void) resetStyleOptions;
35
-
36
- @end
@@ -1,180 +0,0 @@
1
- //
2
- // SMManager+UserNotification.h
3
- // MobileSDK
4
- //
5
- // Created by Gilbert Schakal on 25/01/2017.
6
- // Copyright © 2017 Selligent. All rights reserved.
7
- //
8
-
9
- #import "SMManager+RemoteNotification.h"
10
- #import <UserNotifications/UserNotifications.h>
11
- #import <UserNotificationsUI/UserNotificationsUI.h>
12
-
13
- @class SMNotificationMessage;
14
-
15
- /**
16
- * In addition to the implementation of category SMManager(RemoteNotification), this category will supply a support of iOS 10 and usage of UserNotifications framework
17
- *
18
- * Make sure to read the category SMManager(RemoteNotification) to learn more about remote-notification for support of iOS version 8 and 9 and to correctly register for remote notification.
19
- *
20
- * If you build against iOS 10+ and you use UserNotifications framework we then recommend you to implement those 2 methods of UNUserNotificationCenterDelegate in your appdelegate:
21
- *
22
- * - didReceiveNotificationResponse:
23
- * - didReceiveNotificationResponse:withCompletionHandler:
24
- * - willPresentNotification:
25
- * - willPresentNotification:withCompletionHandler:
26
- *
27
- * Register your appdelegate to the UNUserNotificationCenter by adding the following two lines in the didFinishLaunchingWithOptions delegate.
28
- *
29
- * `UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];`
30
- *
31
- * `center.delegate = self;`
32
- *
33
- *
34
- * __Notification extensions__
35
- *
36
- * In this category you will also find the support for notification extensions target (content and service)
37
- *
38
- * Init extensions (to be used for each extensions that will be added to your project):
39
- *
40
- * - startExtensionWithSetting:
41
- *
42
- * Notification content extension :
43
- *
44
- * - didReceiveNotification:
45
- *
46
- * Notification service extension :
47
- *
48
- * - didReceiveNotificationRequest:
49
- * - didReceiveNotificationRequest:withContentHandler:
50
- * - serviceExtensionTimeWillExpire
51
- *
52
- */
53
- @interface SMManager (UserNotification)
54
-
55
- /*!
56
- * Mandatory API when used inside App in AppDelegate (but is optional for Notification Content Extension), when building against iOS 10+ and using UserNotifications framework, to be included in userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler.
57
- * Handle and display remote notification.
58
- *
59
- * @param response An UNNotificationResponse that contains information about the notification and the interaction the user has done with it. Provided by the delegate call
60
- * @discussion This method is mandatory when used in AppDelegate but is optional when implementing Notification content extension. When used in Notification Content Extension it provides to the sdk the ability to process the action that should be triggered without opening the app (in this case don't forget to call the completionhandler with the desired UNNotificationContentExtensionResponseOption
61
- */
62
- - (void) didReceiveNotificationResponse:(UNNotificationResponse*_Nonnull)response;
63
-
64
- /*!
65
- * Mandatory API, when building against iOS 10+ and using UserNotifications framework, to be included in userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler
66
- * Handle and display remote notification.
67
- *
68
- * @param response An UNNotificationResponse that contains information about the notification and the interaction the user has done with it. Provided by the delegate call
69
- * @param completionHandler A completion that will be called with the option UNNotificationContentExtensionResponseOptionDismiss
70
- */
71
- - (void) didReceiveNotificationResponse:(UNNotificationResponse *_Nonnull)response withCompletionHandler:(void (^_Nullable)(UNNotificationContentExtensionResponseOption option))completionHandler;
72
-
73
- /*!
74
- * Mandatory API, when building against iOS 10+ and using UserNotifications framework, to be included in userNotificationCenter:willPresentNotification:withCompletionHandler
75
- * Handle the remote notification when app is in foreground.
76
- *
77
- * This allows the SDK to inform the services that the Selligent push has been received.
78
- *
79
- * Calling this method does not call any CompletionHandler. You will have to call the completion handler with your preferred option.
80
- *
81
- * For example you can call inside this delegate :
82
- * completionHandler(UNNotificationPresentationOptionAlert);
83
- *
84
- * @param notification A UNNotification that contains information about the notification.
85
- */
86
- - (void) willPresentNotification:(UNNotification*_Nonnull)notification;
87
-
88
- /*!
89
- * Mandatory API, when building against iOS 10+ and using UserNotifications framework, to be included in userNotificationCenter:willPresentNotification:withCompletionHandler
90
- * Handle the remote notification when app is in foreground and call the completionHandler(UNNotificationPresentationOptionAlert) by default (or UNNotificationPresentationOptionBanner | UNNotificationPresentationOptionList for iOS 14+).
91
- *
92
- * This allows the SDK to inform the services that the Selligent push has been received.
93
- *
94
- * You don't need to call the completion handler in the delegate anymore.
95
- *
96
- * @param notification An UNNotification that contains information about the notification.
97
- * @param completionHandler A Completion handler that will be called with a specific UNNotificationPresentationOption depending on the SMForegroundDisplayType value specified when starting the SDK.
98
- * @see SMManagerSetting
99
- */
100
- - (void) willPresentNotification:(UNNotification*_Nonnull)notification withCompletionHandler:(void (^_Nullable)(UNNotificationPresentationOptions options))completionHandler;
101
-
102
- /*!
103
- * Mandatory method which allows sdk initialisation when building against iOS 10+ and using Notification Extensions .
104
- * To be included in didReceiveNotification: when implementing Notification content extension and/or in didReceiveNotificationRequest:withContentHandler: when implementing Notification service extension
105
- *
106
- * @param setting mandatory SMManagerSetting instance to start-up the library - this setting mus tbe initialized with only url, clienID and privateKet provided by selligent
107
- * @see SMManagerSetting
108
- * @discussion This method is mandatory in order to start / initialize the library and should be called in in didReceiveNotification: when implementing Notification content extension and/or in didReceiveNotificationRequest:withContentHandler: when implementing Notification service extension
109
- * @see SMManagerSetting
110
- */
111
- - (void) startExtensionWithSetting:(SMManagerSetting*_Nonnull)setting;
112
-
113
- /*!
114
- * Optional API, when building against iOS 10+ and using a Notification Content Extension target, to be included in NotificationViewController didReceiveNotification:
115
- * Handle the push action buttons that may be present in the selligent notification payload
116
- *
117
- * This allows the SDK to display the action buttons in the push notification outside of the app.
118
- *
119
- * The category that must be added to Info.plist of the Notification Content Extension target is mandatory and must be SELLIGENT_BUTTON.
120
- *
121
- * @param notification A UNNotification that contains information about the notification.
122
- */
123
- - (void) didReceiveNotification:(UNNotification*_Nonnull)notification __deprecated_msg("Method deprecated. Use `didReceiveNotification:withContext:`");
124
-
125
- /*!
126
- * Optional API, when building against iOS 10+ and using a Notification Content Extension target, to be included in NotificationViewController didReceiveNotification:
127
- * Handle the push action buttons that may be present in the selligent notification payload
128
- *
129
- * This allows the SDK to display the action buttons in the push notification outside of the app.
130
- *
131
- * The category that must be added to Info.plist of the Notification Content Extension target is mandatory and must be SELLIGENT_BUTTON.
132
- *
133
- * @param notification A UNNotification that contains information about the notification.
134
- * @param context A NSExtensionContext that contains the context information of the extension.
135
- */
136
- - (void) didReceiveNotification:(UNNotification*_Nonnull)notification withContext:(NSExtensionContext*_Nullable)context;
137
-
138
- /*!
139
- * Optional API, when building against iOS 10+ and using a Notification Service Extension target, to be included in NotificationService didReceiveNotificationRequest:withContentHandler:
140
- * Handle the selligent payload before displaying it to the user
141
- *
142
- * This allows the SDK to decrypt the payload before displaying it to the user if you have activated the encryption of push.
143
- *
144
- * @param request An UNNotificationRequest that contains the original notification request.
145
- * @return UNMutableNotificationContent the updated content of the payload.
146
- * @discussion you can use this method if you have decided to trigger the block to execute with the modified content by yourself otherwise if you want the sdk to manage all steps please use SMManager didReceiveNotificationRequest:withContentHandler:
147
- */
148
- - (UNMutableNotificationContent*_Nullable) didReceiveNotificationRequest:(UNNotificationRequest*_Nonnull)request;
149
-
150
- /*!
151
- * Optional API, when building against iOS 10+ and using a Notification Service Extension target, to be included in NotificationService didReceiveNotificationRequest:withContentHandler:
152
- * Handle the selligent payload before displaying it to the user
153
- *
154
- * This allows the SDK to decrypt the payload before displaying it to the user if you have activated the encryption of push.
155
- *
156
- * @param request An UNNotificationRequest that contains the original notification request.
157
- * @param contentHandler The block to execute with the modified content
158
- * @discussion you can use this method if you want the sdk to manage the display of the notification after the decryption has been processed
159
- */
160
- - (void) didReceiveNotificationRequest:(UNNotificationRequest*_Nonnull)request withContentHandler:(void (^_Nullable)(UNNotificationContent*_Nonnull))contentHandler;
161
-
162
- /*!
163
- * Optional API, when building against iOS 10+ and using a Notification Service Extension target, to be included in NotificationService serviceExtensionTimeWillExpire
164
- * Tells the sdk that the extension is about to be terminated.
165
- * @discussion this method is to be implemented only if you have implemented SMManager didReceiveNotificationRequest:withContentHandler:
166
- */
167
- - (void) serviceExtensionTimeWillExpire;
168
-
169
- /**
170
- * Optional API, retrieves the SMNotificationMessage object from a given userInfo
171
- *
172
- * @param userInfo An NSDictionary
173
- * @return SMNotificationMessage instance containing the information extracted from the given userInfo.
174
- * @discussion This is a convinient method to get the SMNotificationMessage from an incoming remote-notification.
175
- * It can be used for custom purposes when receiving a remote-notification in foreground for iOS 10+.
176
- * @see SMNotificationMessage
177
- */
178
- - (SMNotificationMessage*_Nullable) retrieveNotificationMessage:(NSDictionary*_Nullable)userInfo;
179
-
180
- @end
@@ -1,45 +0,0 @@
1
- //
2
- // SMManager+ViewController.h
3
- // MobileSDK
4
- //
5
- // Created by Gauthier Dumont on 07/07/15.
6
- // Copyright (c) 2015 Selligent. All rights reserved.
7
- //
8
-
9
- /**
10
- * This category will help our SDK making the WKWebView navigation buttons enabled/disabled when needed, if inAppMessageWKNavigationDelegate is set.
11
- */
12
- @interface SMManager (ViewController)
13
-
14
- /*!
15
- * Use this API inside the corresponding method in your WKNavigationDelegate when inAppMessageWKNavigationDelegate is set.
16
- * It will enable the SDK to have the navigation arrows working properly and log the error when the delegate is implemented in your APP.
17
- *
18
- * @param webView The WKWebView from the WKNavigationDelegate.
19
- * @param navigation The WKNavigation from the WKNavigationDelegate.
20
- * @param error The NSError from the WKNavigationDelegate.
21
- */
22
- - (void) webView:(WKWebView *_Nonnull)webView didFailNavigation:(WKNavigation *_Nonnull)navigation withError:(NSError *_Nonnull)error;
23
-
24
- /*!
25
- * Use this API inside the corresponding method in your WKNavigationDelegate when inAppMessageWKNavigationDelegate is set.
26
- * It will enable the SDK to have the navigation arrows working properly when the delegate is implemented in your APP.
27
- *
28
- * @param webView The WKWebView from the WKNavigationDelegate.
29
- * @param navigation The WKNavigation from the WKNavigationDelegate
30
- */
31
- - (void) webView:(WKWebView *_Nonnull)webView didFinishNavigation:(WKNavigation *_Nonnull)navigation;
32
-
33
- /*!
34
- * Use this API inside the corresponding method in your WKNavigationDelegate when inAppMessageWKNavigationDelegate is set.
35
- * It will enable the SDK to have the navigation arrows working properly when the delegate is implemented in your APP.
36
- *
37
- * @param webView The WKWebView from the WKNavigationDelegate.
38
- * @param navigation The WKNavigation from the WKNavigationDelegate.
39
- */
40
- - (void) webView:(WKWebView *_Nonnull)webView didCommitNavigation:(WKNavigation *_Nonnull)navigation;
41
-
42
- @end
43
-
44
-
45
-
@@ -1,69 +0,0 @@
1
- //
2
- // SellMobileSDK.h
3
- // MobileSDK
4
- //
5
- // Created by Gilbert Schakal on 17/04/15.
6
- // Copyright (c) 2015 Selligent. All rights reserved.
7
- //
8
-
9
- #import <UIKit/UIKit.h>
10
-
11
- #import "SMManagerHelper.h"
12
-
13
- @class SMManagerSetting;
14
-
15
- /*!
16
- * ##Start Library
17
- * In order to start the library, please follow the steps bellow (will mainly happen in your UIApplication's delegate):
18
- *
19
- * - Use startWithLaunchOptions:Setting: in your application:didFinishLaunchingWithOptions:
20
- * - Implement methods described in SMManager(RemoteNotification) in your UIApplication's delegate
21
- * - When building against iOS10 : Implement methods described in SMManager(UserNotification) in your UIApplication's delegate
22
- *
23
- * Starting the library will not register for remote notification.
24
- * Don't forget to call registerForRemoteNotification according to your application's need.
25
- *
26
- * From there, your application is ready to handle all incoming remote-notifications.
27
- */
28
- @interface SMManager : NSObject
29
-
30
- /**
31
- * The current version of the library
32
- */
33
- @property (readonly, nonatomic) NSString *_Nonnull versionLib;
34
-
35
- /*!
36
- * Singleton for SellMobileSDK Class which allow to access public SellMobileSDK methods and properties
37
- *
38
- * @return SMManager: singleton instance of SMManager class
39
- */
40
- + (instancetype _Nonnull) sharedInstance;
41
-
42
- /*!
43
- * Mandatory method which allows sdk initialisation. To be included in application:didFinishLaunchingWithOptions:
44
- * Make sure to provide the launchOptions dictionary
45
- *
46
- * @param launchOptions NSDictionary instance indicating the reason the app was launched (if any). This dictionary is provided by application:didFinishLaunchingWithOptions
47
- * @param setting mandatory SMManagerSetting instance to start-up the library
48
- * @see SMManagerSetting
49
- * @discussion This method is mandatory in order to start / initialize the library and should be called in application:didFinishLaunchingWithOptions:
50
- */
51
- - (void) startWithLaunchOptions:(NSDictionary* _Nullable)launchOptions Setting:(SMManagerSetting* _Null_unspecified)setting;
52
-
53
- /*!
54
- * Optional + used for testing only. This method will re-configure the SMManager with the newly provided information
55
- *
56
- * @discussion This is a handy API in case you would like to switch between two backend environements without rebuilding your target.
57
- * @param setting mandatory SMManagerSetting instance to start-up the library
58
- * @warning This API is provided for testing purposes only. Never use it in production.
59
- * Make sure to re-enable any service after calling this API.
60
- * @see SMManagerSetting
61
- */
62
- - (void) reloadSetting:(SMManagerSetting* _Null_unspecified)setting;
63
-
64
- /*!
65
- * Device id used by the sdk
66
- */
67
- - (NSString*_Nullable) deviceID;
68
-
69
- @end