MoEngageRequestFailureReason

@objc(MoEngageRequestFailureReason)
open class MoEngageRequestFailureReason : NSObject

Reason describing why a public API call failed.

The base class carries the shared SDK-wide failure code (network, parse, auth, etc.) that any module can emit. Module-specific failures are represented by subclasses (MoEngageCoreRequestFailureReason, MoEngageInAppRequestFailureReason, MoEngageMessagingRequestFailureReason) which carry their own ModuleCode enum plus module-specific metadata (e.g. campaignId).

Customers downcast error.reason as? MoEngageInAppRequestFailureReason to access module-specific information, or switch reason.code for cross-cutting handling. open so first-party SDK pods can declare module-specific reason subclasses (MoEngageCoreRequestFailureReason in MoEngageCore, MoEngageInAppRequestFailureReason in MoEngageInApps, MoEngageMessagingRequestFailureReason in MoEngageMessaging, etc.). The shared Code enum on this base class covers cross-cutting failure modes; each subclass adds a nested ModuleCode enum for module-specific codes.

  • Shared SDK-wide failure codes that any module can emit.

    Module-specific codes live on the relevant subclass’s nested ModuleCode enum.

    See more

    Declaration

    Swift

    @objc(MoEngageRequestFailureReasonCode)
    public enum Code : Int
  • Shared SDK-wide code describing this failure.

    Declaration

    Swift

    @objc
    public let code: Code
  • Create a reason carrying a shared SDK-wide Code.

    Declaration

    Swift

    public init(code: Code)

    Parameters

    code

    Shared failure code.

  • Declaration

    Swift

    open override var description: String { get }