MoEngageShowInAppTask

@objc(MoEngageShowInAppTask)
public final class MoEngageShowInAppTask : MoEngageBaseTask, MoEngageTaskProtocol

Typed task returned by MoEngageSDKInApp.showInApp(...) overloads (intrusive in-apps: pop-up / fullscreen). Carries a MoEngageShowInAppResult on success AFTER the campaign is visibly rendered on screen — resolve fires from the MoEngageInAppNativeDelegate.inAppShown(...) delegate-path, NOT from the createInApp completion boundary. See MoEngageShowInAppResult for the full resolve-point semantic.

onFailure fires with MoEngageInAppRequestFailureReason whose moduleCode is one of:

  • .campaignNotFound — no eligible campaign for this request (covers no-campaigns-available, no-campaign-after-eligibility, blocked-in-VC, display-cancelled-by-override, AND preemption by a higher-priority campaign). campaignId is nil.
  • .renderFailed — selected native campaign’s payload couldn’t be fetched OR the view-builder / on-screen-attach step failed for a campaign that had already been selected. campaignId carries the failed campaign’s identifier.
  • .htmlAssetLoadFailed — selected HTML campaign’s assets couldn’t be loaded. campaignId carries the failed campaign’s identifier. Or .sdkNotInitialized (shared code) when no SDK instance is registered for the supplied appId.

Multiple pre-sync calls: earlier calls reject with .duplicateFunctionCall; the most-recent retained task settles on the actual outcome at sync-completion.