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¶
- Build Process:
- Ensure all dependencies are installed (
npm installinsrc/mobile/MobileApp). - Navigate to
ios/directory and install Pods (pod install). - Build the application using Xcode or
xcodebuildcommand-line tools. - Ensure correct provisioning profiles and signing certificates are used.
- Ensure all dependencies are installed (
- 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¶
- Build Process:
- Ensure all dependencies are installed (
npm installinsrc/mobile/MobileApp). - Generate a signed APK or AAB (Android App Bundle) using Gradle.
- Ensure correct keystore and signing configurations are applied.
- Ensure all dependencies are installed (
- 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.