MedalliaDigital
@objcMembers
public class MedalliaDigital : NSObject
MedalliaDigital is the main component for the Medallia sdk. It includes the complete set of tools required in order to work with Medallia sdk. Calling sdkInit() method is mandatory before accessing any other method in this API.
-
This method initializes the SDK and by doing so authenticates the app, and retrieves configuration elements from Medallia Digital. This method is mandatory in order to start Medallia SDK All the following vars are mandatory for init to run.
Declaration
Swift
public static func sdkInit(token: String, success: @escaping () -> Void, failure: @escaping (_ error: MDExternalError) -> Void)Parameters
tokenMedallia Digital developer token (can be found in the account section of your Medallia Digital dashboard). Note that this key is assigned per application.
successSuccess Closure
failureFailure Closure
-
The SDK enables the app to set custom parameters of several types. Define specific parameter to add to the submitted feedback and targeting. * If the name specified already exists, it will be overridden. The SDK supports the following types: String, Integer(or int), Long(or long), Double(or double), Float(or float), Boolean(or bool) In case the value is not one of these primitive types, custom parameter won’t be saved. value can’t be null.
Declaration
Swift
public static func setCustomParameter(name: String, value: Any)Parameters
namecustom parameter name
-
The SDK enables the app to set custom parameters of several types. Define multiple parameters to add to the submitted feedback and targeting. * If the name specified already exists, it will be overridden.
For more information, go to : setCustomParameter()
Declaration
Swift
public static func setCustomParameters(_ parameters: [String : Any])Parameters
parametersmap of ‘name’(of type String) and ‘value’(of a primitive type).
-
Displaying a form on demand, usually a “Feedback” button in app menu. The SDK must be initialized for form to be displayed. The ‘ShowForm’ API can be called in parallel with the init API.
Declaration
Swift
public static func showForm(_ formId: String, success: @escaping () -> Void, failure: @escaping (_ error: MDExternalError) -> Void)Parameters
formIdform id to determine which form should be shown.
successSuccess Closure
failureFailure Closure
-
Enables the app to launch forms directly from push notifications. Using this API, forms are properly opened once the pushed notification is selected.
Declaration
Swift
public static func handleNotification(_ formId: String, success: @escaping () -> Void, failure: @escaping (_ error: MDExternalError) -> Void)Parameters
formIdform id to determine which form should be shown.
successSuccess Closure
failureFailure Closure
-
Setting a delegate in order to receive form displayed information. This API method allows listening to form related events, e.g. form was submitted.
Declaration
Swift
public static func setFormDelegate(_ formDelegate: MDFormDelegate?)Parameters
formDelegateMDFormDelegate
-
Setting a delegate in order to receive custom form information. This API method allows listening to custom form related events,
Declaration
Swift
public static func setCustomFormDelegate(_ customFormDelegate: MDCustomFormDelegate?)Parameters
customFormDelegateMDCustomFormDelegate
-
Setting a delegate in order to receive intercept information (Alert or Banner displayed asking the user whether he/she wants to open form/app rating/ any other engagement type object)
Declaration
Swift
public static func setInterceptDelegate(_ interceptDelegate: MDInterceptDelegate?)Parameters
interceptDelegateMDInterceptDelegate
-
Setting a delegate in order to receive feedback payload. This API method allows listening to in-form feedback content submitted by user.
Declaration
Swift
public static func setFeedbackDelegate(_ feedbackDelegate: MDFeedbackDelegate?)Parameters
feedbackDelegateMDFeedbackDelegate
-
Setting a delegate in order to receive custom intercept payload. This API method allows listening to custom intercept triggering.
Declaration
Swift
public static func setCustomInterceptDelegate(_ customInterceptDelegate: MDCustomInterceptDelegate)Parameters
customInterceptDelegateMDCustomInterceptDelegate
-
Permits app developers to suppress/disable feedback intercepts (and their respective targeting) from being prompted to the user, usually called in critical flows. This method is always bundled together with disableIntercept() as one method disables the intercept and the other re-enables it.
- This API will not effect showForm API functionality. Customers may consider using this functionality during critical flows such as payment, live support chats, phone calls etc. Intercept is enabled by default. When called, these operations store the values in the application memory i.e. the setting remains available as long as the application is alive. Important note - this API will not affect the showForm functionality
Declaration
Swift
public static func enableIntercept() -
Permits app developers to suppress/disable feedback intercepts (and their respective targeting) from being prompted to the user, usually called in critical flows. This method is always bundled together with enableIntercept() as one method disables the intercept and the other re-enables it.
- This API will not effect showForm API functionality. For resuming intercept functionality, go to enableIntercept() Upon every new sdkInit(token: String, success: @escaping () -> Void, failure: @escaping (_ error: MDExternalError) -> Void), the intercept mechanism will be enabled(ergo - enabled by default).
Declaration
Swift
public static func disableIntercept() -
Set log level (of type MDLogLevel) to be printed in the console The logs that will be printed will be determined by the provided log level Logs will be printed from this log level and above Default log level in the SDK is .off
Note: if you choose log level = .off, there will be no logs at all It is highly recommended to get log level .off when App is in production/Appstore
Declaration
Swift
public static func setLogLevel(_ logLevel: MDLogLevel)Parameters
logLevellog level to determine which logs will be printed to the console
-
Stop SDK API will stop the SDK functionality. In case the API is been called with #clearData parameter true, personalized SDK data will be cleared.
Declaration
Swift
public static func stopSDK(clearData: Bool = false)Parameters
clearDataclear data determines if the personalized data should be cleared in addition to stopping the SDK
-
Revert Stop SDK API will revive the SDK functionality (if it is stopped). In the next session the SDK functionality will start working as expected.
Declaration
Swift
public static func revertStopSDK() -
Set the SDK Frameowrk origin of the app
Declaration
Swift
public static func setSdkFramework(_ mdSdkFrameworkType: MDSDKFrameworkType)Parameters
mdSdkFrameworkTypeMDSdkFrameworkType (Native, React Native or Cordova)
-
Set the SDK Locale
Declaration
Swift
public static func updateCustomLocale(_ locale: String?, success: @escaping (_ message: String?) -> Void, failure: @escaping (_ error: MDExternalError) -> Void)Parameters
localeString?, nil to unset locale
-
Custom Intercept Trigger
Declaration
Swift
public static func customInterceptTrigger(engagementId: String, actionType: MDInterceptActionType, failure: @escaping (_ error: MDExternalError) -> Void)Parameters
engagementIdString
actionTypeMDInterceptActionType
failureFailure Closure
-
Set Appearance Mode
Declaration
Swift
public static func setCustomAppearance(_ appearanceMode: MDAppearanceMode)Parameters
appearanceModeMDAppearanceMode (light or dark mode)
-
Set Debug Form
Declaration
Swift
public static func setDebugForm(_ debug: Bool)Parameters
debugBool true to debug
-
Close Engagement
Declaration
Swift
public static func closeEngagement(success: @escaping () -> Void, failure: @escaping (_ error: MDExternalError) -> Void)Parameters
successsuceess block
failurefailure block
-
Set User ID
Declaration
Swift
public static func setUserId(_ userId: String?)Parameters
userIdString
-
Get Custom Form Data
Declaration
Swift
public static func getCustomFormData(_ formId: String) -> MDCustomFormData?Parameters
formIdString
Return Value
MDCustomFormData
MedalliaDigital Class Reference