Skip to content

Mobile Application Operation Runbook

Overview

This runbook provides essential information and procedures for operating, monitoring, and troubleshooting the React Native mobile application. It covers deployment, monitoring, and common operational tasks for both iOS and Android platforms.

Application Details

  • Name: MobileApp (or chosen application name)
  • Framework: React Native
  • Supported Platforms: iOS (15.1+), Android (7.0+ / API 24+)
  • Code Repository: src/mobile/MobileApp (or actual path)

Deployment Procedures

iOS Deployment

  1. Build Process:
    • Ensure all dependencies are installed (npm install in src/mobile/MobileApp).
    • Navigate to ios/ directory and install Pods (pod install).
    • Build the application using Xcode or xcodebuild command-line tools.
    • Ensure correct provisioning profiles and signing certificates are used.
  2. Distribution:
    • Internal Testing: Distribute via TestFlight or Firebase App Distribution.
    • App Store Release: Submit to Apple App Store Connect, following Apple's review guidelines.

Android Deployment

  1. Build Process:
    • Ensure all dependencies are installed (npm install in src/mobile/MobileApp).
    • Generate a signed APK or AAB (Android App Bundle) using Gradle.
    • Ensure correct keystore and signing configurations are applied.
  2. Distribution:
    • Internal Testing: Distribute via Firebase App Distribution or directly share APKs.
    • Google Play Store Release: Submit to Google Play Console, following Google's review guidelines.

Monitoring

Application Performance Monitoring (APM)

  • Tools: Integrate with APM solutions like Firebase Performance Monitoring, Sentry, or similar to track:
    • App startup time
    • UI responsiveness (frame drops)
    • Network request performance
    • Crash reporting

Error Logging

  • Tools: Utilize error logging services (e.g., Sentry, Crashlytics) to capture and report application crashes and errors in real-time.
  • Alerting: Configure alerts for critical errors or performance degradation.

Troubleshooting Common Issues

App Crashes

  • Check Crash Reports: Review crash logs in APM/error logging tools for stack traces and context.
  • Reproduce: Attempt to reproduce the crash on a test device or emulator.
  • Review Recent Changes: Identify any recent code changes or deployments that might have introduced the crash.

Performance Degradation

  • Monitor APM Metrics: Analyze performance metrics for spikes in load times, slow network requests, or high CPU/memory usage.
  • Profile Application: Use platform-specific profiling tools (Xcode Instruments for iOS, Android Studio Profiler for Android) to identify bottlenecks.

Authentication Failures

  • Check Backend Logs: Verify if the Authentication Service or API Gateway logs show any errors related to authentication requests.
  • Verify Token Storage: Ensure authentication tokens are correctly stored and retrieved on the device.
  • Network Connectivity: Confirm the device has stable network connectivity to reach authentication endpoints.

Rollback Procedures

In case of critical issues post-deployment, the following rollback procedures can be initiated:

  • Internal Testing: Revert to a previous stable build and redistribute via internal testing channels.
  • App Store/Play Store: Submit a new version with a fix or revert to a previously approved version (if available) through the respective app store consoles.