MoEngage
@objc
public class MoEngage : NSObject, @unchecked Sendable
This class handles MoEngage Initialization
-
Shared instance of MoEngage class
Declaration
Swift
@objc public static var sharedInstance: MoEngage { get }
-
Initialize Default instance in Debug environment
Declaration
Swift
@discardableResult @objc public func initializeDefaultTestInstance(_ sdkConfig: sending MoEngageSDKConfig) -> MoEngageInitializeSDKTaskParameters
sdkConfigInstance of
MoEngageSDKConfigReturn Value
MoEngageInitializeSDKTaskcarryingMoEngageInitResulton success.onFailurefires when config parsing fails — the failure’sreasonis aMoEngageCoreRequestFailureReasoncarryingmoduleCode == .invalidInitialisationConfiguration(basereason.code == .unknownError; downcast for the precise discriminator via(failure.reason as? MoEngageCoreRequestFailureReason)?.moduleCode). Marked@discardableResultso existing fire-and-forget callers compile unchanged. -
Initialize Default instance in Debug environment with SDK state
Declaration
Swift
@discardableResult @objc public func initializeDefaultTestInstance(_ sdkConfig: sending MoEngageSDKConfig, sdkState: MoEngageSDKState) -> MoEngageInitializeSDKTaskParameters
sdkConfigInstance of
MoEngageSDKConfigsdkStateMoEngageSDKStateenum that indicates if SDK must be enabled/disabled.Return Value
MoEngageInitializeSDKTask— seeinitializeDefaultTestInstance(_:). -
Initialize Default Instance in Live environment
Declaration
Swift
@discardableResult @objc public func initializeDefaultLiveInstance(_ sdkConfig: sending MoEngageSDKConfig) -> MoEngageInitializeSDKTaskParameters
sdkConfigInstance of
MoEngageSDKConfigReturn Value
MoEngageInitializeSDKTask— seeinitializeDefaultTestInstance(_:). -
Initialize Default Instance in Live environment with SDK state
Declaration
Swift
@discardableResult @objc public func initializeDefaultLiveInstance(_ sdkConfig: sending MoEngageSDKConfig, sdkState: MoEngageSDKState) -> MoEngageInitializeSDKTaskParameters
sdkConfigInstance of
MoEngageSDKConfigsdkStateMoEngageSDKStateenum that indicates if SDK must be enabled/disabled.Return Value
MoEngageInitializeSDKTask— seeinitializeDefaultTestInstance(_:).
-
Initialize Default Instance based on
Info.plist.Initialize Default Instance based on
MoEngageconfig parameters provied inInfo.plistDeclaration
Swift
@discardableResult @objc public func initializeDefaultInstance(environement: MoEngageWorkspaceEnvironment = .default) -> MoEngageInitializeSDKTaskParameters
environementMoEngageWorkspaceEnvironmentenum that indicates if SDK workspace TEST/LIVE/DEFAULT(Based on Plist data).Return Value
MoEngageInitializeSDKTaskcarryingMoEngageInitResult(configSource: .file)on success. -
Initialize Default Instance based on
Info.plistwith SDK stateInitialize Default Instance based on
MoEngageconfig parametersDeclaration
Swift
@discardableResult @objc public func initializeDefaultInstance( environement: MoEngageWorkspaceEnvironment = .default, sdkState: MoEngageSDKState ) -> MoEngageInitializeSDKTaskParameters
environementMoEngageWorkspaceEnvironmentenum that indicates if SDK workspace TEST/LIVE/DEFAULT(Based on Plist data).sdkStateMoEngageSDKStateenum that indicates if SDK must be enabled/disabled.Return Value
MoEngageInitializeSDKTask— seeinitializeDefaultInstance(environement:).
-
Initialize Secondary instance in debug environment
Declaration
Swift
@discardableResult @objc public func initializeTestInstance(_ sdkConfig: sending MoEngageSDKConfig) -> MoEngageInitializeSDKTaskParameters
sdkConfigInstance of
MoEngageSDKConfigReturn Value
MoEngageInitializeSDKTask— seeinitializeDefaultTestInstance(_:). -
Initialize Secondary instance in debug environment with SDK state
Declaration
Swift
@discardableResult @objc public func initializeTestInstance(_ sdkConfig: sending MoEngageSDKConfig, sdkState: MoEngageSDKState) -> MoEngageInitializeSDKTaskParameters
sdkConfigInstance of
MoEngageSDKConfigsdkStateMoEngageSDKStateenum that indicates if SDK must be enabled/disabled.Return Value
MoEngageInitializeSDKTask— seeinitializeDefaultTestInstance(_:). -
Initialize Secondary Instance in Live environment
Declaration
Swift
@discardableResult @objc public func initializeLiveInstance(_ sdkConfig: sending MoEngageSDKConfig) -> MoEngageInitializeSDKTaskParameters
sdkConfigInstance of
MoEngageSDKConfigReturn Value
MoEngageInitializeSDKTask— seeinitializeDefaultTestInstance(_:). -
Initialize Secondary instance in Live environment with SDK state
Declaration
Swift
@discardableResult @objc public func initializeLiveInstance(_ sdkConfig: sending MoEngageSDKConfig, sdkState: MoEngageSDKState) -> MoEngageInitializeSDKTaskParameters
sdkConfigInstance of
MoEngageSDKConfigsdkStateMoEngageSDKStateenum that indicates if SDK must be enabled/disabled.Return Value
MoEngageInitializeSDKTask— seeinitializeDefaultTestInstance(_:).
-
API to enable SDK usage for the account configured as default.
Declaration
Swift
@objc public func enableSDK() -
API to enable SDK usage for the account for Secondary instance
Declaration
Swift
@objc public func enableSDK(appId: String? = nil)Parameters
appIdMoEngage Account Identifier
-
API to disable all features of the SDK for the account configured as default.
Declaration
Swift
@objc public func disableSDK() -
API to disable all features of the SDK for Secondary instance
Declaration
Swift
@objc public func disableSDK(appId: String? = nil)Parameters
appIdMoEngage Account Identifier
-
Register an observer to receive SDK-autonomous events (e.g. background batch sync results) for a workspace. Observers are held strongly until
unregisterSDKEventObserveris called or the instance is torn down. Call after SDK init for the target workspace.Note
Registration is eventually consistent — the call hops to the instance actor before the observer is installed. An event fired in the small window immediately after this call returns may not reach the observer.
Declaration
Swift
@objc public func registerSDKEventObserver( _ observer: MoEngageSDKEventObserver, forWorkspaceId workspaceId: String? = nil )Parameters
observerThe observer to register.
workspaceIdTarget workspace;
nilfor the default instance. -
Unregister a previously-registered observer. Removes a single registration; if the same observer was registered N times, paired
unregistercalls are needed.Declaration
Swift
@objc public func unregisterSDKEventObserver( _ observer: MoEngageSDKEventObserver, forWorkspaceId workspaceId: String? = nil )Parameters
observerThe observer to remove.
workspaceIdThe workspace previously registered for;
nilfor default. -
Async stream of SDK-autonomous events for the workspace. Concurrency-first counterpart to
registerSDKEventObserver. Each stream is an independent consumer. Finishes when the instance is torn down; pre-init calls return an immediately-finished stream. Swift-only; ObjC consumers use the delegate API.Declaration
Swift
public func sdkEventStream( forWorkspaceId workspaceId: String? = nil ) -> AsyncStream<MoEngageSDKEvent>Parameters
workspaceIdTarget workspace;
nilfor the default instance.