Moodle app guide for admins
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
- 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.
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.
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.
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.)
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.
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).
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.
Moodle Mobile additional features plugin for old Moodle sites
For old Moodle sites it is recommended to install the Moodle Mobile additional features plugin.
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 > 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 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
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.
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
- Create new account
- Responsive menu items (new in 3.7)
- Main menu
- Site home
- My courses
- My learning plans
- Web page
- Course completion
- Download course (new in 3.5)
- Download courses (new in 3.5)
- Course completion
- Send message
- Add contact
- Block contact
- Add a new note
- User picture
- Private files
- Ste files
- 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.
Each custom menu item should have 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 "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:
The complete list of string identifiers is listed in https://raw.githubusercontent.com/moodlehq/moodleapp/master/src/assets/lang/en.json. The string identifier is before the colon.
means that the string "Student" has string identifier "core.user.student".
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" 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.
Web services token duration
In 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 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.
- 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