Skip to main content

iOS - Modules

The Q2 Mobile SDK supports a variety of module types designed to extend app behavior across UI, logic, and lifecycle events. Each module is configurable through a centralized setup process to ensure consistency across all environments.

Use the following pages to explore supported module types and learn how to configure them:


📦 Module Types

  • UI Module
    Present custom views or UIViewControllers directly within the Q2 Mobile App interface.
    Ideal for modules requiring user interaction or embedded feature screens.

  • Method Module
    Run background logic such as API calls, calculations, or syncing without UI involvement.
    Great for modularizing services or processing-intensive operations.

  • Continuity Lifecycle Module
    Handle continuity flows triggered by universal links or custom URL schemes.
    Supports deep linking and re-engagement from external sources.

  • Lifecycle Module
    Hook into native iOS app lifecycle events like launch, resume, or background transitions.
    Enables runtime logic tied to app-level state changes.

  • Push Lifecycle Module
    Intercept and process remote/local notifications before they are shown to the user.
    Allows for modifying notification payloads or triggering internal module logic.

  • Q2 Lifecycle Module
    Respond to Q2-specific lifecycle events such as login, logout, and authenticated navigation.
    Useful for managing session-aware features or gated access flows.


⚙️ Module Configuration

  • 🔧 Configure Resources for Module
    Include images, localized strings, and custom asset bundles within your module's resource folder.

  • ⚙️ Configure Settings for Module
    Register modules in settings.json with proper metadata, capabilities, and initialization behavior.

  • 📦 Configure Third-Party SDKs for Module
    Integrate required third-party SDKs into the module lifecycle with proper hooks for startup, resume, or teardown events.