Enable mobile services on your site
Your site needs to have mobile access enabled so users can use the mobile app.
For sites using https, mobile access is enabled by default in new installations of Moodle 3.0 onwards.
For http sites, mobile access can be enabled by an administrator as follows:
- In Site administration > Mobile app > Mobile settings tick the 'Enable web services for mobile devices' checkbox. (For 4.0 version: In Site administration > Advanced features tick the 'Enable web services for mobile devices' checkbox
- Click the button to save changes.
If your site uses a SSL certificate, it must be a trusted certificate. For security reasons the app doesn't work with self-signed certificates.
Please, verify that your certificate is valid via: https://www.geocerts.com/ssl_checker (you shouldn't see any warning).
If your site has the /login directory protected (frequently done when using the Shibboleth authentication method), you must enable access to the login/token.php script.
Frame embedding
If your sites uses reCaptcha, Vimeo videos or custom menu items (as described bellow) you must enable the admin setting "Allow frame embedding" (allowframembedding). Please, note this is not necessary since Moodle 3.7
Is your site behind a proxy, or load balancer or complex network infrastructure?
In that case, you may need to configure the "Ignore reserver proxies" settings in Site administration > Administration > Server > HTTP
Register your site on the Moodle Apps Portal
We strongly recommend you to register your site for free on the Moodle Apps portal: https://apps.moodle.com
You will be able to retrieve statistics like the number of active user devices receiving Push Notifications and upgrade to a Pro/Premium plan for enjoying exclusive features.
Simplify user onboarding
Upon opening the Moodle app, first-time users encounter a "Your site" field, where they have to input the URL of their Moodle site to access their courses. To ensure a smooth onboarding experience for new users, follow these steps:
- Enable the Site finder feature that allows users to find their Moodle site by name, eliminating the need to manually enter the site URL. To enable this feature, view Have your site listed in the Moodle app site finder below.
- Enable the QR login feature (view instructions below). This feature allows users to scan a QR code available on their Moodle profile to access their Moodle site directly from the app.
- For Android users and Moodle LMS 4.3 and later: Encourage users to install the Moodle app by following the Get the mobile app link at the bottom of any Moodle page (located within the "?" icon on the desktop version). When users install the app through this link, they will be automatically redirected to their site login screen, eliminating the need to manually enter the site URL.
- Alternatively, you can create a dedicated help page for the Moodle app. This help page should include a link to the Google Play version of the app and clearly indicate the site URL referrer. For example, if your Moodle site is mymoodlesite.com the link will be https://play.google.com/store/apps/details?id=com.moodle.moodlemobile&referrer=siteurl%3Dhttps%3A%2F%2Fmymoodlesite.com
Please note that options 3&4 are not compatible with Google Workspace accounts (the installation referrer will be ignored in that case).
Have your site listed in the Moodle app site finder
The Moodle apps site finder enables a user to easily find their Moodle site by entering the name (no need to enter the site URL)
How can I have my site listed in the Moodle app site finder?
Your site will be automatically listed in the site finder if:
- either your site is registered and listed with a link on Registered sites and has over five hundred mobile users and you have been using the Moodle app for over a year
- or you have purchased a Pro or Premium Moodle app subscription.
You can arrange for your site to be listed in the site finder as follows:
- If your site is hosted by a Moodle Partner, please contact them to request for your site to be listed.
- If you have a MoodleCloud site, please log in to the Moodle Apps Portal where you will find an option to have your site listed.
Otherwise, to have your site listed in the site finder, you need to purchase a Pro or Premium Moodle app subscription from the Moodle Apps Portal.
I don’t want my site listed in the Moodle app site finder. How can I remove it?
You can remove your site from the site finder as follows:
- Log in to the Moodle Apps Portal. (If you don't yet have an account, you can create one for free.)
- Go to ‘App customisation’ -> ‘Site Listing’ and uncheck the option ‘Visible’ then save changes.
Your site will then be immediately removed from the site finder.
Alternatively, you can remove your site from the site finder by updating your site registration:
- Log in to your Moodle site as admin and go to ‘Site administration’ -> Registration.
- Change ‘Site listing’ to either ‘Do not list my site’ or ‘Only display my site name’.
Your site will then be removed from the site finder within 24 hours.
Mobile authentication
MFA
The Moodle mobile app does not support MFA natively yet, however, you can redirect users to a browser to force the authentication process to behave exactly as Moodle LMS. You can do the previous via Site administration > Mobile authentication > Type of login and then select any of the options that mention browser.
SSO authentication method
If your site uses a SSO authentication method (CAS, Shibboleth, LDAP SSO, OAuth...), then select via a browser window or via an embedded browser for 'Type of login' (typeoflogin) in 'Mobile authentication' in the Site administration. (This setting is provided for older pre-Moodle 3.2 sites via the Moodle Mobile additional features plugin.)
The options 'browser window' and 'embedded browser' are very similar; the only difference is when redirecting the user to enter their credentials in the site, the site will be opened in the device's default browser (for browser window) or the site will be opened "embedded" in the mobile app (for embedded browser). The user experience is better in embedded browser, but not all the authentication plugins will work in embedded browser (for example, if JavaScript popups are required they must use the 'browser window'). The admin should check whether both options work, and if so, choose 'embedded browser'.
If you are using Google OAuth you will have to use the 'browser window' method because Google recently blocked authentication via 'embedded browsers'.
If your organisation uses a custom branded app and 'Type of login' is set to 'Via a browser window' or 'Via embedded browser', then a URL scheme (forcedurlscheme) may be set. This will result in only the custom branded app working for the site: the official Moodle Mobile app will not work.
QR Login
Please note that this feature requires Moodle 3.9 and is only available if you are enjoying a Pro/Premium plan.
As a site administrator, you can enable login via QR. Please go to Site administration > Mobile app > Mobile authentication and select "QR code with automatic login" in the "QR code access" setting
Once enabled, your students will be able to login in the app by scanning a QR code available on their Moodle site profile.
Biometric Login
This feature is only available to Pro and Premium plan customers.
Biometric login allows your users to log in to your site via the Moodle App on Android and iOS devices using their fingerprint, face recognition or any other biometric option available on their mobile device. This makes the login process simpler, faster and more secure, and is specially useful if Autologout is enabled on your site.
Enabling biometric login for your site
You can enable Biometric login as an authentication method through the Moodle Apps Portal, going to App customisation > Authentication > Biometric login, and then selecting “Enable biometric login”. Your users will then be able to choose whether they want to use Biometric login or not.
For security reasons, users may be prompted to re-enter their credentials periodically. This interval is determined by the 'User created token duration' (tokenduration) security setting, which is set to a default duration of three months.
Setting up biometric login as a user
To use biometric login in the Moodle App, users must have biometric authentication enabled in their own device's settings (e.g. FaceID or TouchID for iOs users, or Fingerprints for Android users).
The first three times users log in to the app after you enable Biometric login, they will see a notification telling them that they can activate this new authentication method to access the app (provided that they have biometric authentication enabled in their device's settings).
Users can activate and deactivate their biometric login any time in the Moodle App in User account > Preferences.
Auto logout
From Moodle LMS 4.3 onwards, you can enhance security by enforcing automatic logout for your users when they leave or close the app, or it goes to the background.
You can even set your own custom re-authentication time, to suit your organisation's security requirements.
To activate auto logout, go to Site administration > Mobile app > Mobile authentication.
This feature is particularly effective when paired with Biometric login, since that streamlines the login process for your users.
Customise your app theme
The app can also retrieve your custom styles from your Moodle site. Since the app is a HTML5 app, you can safely apply any CSS, CSS2 and CSS3 style.
Go to Administration > Site administration > Mobile app > Mobile appearance and enter in the mobilecssurl field a valid URL pointing to a CSS file containing your custom styles.
The CSS should be placed inside your Moodle installation (in your custom theme or inside a local plugin).
For example: https://mymoodlesite.com/theme/mytheme/style/mymobileapp.css
Once the user is logged in the app, remote CSS files for applying your custom styles are regularly retrieved.
Notice that on the first time a user opens the app, he will see the default "orange" style. Your custom styles will be applied once the user has added a site in the app.
For further information, see the dev docs Moodle Mobile Themes.
If you want your own custom branding for your organization, Moodle offers the The Branded Moodle Mobile app service, please visit https://moodle.com/app/ for more information.
Moodle Mobile additional features plugin for old Moodle sites
For old Moodle sites it is recommended to install the Moodle Mobile additional features plugin.
Notifications
You might find them annoying but push notifications keeps you and your users informed and updated on everything about the app. Moodle only send useful and important notifications such as new features or service disruptions.
Enabling push notifications is easy! An administrator can enable it by connecting their Moodle site/s to our free Notifications server available (only) for registered Moodle sites.
An access key can be obtained via Site administration > General > Messaging > Notification settings. Be sure the 'Mobile' is enabled and then click the link to settings, on the next page select Request access key. (For Moodle site versions 3.5 and 3.6 an access key can be obtained via Site administration > Plugins > Message outputs > Manage message outputs. Then by clicking the link to the Mobile settings, on the next page select Request access key.)
The full guide on enabling push notifications can be found here: Mobile app notifications
App banners
App banners let your users know that there is a mobile app available for the site. App banners are only displayed when accessing the site using a mobile browser.
In Moodle 3.3 onwards, app banners for Android are supported as well as for iOS.
App banners are disabled by default. They can be enabled in 'Mobile appearance' in the Site administration.
If you are using a custom mobile app, you need to provide the unique identifier for the iOS and Android app; if you are using the Moodle Mobile app, the settings may be left as default.
Please, notice the following:
- App banners for iOS devices (iPhone, iPad or iPod) are only shown when accessing the site using the Safari browser
- App banners for Android devices are only shown in very recent Chrome browser versions and when the app is not installed. Note also that Chrome uses an engagement heuristic that will display the banner only on certain conditions, like interactions with the site, the last time you interacted with it, etc. You can remove the engagement restriction check by disabling this special chrome flag: chrome://flags/#bypass-app-banner-engagement-checks. Please notice also that certain custom Android versions (such as Samsung and Huawei ones) does not always support this feature
'Get the mobile app' link
In Moodle 3.4 onwards, the link 'Get the mobile app' in the footer of each page on the site encourages users to make use of the mobile app.
By default, the link is https://download.moodle.org/mobile however the setting 'App download page' can be changed e.g. for sites using a branded mobile app.
If mobile services are not enabled for the site, then the 'Get the mobile app' link is not displayed.
To prevent the 'Get the mobile app' link being displayed, simply remove the URL from the 'App download page' setting and save changes.
Configuring the app from your site
IMPORTANT: Please notice that the type and number of features that you can customise depend on your Moodle Apps plan, you can register for free on https://apps.moodle.com to check the different plans.
In Moodle 3.3 onwards, or with the Moodle Mobile additional features plugin, settings in the Site administration enable admins to configure the app.
- In Moodle 3.3 onwards go to Site administration > Mobile features
- In sites with the Moodle Mobile additional features plugin installed, go to Site administration > Plugins > Local plugins > Mobile additional features
Force log out
Replace the Change site option to "Log out" so that users must enter their credentials on their next access. This is useful for custom mobile apps, as there is no reason for users wanting to switch to a different site.
Disabled features
The mobile app may be simplified by removing unwanted features. Some items may already be not available in the app because they are not enabled on your site.
Options to remove include:
- Offline use
- Blocks (Note that from Moodle 4.3.1 the Global search and Search forums blocks can be removed.)
- Comments
- Ratings
- Tags
- Create new account
- Responsive menu items
- Main menu
- Site home
- My courses
- Dashboard
- Calendar
- Notifications
- Messages
- Grades
- My learning plans
- Blog
- Files
- Web page
- Help
- Course
- Blocks
- Blog
- Search
- Competencies
- Participants
- Grades
- Course completion
- Notes
- Download course (new in 3.5)
- Download courses (new in 3.5)
- User
- Blog
- Badges
- Competencies
- Course completion
- Grades
- Send message
- Add contact
- Block contact
- Add a new note
- User picture
- Files
- Private files
- Ste files
- Upload
- Modules (Each module can be disabled separately)
- Blocks (Each block available in the app can be disabled separately)
Additional items can be added to the app main menu (the more menu), such as a link to a different grade book.
In order to do so go to "Site administration > Mobile features > Custom menu items"
Each custom menu item should have the format: item text, link URL, link-opening method and language code (optional, for displaying the item to users of the specified language only), icon (optional, the name of the icon from https://ionicons.com) separated by pipe characters.
Possible link-opening methods are:
- app - for linking to an activity supported by the app i.e. almost all activity types, as listed in Moodle Mobile features.
- inappbrowser - for linking to external URLs or site functionalities not supported by the app. The link will open in a browser inside the app overlaying the complete screen.
- browser - as for inappbrowser except that the link will instead open in the device default browser outside the app.
- embedded - as for inappbrowser except that the link will instead open in an iframe in a new page in the app. (For this option you may need to enable the admin setting "Allow frame embedding" (allowframembedding)
Tip: If you add a custom menu item and save changes, then it doesn't appear in the app main menu, double check that the item is correctly formatted.
Please, note that if custom menu items have the same URL, same link-opening method, and same language only the first custom menu item will be shown.
Please, note that if the app is using a language not indicated in the previous list, the first language in the list will be used. (So if you have a custom menu item in English (en) and French (fr), and the app is using Spanish the user will still see that custom menu item in English)
If you want options tied to a language, you can append _only to the language code, for example: en_only es_only, will display the custom menu item only when the app language is English or Spanish.
Example of a menu item (it will display a home icon followed by Academy information linking to the URL indicated):
Academy information|https://yoursite.com/mod/page/view.php?id=X |app|en|home
From 3.7 onwards menu items on bottom tabs are moved to the side of the screen on big screens. Also the number of items displayed on the menu may vary:
- On small screens (usually phones) from 2 to 5 items will be displayed depending on the size of the screen.
- On big screens (usually tablets an desktop version) more than 2 items will be displayed without limit.
If Responsive menu items is selected in Disabled features items will be displayed in side of bottom anyway but 5 items will be displayed in all cases without depending on the size of the screen.
Custom language strings
Words and phrases displayed in the app can be customised via the "Site administration > Mobile app features > Custom language strings" (customlangstrings) setting.
Enter each custom language string on a new line with format: string identifier, custom language string and language code, separated by pipe characters. For example:
core.user.student|Learner|en core.user.student|Aprendiz|es
The complete list of string identifiers is listed in https://latest.apps.moodledemo.net/assets/lang/en.json
The string identifier is before the colon.
For example:
"core.user.student": "Student",
means that the string "Student" has string identifier "core.user.student".
Analytics and stats
To retrieve information about the Moodle app usage, site administrators and teachers can check the system, course or activity logs.
Among the log filters, there is a field called "All sources" with an option "Web Service/ws" that can be used to filter the entry logs generated by the mobile application.
You can compare the number of log entries generated by the "Web" versus "Web Service" (mobile app) to have an overall idea about how your users use the platform.
Please, notice that if you have custom "Web Services" or an installed plugin that uses Web Services, you will also see entries for them under the same filter.
If you have access to the site database, the table "external_tokens" has a "lastaccess" timestamp field that could be used to obtain active users of the app every day.
Integration with Matomo analytics
Note: This feature is available for Premium app plans and Branded Moodle Apps. To use this integration, you will need to have your own instance of Matomo.
Matomo is an open source web analytics tool that helps you monitor traffic to your Moodle site, including app activity.
Connecting to your Matomo instance in the Apps portal
To use Matomo to track app activity on your Moodle site, you will need to have your own instance of Matomo analytics, and to add your Moodle site as one of your measurable websites (see instructions on Matomo’s website). Then, follow these steps:
- Log in to the Apps portal.
- Go to App customisation > Analytics > Matomo analytics.
- Check Track app activity.
- Add your Matomo URL - that's the URL of your Matomo instance, for example https://yoursite.matomo.cloud.
- Add the Website ID associated with your Moodle site in Matomo. To obtain this ID:
- Log in to your Matomo account.
- Go to Administration using the gear icon on the right side of the top navigation bar.
- On the left-hand panel, select Websites > Manage.
- In your list of measurables, find the Moodle site in which you want to track app activity. The ID of the measurable is the Website ID you need to enter in the apps portal.
- Click Save changes to establish the connection and start tracking app activity.
- If you'd like to stop tracking at any time, uncheck Track app activity and then save changes.
To filter Matomo data to isolate mobile app usage from Moodle site interactions, follow these steps:
- Log in to your Matomo account.
- Click All visits at the top of the page
- Create a custom segment by applying this configuration: “Referrer URL” “is” “https://moodlemobile”
- To only see Moodle site interactions, do the following: “Referrer URL” “is not” “https://moodlemobile”
Please notice that the integration with Matomo does not work offline.
Google Analytics for Firebase
Only available when purchasing a Branded Moodle App.
Google Analytics for Firebase is a free tool that provides valuable insights and data about how users interact with mobile apps.
Please notice that the integration with Google Analytics for Firebase does not work offline.
Web services token duration
From Moodle 3.4 onwards, an admin can set how long a web services token created by a user (for example via the mobile app) is valid. (In previous versions of Moodle a token was valid for 3 months.)
The setting that dictates the previous 'User created token duration' (tokenduration) can be found under the Security section.
App's cache
The app caches WebService requests to decrease data usage and increase the app's speed. When the app needs to get some data from Moodle, it will use a cached request as long as it isn't expired.
This cache was improved in Moodle App 3.7.0, now there are several cache times depending on the WS being called. This means that some requests will expire more often than others. Also, if the user isn't using a WiFi connection, the expiration time will also be longer to decrease the data usage. These cache times cannot be configured using a Moodle setting.
See also
- Moodle App Configuration- a free self-paced course for admins on Moodle Academy.
- Moodle Mobile FAQ for other administration-related mobile app questions.
- Moodle app security
- dev:Moodle Mobile debugging WS requests - a guide to helping you find and report problems with the Moodle Mobile app on your site
- dev: Moodle Mobile Roadmap
- dev:Moodle Mobile release notes
- Moodle Mobile developer docs
- Moodle Mobile availability plugin
- Mobile web services
Guide mobile pour administrateurs app guía para administradores App - Anleitung für Administrator/innen