@selligent-marketing-cloud/selligent-react-native 3.1.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.
- package/README.md +43 -1550
- package/RNSelligent.podspec +8 -15
- package/android/build.gradle +46 -79
- package/android/src/main/java/com/selligent/BroadcastEventType.java +4 -1
- package/android/src/main/java/com/selligent/ButtonAction.java +81 -0
- package/android/src/main/java/com/selligent/ButtonBroadcastEventDataParser.java +9 -3
- package/android/src/main/java/com/selligent/DeviceIdBroadcastEventDataParser.java +15 -0
- package/android/src/main/java/com/selligent/EventType.java +1 -1
- package/android/src/main/java/com/selligent/GCMTokenBroadcastEventDataParser.java +6 -1
- package/android/src/main/java/com/selligent/InAppMessageBroadcastEventDataParser.java +7 -1
- package/android/src/main/java/com/selligent/NotificationMessageBroadcastEventDataParser.java +19 -0
- package/android/src/main/java/com/selligent/RNSelligent.java +195 -56
- package/android/src/main/java/com/selligent/SMSettingsFactory.java +0 -1
- package/android/src/main/java/com/selligent/Settings.java +0 -9
- package/constants.d.ts +7 -33
- package/constants.js +51 -85
- package/documentation/README.md +826 -0
- package/helpers.js +5 -6
- package/index.android.js +8 -83
- package/index.d.ts +33 -43
- package/index.ios.js +25 -76
- package/index.js +153 -45
- package/ios/RNSelligentMapper.h +21 -0
- package/ios/RNSelligentMapper.m +151 -0
- package/ios/RNSelligentMobileSDK.xcframework/Info.plist +40 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Headers/RNSelligentMobileSDK-Swift.h +350 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Info.plist +0 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios.abi.json +2603 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +59 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios.swiftinterface +59 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/Modules/module.modulemap +4 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/RNSelligentMobileSDK +0 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64/RNSelligentMobileSDK.framework/_CodeSignature/CodeResources +179 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Headers/RNSelligentMobileSDK-Swift.h +696 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Info.plist +0 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +2603 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +59 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +59 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +2603 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +59 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/RNSelligentMobileSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +59 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/Modules/module.modulemap +4 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/RNSelligentMobileSDK +0 -0
- package/ios/RNSelligentMobileSDK.xcframework/ios-arm64_x86_64-simulator/RNSelligentMobileSDK.framework/_CodeSignature/CodeResources +234 -0
- package/package.json +30 -11
- package/.gitattributes +0 -1
- package/CHANGELOG.md +0 -68
- package/android/README.md +0 -15
- package/android/build/generated/source/buildConfig/debug/com/selligent/BuildConfig.java +0 -12
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -9
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +0 -18
- package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +0 -4
- package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
- package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/R.txt +0 -6781
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -1
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
- package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
- package/android/build/intermediates/javac/debug/classes/com/selligent/BroadcastDataFactory$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/BroadcastDataFactory.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/BroadcastEventDataParser.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/BroadcastEventType.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/BuildConfig.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/ButtonBroadcastEventDataParser.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/ClearCacheIntervalValue.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/Event.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/EventReceiver.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/EventType.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/GCMTokenBroadcastEventDataParser.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/InAppMessageBroadcastEventDataParser.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/InAppMessageRefreshType.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$2.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$3.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$4.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent$5.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligent.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/RNSelligentPackage.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/RemoteMessageDisplayType.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/SMEventFactory$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/SMEventFactory.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/SMSettingsFactory.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/selligent/Settings.class +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +0 -2
- package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +0 -11
- package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +0 -9
- package/android/build/intermediates/navigation_json/debug/navigation.json +0 -1
- package/android/build/intermediates/packaged_manifests/debug/output-metadata.json +0 -18
- package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +0 -5100
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -25
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/libs/sdk-release.aar +0 -0
- package/documentation/add_json_file.png +0 -0
- package/documentation/add_lib_file.png +0 -0
- package/ios/BackgroundFetchResult.h +0 -5
- package/ios/ClearCacheInterval.h +0 -7
- package/ios/ClientSettings.h +0 -22
- package/ios/ClientSettings.m +0 -39
- package/ios/EnumMapper.h +0 -36
- package/ios/EnumMapper.m +0 -121
- package/ios/Event+SMEvent.h +0 -13
- package/ios/Event+SMEvent.m +0 -41
- package/ios/Event.h +0 -12
- package/ios/Event.m +0 -24
- package/ios/EventType.h +0 -7
- package/ios/InAppMessageRefreshType.h +0 -6
- package/ios/InAppMessageSettings.h +0 -9
- package/ios/InAppMessageSettings.m +0 -19
- package/ios/LocationAuthorisationStatus.h +0 -6
- package/ios/LocationAuthorisationType.h +0 -4
- package/ios/LogLevel.h +0 -9
- package/ios/NotificationButtonType.h +0 -15
- package/ios/ParsableObject.h +0 -5
- package/ios/RNSelligent.h +0 -22
- package/ios/RNSelligent.m +0 -347
- package/ios/RemoteMessageDisplayType.h +0 -5
- package/ios/SMManagerSetting+ClientSettings.h +0 -9
- package/ios/SMManagerSetting+ClientSettings.m +0 -73
- package/ios/SelligentLogger.h +0 -7
- package/ios/SelligentLogger.m +0 -9
- package/ios/SelligentReactNative.xcodeproj/project.pbxproj +0 -446
- package/ios/include/SMBaseMessage.h +0 -48
- package/ios/include/SMBlock.h +0 -21
- package/ios/include/SMClearCache.h +0 -34
- package/ios/include/SMContentAlignment.h +0 -27
- package/ios/include/SMDeviceInfos.h +0 -38
- package/ios/include/SMDisplayMode.h +0 -27
- package/ios/include/SMEvent.h +0 -69
- package/ios/include/SMEventUser.h +0 -20
- package/ios/include/SMEventUserLogin.h +0 -42
- package/ios/include/SMEventUserLogout.h +0 -42
- package/ios/include/SMEventUserRegistration.h +0 -42
- package/ios/include/SMEventUserUnregistration.h +0 -42
- package/ios/include/SMFailure.h +0 -19
- package/ios/include/SMHelper.h +0 -51
- package/ios/include/SMInAppContentHTMLViewController.h +0 -59
- package/ios/include/SMInAppContentImageViewController.h +0 -36
- package/ios/include/SMInAppContentMessage.h +0 -56
- package/ios/include/SMInAppContentStyleOptions.h +0 -511
- package/ios/include/SMInAppContentType.h +0 -35
- package/ios/include/SMInAppContentURLViewController.h +0 -36
- package/ios/include/SMInAppContentViewController.h +0 -31
- package/ios/include/SMInAppMessage.h +0 -51
- package/ios/include/SMInAppMessageType.h +0 -50
- package/ios/include/SMInAppRefreshType.h +0 -29
- package/ios/include/SMLink.h +0 -39
- package/ios/include/SMLog.h +0 -54
- package/ios/include/SMManager+DataTransaction.h +0 -33
- package/ios/include/SMManager+InAppContent.h +0 -170
- package/ios/include/SMManager+InAppMessage.h +0 -172
- package/ios/include/SMManager+Location.h +0 -41
- package/ios/include/SMManager+Log.h +0 -31
- package/ios/include/SMManager+RemoteNotification.h +0 -171
- package/ios/include/SMManager+SMEvent.h +0 -67
- package/ios/include/SMManager+SMLink.h +0 -44
- package/ios/include/SMManager+SilentPush.h +0 -53
- package/ios/include/SMManager+StyleOptions.h +0 -36
- package/ios/include/SMManager+UserNotification.h +0 -180
- package/ios/include/SMManager+ViewController.h +0 -45
- package/ios/include/SMManager.h +0 -69
- package/ios/include/SMManagerHelper.h +0 -18
- package/ios/include/SMManagerInAppMessageDelegate.h +0 -24
- package/ios/include/SMManagerSetting+Location.h +0 -27
- package/ios/include/SMManagerSetting.h +0 -180
- package/ios/include/SMManagerSettingIAC.h +0 -48
- package/ios/include/SMManagerSettingIAM.h +0 -49
- package/ios/include/SMManagerUniversalLinksDelegate.h +0 -23
- package/ios/include/SMMessage.h +0 -21
- package/ios/include/SMNSNotification.h +0 -81
- package/ios/include/SMNotificationAnnotationData.h +0 -33
- package/ios/include/SMNotificationButtonData.h +0 -20
- package/ios/include/SMNotificationButtonType.h +0 -90
- package/ios/include/SMNotificationMessage.h +0 -31
- package/ios/include/SMRemoteMessageDisplayType.h +0 -32
- package/ios/include/SMSuccess.h +0 -16
- package/ios/libSelligentMobile.a +0 -0
- 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
|
-
|
package/ios/include/SMManager.h
DELETED
|
@@ -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
|