How to set up and manage Open edX mobile apps?
Open edX provides official mobile apps for Android and iOS to allow learners to access courses on the go. You can customize, build, and deploy your own branded Open edX mobile apps.
1. Understanding Open edX Mobile Apps
Key Features
✅ Course browsing and enrollment
✅ Video playback (online & offline)
✅ Interactive quizzes and assignments
✅ Discussions and forums
✅ Notifications and updates
Tech Stack
- Frontend: React Native (latest versions), Java (Android), Swift (iOS)
- Backend: Open edX LMS & Studio (Django-based)
- APIs: Uses Open edX Mobile REST API for communication
2. Setting Up Open edX for Mobile Apps
Before deploying mobile apps, configure Open edX to support them.
Step 1: Enable Mobile API
- SSH into your Open edX server.
- Edit
lms.env.json
and enable the Mobile API:"ENABLE_MOBILE_REST_API": true, "ENABLE_OAUTH2_PROVIDER": true
- Restart Open edX:
sudo /edx/bin/supervisorctl restart all
Step 2: Enable Video Streaming & Downloading
- Open Studio → Course Advanced Settings.
- Enable video URLs:
"course_video_upload_storage_base_url": "https://your-cdn-url.com"
- Ensure video transcripts are available for offline playback.
Step 3: Configure OAuth for Mobile Login
- Go to the Open edX Admin Panel (
/admin
). - Navigate to OAuth2 > Clients.
- Create a new OAuth2 client:
- Client ID: (Auto-generated)
- Client Secret: (Copy this for mobile app)
- Redirect URIs:
https://your-app-url.com/auth
3. Building Open edX Mobile Apps
There are two ways to set up Open edX mobile apps:
- Use the official Open edX app (minimal customization)
- Customize & build your own branded app (recommended for enterprises)
Option 1: Use the Official Open edX App
If you are using the default Open edX setup, you can use the official edX mobile app:
- Download the app:
- Android: Google Play Store
- iOS: Apple App Store
- Configure your LMS URL:
- Open settings in the app.
- Enter your Open edX LMS domain.
- Login and access your courses.
Option 2: Build a Custom Open edX Mobile App
To create a branded version of the Open edX mobile app, follow these steps:
Step 1: Clone the Open edX Mobile Repository
git clone https://github.com/openedx/edx-app-android.git
git clone https://github.com/openedx/edx-app-ios.git
Step 2: Configure the App
- Open
config.yaml
in Android (edx-app-android
) or iOS (edx-app-ios
). - Update the API URLs:
API_HOST_URL: "https://your-openedx-instance.com" OAUTH_CLIENT_ID: "your-client-id"
- Set your branding elements:
- App name
- Logo and splash screen
- Primary colors
Step 3: Build the Android App
- Install dependencies:
cd edx-app-android ./gradlew assembleRelease
- Generate an APK (
app-release.apk
).
Step 4: Build the iOS App
- Open
edx-app-ios.xcodeproj
in Xcode. - Set your Apple Developer Team ID.
- Build and export the .ipa file.
Step 5: Test the Mobile App
- Install the APK (Android) or IPA (iOS) on a device.
- Login using Open edX credentials.
- Test video playback, discussions, quizzes, and course navigation.
4. Deploying Open edX Mobile Apps
1. Deploy Android App to Google Play Store
- Sign up for a Google Play Developer Account.
- Upload the APK to Google Play Console.
- Configure app details (title, description, screenshots).
- Publish.
2. Deploy iOS App to Apple App Store
- Sign up for Apple Developer Program.
- Upload the IPA using Xcode or Transporter App.
- Submit for review.
- Publish.
5. Managing & Updating Open edX Mobile Apps
1. Update Courses for Mobile Compatibility
- Use MP4 videos (HLS for streaming).
- Avoid large PDFs (use HTML-based content).
- Enable mobile-friendly problem types (multiple choice, drag & drop).
2. Monitor App Performance
Use:
- Firebase Analytics for crash reports.
- Google Play Console & App Store Connect for user engagement data.
3. Push Notifications
Integrate Firebase Cloud Messaging (FCM) to send notifications about:
- Course deadlines
- New discussions
- Certificate availability
4. Update Mobile Apps
- If Open edX releases new API changes, update the mobile codebase:
git pull origin master
- Rebuild and redeploy new versions.
6. Troubleshooting Common Issues
Issue | Solution |
---|---|
App not connecting to LMS | Check API URL and OAuth configuration. |
Videos not playing | Ensure MP4/HLS format is used and video storage URL is configured. |
Login not working | Verify OAuth client settings in Open edX Admin Panel. |
Course content not loading | Enable mobile-friendly problem types in course settings. |
7. Conclusion
Setting up Open edX mobile apps involves configuring the LMS API, customizing branding, and building Android/iOS apps. Whether using the official Open edX app or developing a custom version, mobile learning enhances accessibility.