MoEngageInAppAssetsManager
@objc
public final class MoEngageInAppAssetsManager : NSObject
Manages In-App campaign assets: downloading images/HTML resources, resolving local file paths, and removing expired or campaign-specific assets. Exposed to Objective-C via the generated MoEngageInApps-Swift.h (no separate .h).
-
Swift callers can use
shared; Obj-C usessharedAssetsManager.Declaration
Swift
@objc public static func sharedAssetsManager() -> MoEngageInAppAssetsManager -
Declaration
Swift
public static let shared: MoEngageInAppAssetsManager
-
Downloads assets for an In-App campaign. HTML campaigns use limited parallelism; native campaigns download all assets concurrently. Completion is called on main queue.
Declaration
Swift
@objc public func downloadAssets( _ resourceLinks: NSDictionary, withInAppType inAppType: MoEngageInAppType, forCampaignID campaignID: String, forSDKInstance sdkInstance: MoEngageSDKInstance, andCompletionBlock completionBlock: @escaping (Bool) -> Void )Parameters
resourceLinksMap of relative path (or key) to resource URL string.
inAppTypeCampaign type (e.g. HTML vs native).
campaignIDCampaign identifier.
sdkInstanceSDK instance for network and logging.
completionBlockCalled with
trueif all assets downloaded successfully.
-
Returns the local file path for an image with the given name, if it exists.
Declaration
Swift
@objc public func getImageFilePath( forURL imgURL: URL, withName imgName: String, forInstanceID instanceID: String, andCampaignID cid: String ) -> String? -
Returns the local file path for an image at the given URL (derived name), if it exists.
Declaration
Swift
@objc public func getImageFilePath( forURL imgURL: URL, forInstanceID instanceID: String, andCampaignID cid: String ) -> String? -
Declaration
Swift
@objc public func getInAppImageFolderPath( forCampaignID campaignID: String, forInstanceID instanceID: String) -> String -
Declaration
Swift
@objc public func isImageGif(withURL imgURL: URL) -> Bool -
Folder path for a campaign’s images under the instance’s InApp images directory.
Declaration
Swift
@objc public func getInAppImageFolderPath(forInstanceID instanceID: String) -> String -
Declaration
Swift
@objc public func getInAppHTMLResourceFolderPath( forCampaignID campaignID: String, forInstanceID instanceID: String) -> String -
Base folder path for HTML resources for the given instance.
Declaration
Swift
public func getInAppHTMLResourceFolderPath(forInstanceID instanceID: String) -> String
-
Declaration
Swift
@objc public func removeInAppImages(forCID campaignID: String, forInstanceID instanceID: String) -
Declaration
Swift
@objc public func removeInAppImages(forInstanceID instanceID: String) -
Declaration
Swift
@objc public func removeInAppHTMLResource(forCampaignID campaignID: String?, forInstanceID instanceID: String) -
Declaration
Swift
@objc public func removeInAppHTMLResources(forInstanceID instanceID: String) -
Declaration
Swift
@objc public func clearExpiredInAppImages( forInstanceID instanceID: String, withActiveCampaignArray activeCampaignIDs: [String] )
-
downloadHTMLAssetsWithLimitedParallelism(resourceLinks:forCampaignID: forSDKInstance: andCompletionBlock: ) Declaration
Swift
public func downloadHTMLAssetsWithLimitedParallelism( resourceLinks: [String: String], forCampaignID campaignID: String, forSDKInstance sdkInstance: MoEngageSDKInstance, andCompletionBlock completionBlock: @escaping (Bool) -> Void ) -
downloadHTMLVideoAssetsWithLimitedParallelism(resourceLinks:forCampaignID: forSDKInstance: andCompletionBlock: ) Declaration
Swift
public func downloadHTMLVideoAssetsWithLimitedParallelism( resourceLinks: [String: String], forCampaignID campaignID: String, forSDKInstance sdkInstance: MoEngageSDKInstance, andCompletionBlock completionBlock: @escaping (Bool) -> Void ) -
Declaration
Swift
public func downloadAssetForInApp( dict: [String: Any], inAppType: MoEngageInAppType, sdkInstance: MoEngageSDKInstance, completion: @escaping (Bool) -> Void ) -
Fetches asset data for the given URL; used internally for image/HTML asset downloads.
Declaration
Swift
public func downloadAssetsData( forURL url: URL, sdkInstance: MoEngageSDKInstance, withCompletionHandler completionBlock: @escaping (Bool, Data?) -> Void ) -
Declaration
Swift
public func writeAssetData( _ data: Data, withInfoDict assetInfoDict: [String: Any], inAppType: MoEngageInAppType ) -> Bool
-
Get video resource name from URL.
Declaration
Swift
public func getInAppVideoName(for url: URL) -> String -
Returns resources that are not yet cached and need download.
Declaration
Swift
public func getAssetsToBeDownloaded( resourceLinks: [String: String], withInAppType inAppType: MoEngageInAppType, forCampaignID campaignID: String, forSDKInstance sdkInstance: MoEngageSDKInstance ) -> [URL: URL]? -
Moves a resource to the new path, creating parent directories if needed.
Declaration
Swift
public func move(resource: URL, to newPath: URL) throws -
downloadVideoAssets(withResourceLinks:withInAppType: forCampaignID: forSDKInstance: andCompletionBlock: ) Declaration
Swift
@objc public func downloadVideoAssets( withResourceLinks resourceLinks: [String: String], withInAppType inAppType: MoEngageInAppType, forCampaignID campaignID: String, forSDKInstance sdkInstance: MoEngageSDKInstance, andCompletionBlock completionBlock: @escaping (Bool) -> Void )