Latest version of the app available: 4.0.0
HEADS UP: For those publishing the app on the Apple App Store or via a Mobile Device Management (MDM) system, please note that in order to be able to re-sign and then publish your app, you need to download and run the new version of the resign.sh script. This file is also attached to the Re-signing the .ipa chapter of the Re-signing and Publishing the Branded Mobile App KB article.
Important note: you won’t be able to publish your branded app if you don’t re-sign your app using the new version of the resign.sh file.
If you use Single Sign On (SSO) to log into your branded mobile app, please note that a security enhancement for login with SSO has been released in the last week of October 2021.
To avoid any disruptions to login with SSO, you need to build a new version of your branded mobile app and to distribute it (via app stores or via Mobile Device Management systems). If you use SSO with OpenID Connect, please make sure that the build is based on version 3.9.1 or higher.
Please note that publishing a branded Go.Learn app is a technical functionality. Docebo is supporting you as much as we can, but, if you are not so familiar with this process, you should contact a member of your company’s IT department in order to properly configure everything.
Docebo’s Branded Mobile App Publisher functionality is a useful product that allows you to create a branded version of the Go.Learn mobile app and publish it on the mobile app stores for Google and Apple.
The Mobile App Publisher allows you to customize both your app and its page in the app stores. You can customize the name of your mobile app, the platform to which users access from the app, the images that will be displayed in the app (launcher icon and splash screen image), and Google SSO parameters. For further information about these items, refer to the following sections of this article.
Additionally, you can autonomously manage your activity in the app stores (Google Play for Android and App Store for iOS), customizing the look and feel of your app’s presentation page in the app stores according to your company’s design guidelines. You can customize the screenshots displayed on this page. For example, you can show courses specific to your company and target audience instead of generic images.
This article outlines how to create and configure your branded app, generate the build and then download the package in order to publish your custom version of the Go.Learn mobile app in the app stores. Once you’ve created your branded app, before publishing it on the application stores, you’ll have to replace the digital signature temporarily applied by Docebo with your own signature. To learn how to perform this process, refer to this article.
For technical requirements and information needed to create your own branded app, refer to this article. If you publish your app in iOS App Store, you are required to submit the Export Compliance and the Self-Classification Report for Encryption items in order to be compliant with the U.S. Encryption and Export Administration Regulations (EAR). To know how to produce and present this report, refer to this article.
Creating Your Branded App
In order to brand your Go.Learn mobile app, begin by accessing the Admin Menu from the gear icon in the top right corner of your desktop platform. Then, select the Branded Mobile App Publisher option in the Theme Settings section. On the Branded Mobile App Publisher page, you can create and manage branded apps for your mobile platform.
If you haven’t created any apps yet, you’ll find an empty page without any apps displayed. Press the plus icon in the top right corner of the page to create a new app. You can create more than one app, and there is not a limit to the number of branded apps you can create, but Docebo recommends creating one branded app for each subdomain you have. For those using Docebo’s Extended Enterprise app, you can create a specific app for each subdomain. You need one token per app if you publish multiple apps for your subdomains.
The New Branded Mobile App pop up box will remind you to contact your Customer Experience Manager if you need help on retrieving the data required by the creation process. In fact, you’ll be asked for some technical information regarding mobile app stores and developer consoles in the following steps. Please note that it is strongly advised that you perform this process with a technical partner’s assistance. In the bottom part of the pop-up box, you can see the number of available tokens.
For further information about tokens, refer to the next paragraph. If you have enough tokens to proceed, press Continue. If you need more tokens in order to continue creating your app, you can select Get Tokens, which will open the Help Center. When you reach the Help Center, contact your Customer Experience Manager, requesting him or her to provide you with new tokens.
Tokens are used in order to create a new branded mobile app. You can buy them through your Customer Experience Manager. Once you have bought them, they are associated with your account. To know how many available tokens you have, you can contact the Customer Experience Team (if your plan includes this option) or you can start creating a new app (the number of available tokens is shown in the New Branded Mobile App pop up box). Every time you create a new app, tokens are automatically scaled down. Please note that you only need a new token if you want to publish your branded app. You don’t need a new token when you update your app. Once you’ve confirmed your number of tokens and pressed Continue, the New Branded Mobile App right panel will open. Fill in the App Name field, which will be the public name of your app that is seen by your learners. Remember that the app name cannot be longer than 30 characters. Please note that it’s your responsibility to choose a unique name for your app, as you can’t add your app to the app store if there is already an application with the same name. Docebo will use the same app name for both iOS and Android, so check both stores for app name availability before deciding on a name.
Then, in the Email field, insert the email address of who manages the application store in your company. You can only insert one email address into this field. Docebo suggests inserting a mailing list address, so that all of the people involved can be notified and directly receive updates. When ready, select Create & Edit. In the page that will open once you’ve created your new app, you have to fill in the different sections to create the build. For further information, refer to the following sections in this article.
The page that will open after having selected Create & Edit is composed of three tabs: Properties, iOS, and Android.
Let’s go through each one of the sections of the Properties tab:
In the App Details section, you’ll find the information that you added on the previous page, App Name and Email.
Then, move to the Domain URL field in the Domain Option section. A Domain URL is the address that you type in the address bar of your browser to access your platform. The Domain URL is the current address of your platform if you choose to keep the docebosaas URL, or the one that is referenced in your SSL certificate in case of a custom domain. Insert here the domain address for your branded mobile app (you can insert the address of a root domain or of a subdomain. The field will be pre-populated with the relative root domain).
Please note that, according to the domain configuration of your branded mobile app, you may not view the Domain Option section in the Properties tab, as in this case you don’t need to set the specific domain that you use for your app.
Certificate pinning is a technique developed to protect web and mobile apps from rogue certificate authorities. It ensures that no network data is compromised even if a user is tricked into installing a malicious root certificate on their mobile device.
By enabling certificate pinning for your branded mobile app, you as a Superadmin are able to protect your app from phishing and man-in-the-middle attacks and to ensure an advanced level of security and confidentiality which cannot be granted without the implementation of this technique. With certificate pinning, you integrate within your app the fingerprint (digest) of the certificate that you know is used by your backend services, and this enforces the security level of your branded application as it enables you to immediately discover if you are a victim of a cyber attack.
In order to increase the security of your application by validating your digital HTTPS certificate, flag the Enable Certificate Pinning option in the Certificate Pinning section. Then, insert the digest of your HTTPS certificate in SHA-256 Pin format in the Digest field.
In order to retrieve the digest, you can ask for assistance from the Security Officer of your company or navigate to https://www.ssllabs.com/ssltest/, a free online service that performs an analysis of the configuration of any SSL web server.
Follow these steps on the SSL Labs website (please note that Docebo is not responsible for the completeness of the following information in case of changes made by SSL Labs to the outlined process):
- Insert the URL of your Docebo platform into the Hostname field and press Submit. Make sure that you set the same URL here and in the Domain URL field in the Domain Option section (Properties tab on the Branded Mobile App Publisher page).
- Wait for a while until the analysis is complete, then click on the IP address retrieved in the Server column. If more than one result is shown in the table, please select the first one.
- A page displaying the SSL report will open, where you can find the digest of your certificate in the Subject section of the Certificate box.
- Copy the string following Pin SHA256, then paste it into the Digest field in the Certificate Pinning section on your Docebo platform. Double-check that you don’t copy-paste empty spaces at the beginning or at the end of the string.
- Remember to save your changes and generate the build for your app. The app you have just built supports certificate pinning!
Please note that if you need to make some changes to your certificate and you release a new digital certificate, you will need to perform the process again for the new certificate (navigate to https://www.ssllabs.com/ssltest/, insert the URL in the Hostname field, etc. up to building a new version and distributing it).
Push notifications are brief messages sent through your branded mobile app even when the app is not open and that your users see in the notification area or in the lock screen of their devices. This kind of notification is used by the Virtual Coach, a proactive learning coach in your platform, to notify learners about content that may interest them or about pending tasks to complete. For more info about Virtual Coach and how to activate it and its notifications, refer to this article. For further information about how your users can interact with the Virtual Coach, please refer to this article.
In order to enable push notifications, flag the corresponding checkbox in the Push Notifications section in the Properties tab. Two fields will appear below: Project ID and Firebase Service Accounts Configuration File.
In the first field, you will add the project ID, which refers to the project in Google Firebase. In the second field, you will need to upload the Firebase Admin SDK configuration json file. Remember that both these fields are mandatory.
If you want to have push notifications, your branded app needs a project in Google Firebase (this is needed also for iOS apps). Please note that it’s your responsibility to generate a project in Firebase. It is highly recommended that you contact your IT consultant to register your company account on Google Firebase and then create the project. Once created the project in Firebase, click on the gear icon near the Project Overview option in the sidebar, then select Project Settings. In the Your Project section in the General tab (first tab on the left), you’ll find the Project ID. Copy this text from Firebase and paste it into the Project ID field in your Docebo platform.
For a step-by-step explanation of how to create a Firebase project, please refer to Google Firebase Knowledge Base and to this document. In order to download the Admin SDK Configuration json file from Firebase, reach the Service Accounts tab in your Firebase account, then click Generate New Private Key at the bottom of the tab. A pop up box will open, where you need to confirm your action by pressing the Generate Key button. Now, download the json file from Firebase and upload it into the Firebase Service Accounts Configuration File field in your Docebo platform. Once filled the two mandatory fields in your platform, press Save Changes at the bottom of the page.
For a detailed explanation of how to retrieve all of the data needed to fill in the fields which are necessary to configure push notifications in the platform, please check out this document.
Please Note: When you enable the push notifications checkbox in the Properties tab, the Google Services section in the iOS and/or Android tabs (depending on the tab or tabs that you enabled by activating the Enable Mobile App toggle) is automatically activated. This means that in this case you don’t need to flag the Enable Google Services checkbox to activate the section. Remember that you need to fill in all of the fields in the Google Services section.
On the contrary, if you don’t enable the push notifications checkbox in the Properties tab, the Google Services section in the iOS and/or Android tabs is not automatically activated, and you need to flag the Enable Google Services option to activate it and show the fields below. When you don’t enable push notifications, only the Google Sign-In service is activated in the Google Services section (while other services such as push notifications or Firebase Analytics are not activated). You’ll find more info on Google services in the Settings section below in this article.
IOS and Android Tabs
Use the second tab, iOS, if you want to publish your branded mobile app in iOS App Store. Use the third tab, Android, if you want to publish your branded mobile app in Android Google Play Store.
First, in order to enable the mobile app, you have to activate the corresponding toggle in the Build Status section. If you’re generating the build for iOS, activate this toggle in the iOS tab, and if you’re generating the build for Android, activate it in the Android tab. If you want to publish your app in both the app stores, remember that you have to activate the Enable Mobile App toggle in both the iOS and the Android tabs. Then, scrolling down the page, you can start configuring technical details in the Settings section and selecting images to display in your branded mobile app in the App Images section. You’ll find these two sections in the iOS tab as well as in the Android tab. If you want to publish your application in both the app stores, remember that you have to configure the Settings and the App Images sections in both the iOS and the Android tabs.
Refer to the following sections of this article to know how to configure the two above-mentioned sections.
Please note: You will need one token to publish your app on Apple App Store and Android Google Play Store, so using one single token you can publish your branded app on the two app stores.
Please note that all other settings and options for this functionality, which are described throughout the remainder of this article, are more technical than those explained up until this point. In order to ensure that you properly configure all options, Docebo suggests working with an app store specialist in your company for support.
In the Settings section, insert the Store Link into the Url field. You can find it in the app store’s publication page. If your app is for Android, you also have to insert the Package Name in the App Identification section. This is the Android Package Name that Docebo will use to build your app. Please check that the Package name is not used by any other app in the Play Store. Docebo suggests using the Reverse domain name notation (es. appname.company.com = com.company.appname). Always remember to only use lower case characters and note that the package name cannot contain the keywords in this list.
Then, if your app is for iOS, you will find the Bitcode Usage section. The option to include the bitcode in the app package is enabled by default. Including the bitcode in the iOS .ipa package will allow you to generate an app always optimized for the version of the operating system that you are using, because it allows Apple to reoptimize your app binary in the future. On the other hand, not including the bitcode will result in an application that is more compatible with Mobile Device Management (MDM) softwares. If you publish your branded app using your MDM and you encounter any issues, we suggest you try disabling this option to best fit the needs of your MDM system.
If your app is for Android, you will find the Package Format section, where you can choose the type of app package that will be built when you generate the build.
You can select the Android App Bundle (AAB) option, the new standard format used by Android, that creates smaller packages resulting in smaller downloads for end-users. By building an AAB package, you will benefit from more flexibility, you can save space on your device, have faster updates, and performances optimized for your mobile device. However, since the AAB format requires the mandatory usage of the “app signing by Google Play”, your app could be less compatible with MDM systems.
Another choice is to select the Android Package (APK) option, which creates larger packages, but ensures better compatibility across devices and Mobile Device Management (MDM) systems. APK is no longer supported by the Play Store, but you can still use it to publish your app using your MDM system.
Important note: starting August 2021, Google Play requires new apps and updates to existing apps published on the Android Google Play Store to use the Android App Bundle (AAB) package format.
Therefore, you need to make sure that the AAB (Android App Bundle) option is selected in the Package Format section. If you previously set the APK (Android Package) format, which is no longer supported by the Play Store starting August 2021, just switch to the AAB (Android App Bundle) option, then, once you have completed the configuration, start the package generation process by clicking on the Generate Build button.
Note that the APK format is still available, but can only be used if you publish the branded app using your Mobile Device Management (MDM) system (if supported by the MDM).
Now move to the Google Services section. Use this section to integrate your branded app with different Google services such as Google Sign-In (login with Gmail/Google Apps), push notifications, and Firebase Analytics. Remember that if you don’t enable push notifications (in the Properties tab), only the Google Sign-In service is activated among the Google services (while push notifications and Firebase Analytics are not activated). You can enable Google services by selecting the corresponding checkbox. When you enable Google services, two or three fields will appear below (two for an iOS app, three for an Android one).
The text fields included in this section (Google iOS Client ID, Google Web Client ID and Configuration File) can be filled in by copying and pasting the corresponding parameters from the Google Api Console. The Google iOS Client ID field is required only for an iOS app. It is not required for an Android app. You need to download the Configuration File from the Google Api Console and to upload it in this field. To upload the file, click on the upload icon or the text field, then select the file you previously downloaded in your device and confirm your action
Please note that Google Sign-In service has two different names: Login with Gmail and Login with Google Apps. Login with Gmail is for end users, while Login with Google Apps is a service for companies and it can be enabled only by a system administrator (note that the system administrator is not the same reference to the platform administrator). If your administrator didn’t enable the Login with Google Apps in the company mail account, even if you have a personal Gmail account, you can’t use it. On the app’s login page, there will be the login with Google button only if you as the Superadmin have set up and enabled the app that allows to login using Google accounts.
Please note: If you use Auth0 in your branded mobile app, remember to set the callback URLs as explained in the Configuring Auth0 for the Go.Learn App section of this article.
In the App Images section, you can upload images that will be displayed in the mobile app. Upload an image for the Launcher Icon, which is the app’s icon that you see on the launcher in your device. A round icon is usually used on Android, while a square icon with rounded borders is used on iOS.
Upload an image for the Splash Screen, which is the image shown when the user taps the app’s icon and when the application is loading. In order to choose the right image, note that the splash screen image is centered in a white rectangle.
Your launcher icon and your splash screen image dimensions must be 1024x1024px @72 DPI, and the required file format is PNG 32 bit with alpha-channel (transparency support). The maximum file size is 4MB.
Please note that, according to the domain configuration of your branded mobile app, you may also view an additional section, named Prelogin Background Image. This is the image used for the background of the prelogin page, that is the app page in which the user inserts the platform URL.
Prelogin background image dimensions must be 720x1280px (portrait orientation to fit mobile phones) @72 DPI, and the required file format is PNG 24 bit with alpha-channel (transparency support). The maximum file size is 4MB.
Generating the Build and Downloading the Package
When ready, select Save Changes to save your project. Now, press the Generate Build button to continue. Click Generate in the pop-up box, then your package’s generation process starts. It may take a few hours to complete (up to 24 hours).
The build generation may fail when launched during the Docebo weekly or monthly release process. Should this happen, try re-generating it when the release process is over.
The Build Status at the top of the iOS and/or Android tabs (in both the tabs if you are generating a build for both an iOS and an Android app, only in the relative tab if you’re generating one build) will change to Build Requested. When the process is complete, the status will say Build Available. Build creation date and expiration date are written in the status bar. You will receive an email notification when the package is ready to be downloaded.
You can now download your package by pressing the Download Package button in the Build Status section.
If you don’t download the package within the expiration date, you won’t be able to download the package, but you’ll have to generate a new build.
Editing and Deleting Your Branded App
On the Branded Mobile App Publisher page, the displayed table lists all of the branded apps that have been generated. If you want to edit or delete an app, or generate or download builds, select the ellipsis icon at the end of the app’s row, then select your corresponding choice from the dropdown menu. Every time you edit the app, you have to ask for a new build. Once the build process is complete, you’ll receive an email notification.
Please note: If you delete an app and then you need it again, you have to reconfigure the entire project. Also note that if you deleted an app that was already published, the creation process is deleted, but the app isn’t removed from the app store. Therefore, in order to delete the app from the store, you have to unpublish the application from the app store console.
Updating Your Branded App
In the platform, you can request a build based on the new version of the source code. Remember that builds are always generated using the codebase’s most recent version available.
Firebase In-App Messaging helps you engage your app's active users by sending them, while they’re using the app, targeted and contextual messages that encourage them to use the key features of your branded app and to interact with content in the app.
For example, you could send an in-app message to get users to enroll into a course, watch a video, complete a survey, or discover a new functionality.
You can customize messages by choosing a layout (card, modal, image only or top banner) and adding an image or a button. Then, you will define the target audience who will receive the message and set a schedule so that messages appear in the app exactly when they are most useful to your users.
When adding buttons, if you want your users to navigate to a specific page or content, remember to use deep links.
Thanks to in-app messages, you as a Superadmin can communicate with your mobile app users in a direct and personalized way and can engage them through targeted campaigns.
To configure in-app messages for your branded mobile app, you need to integrate your app with Firebase. Find out more on how to create a Firebase project and add Firebase to your Android or iOS app.
Once you have added your app to Firebase, open the In-App Messaging menu in the sidebar on the left of the Firebase page to start creating your campaign and the in-app messages that will be sent to your users. Further details on how to configure your in-app messages in Firebase.
No action nor activation is needed from your learners — while they’re using the app, they will just receive the messages that you configured in your campaign, so that they can easily interact with the content or features that you suggested to them.
Custom Push Notifications
First of all, let’s clarify that push notifications in your branded mobile app can come from two different sources:
- Docebo platform. They are enabled for your branded app in the Branded Mobile App Publisher page, and they are used by the Virtual Coach.
- Google Firebase. You as a Superadmin can configure push notifications in Firebase. Please note that it’s your responsibility to generate a project in Firebase and then configure custom push notifications, and this activity cannot be controlled nor managed by Docebo. In this chapter, we’ll go through notifications created in Firebase.
Firebase custom push notifications are sent to users when the app is not open and can be associated with a specific page or content in the app that opens when the user taps on the notification. Through notifications you can send your users targeted and contextual messages that encourage them to use the key features of your branded app and to interact with content in the app.
For example, you could send a push notification to get users to enroll into a course, watch a video, complete a survey, or discover a new functionality.
You can customize notifications by adding an image or a button, and then you can define the target audience who will receive them and set a schedule so that they appear on the device of the user exactly when they are most useful to them.
When adding buttons, if you want your users to navigate to a specific page or content, remember to use deep links.
Thanks to custom push notifications, you as a Superadmin can communicate with your mobile app users in a direct and personalized way and can engage them through targeted campaigns. Also, push notifications are helpful to re-engage users who haven’t visited the platform for a while.
To configure custom push notifications for your branded mobile app, you need to integrate your app with Firebase. Find out more on how to create a Firebase project and add Firebase to your Android or iOS app.
Then, you need to enable push notifications in the Push Notifications section in the Properties tab of the Branded Mobile App Publisher Admin Menu of your Docebo platform.
Once you have added your app to Firebase and enabled push notifications in Docebo platform, open the Cloud Messaging menu in the sidebar on the left of the Firebase page to start creating the custom push notifications that will be sent to your users.
First of all, click on the New notification button to begin the process. Then, follow the steps from 1 to 3 to configure the notification name and other info, define the target and schedule when it is sent to users.
You can skip step 4, but pay attention to step 5 Additional options. Here, you need to add two Custom data fields as follows:
- Key: type, Value: deeplink
- Key: url, Value: insert the deep link of the page of content you want the app to navigate to when a user taps on the notification
No action nor activation is needed from your learners — they will just receive on their mobile device the push notifications that you configured, even if they’re not using the app. With custom notifications, your learners will easily interact with the content or features that you suggested to them.
Please note that learners are always able to disable push notifications in their device’s settings, and therefore relying on this type of notifications to send them important communications is not recommended.
Your learners can enable biometric authentication on their branded mobile app so that they can use their fingerprint or face recognition to log into the app. After the user enters their username and password on the sign in page for the first time, they can allow the app to use biometric credentials, and on the next login they will be able to authenticate with their fingerprint or via face recognition.
In order to enable the biometric login feature for your branded app, you as the Superadmin need to contact Docebo (via the Help Center, or through the Customer Experience Team if your plan includes this option).
The technology used for biometric login depends on the device you are using — the features available for biometric login vary depending on the smartphone model you are using.
Please note that Docebo does not store any biometric data and your branded mobile app does not store fingerprints nor face recognition data. Apple and Google manage this data inside of the Secure Enclave, and data is not shared with any other entities. The access through biometric data is performed via system keychain.
Remember that the biometric login functionality cannot be used in combination with Single Sign-On (SSO).
Supporting Mobile Measurement Partner (MMP)
If you have created different promotional campaigns for your branded app on different advertising networks and social media, you will need to measure and analyze the Return on Investment (ROI) of each campaign. Mobile Measure Partners (MMPs) are particularly useful to measure performance and conversion rate from different ad networks and are used to compare the performance of each network and understand which medium performs the best.
An MMP collects, organizes, and standardizes mobile app data to deliver a uniform assessment of campaign performance metrics.
Adjust MMP can be integrated with Docebo’s Branded Mobile App Publisher functionality. In order to enable the support for Adjust as MMP for your branded app, you as the Superadmin need to contact Docebo (via the Help Center, or through the Customer Experience Team if your plan includes this option).
Hiding the Offline Mode Options for Your Branded App
There may be the case that you want to hide, on your branded app, all of the options, actions and pages related to the offline mode, because you don’t want to give your users the ability to download confidential documents or training material. In order to do so, you as the Superadmin need to contact Docebo (via the Help Center, or through the Customer Experience Team if your plan includes this option) and ask to hide all of the offline mode options.
Offline mode allows your users to log into the app while offline, to download training material and full courses while offline, and then to find and play them from the Offline Content page of the app. If you want to know more details about what you can do in offline mode, you can read the section dedicated to offline content in the Go.Learn article. If you decide to hide the offline mode for your branded app, your users won’t be able to perform any of these actions while they are offline.
Customizing the Catalogs Filters for Your Branded App
On your branded mobile app, you may have the need to customize the filters shown in the filters panel on the Course Catalog page, so that your learners can only see the filters that are relevant to them, and in the order that is most suitable to them, making it easier for the learners to navigate their branded mobile app. In order to do so, you as the Superadmin need to contact Docebo (via the Help Center, or through the Customer Experience Team if your plan includes this option) and ask to customize the catalogs filters.
More specifically, you can ask to show some filters or to remove them, to change the order in which they are shown and also to customize the number of checkbox options displayed in each filter.
Best Practices on Branded App Updates
Be sure to monitor the updates on the Product Updates page to know the releases impacting the branded mobile app.
- Within 15 days from the monthly release date (keep an eye on the Product Updates page), Docebo pushes the most reliable and feature-complete app — with all of the features included into the monthly release for Go.Learn — to all the branded app owners having an active subscription. Then, if you want, you'll be able to create a new version of your app and upload it into your app store to deliver the update to all of your users. You are not forced to update your app, but the update is highly recommended. Please note that we offer our support only if you have the latest version of the mobile app installed on your device.
- In case you are required to update your branded app for any specific reasons, we make sure you are informed in advance via the Product Updates page and the KB articles in Docebo Help. In general, we suggest that you update your app (generating a new build and then distributing the app) at least once a quarter.