Latest version of the app available: 5.4.1
HEADS UP: With the October monthly release on October 26, 2022, a security update on file uploads has been released. To avoid any disruptions with file uploads in your mobile app, please make sure you build the new version of your branded mobile app and distribute it via app stores or via your Mobile Device Management systems. Please note that the build needs to be based on version 4.9.1 or later.
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 make sure that:
- You have enabled the Associated Domains capability on the Certificates, Identifiers & Profiles page in the Apple Developer's Console (opens in a new tab)
- You download and execute the new version of the resign.sh script (.sh, 6KB). This file is also attached to the Re-signing the .ipa chapter of the Re-signing and Publishing the Branded Mobile App KB article.
Introduction
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. More info on how to perform this process.
Discover the technical requirements and information needed to create your own branded app. 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) (opens in a new tab). Find out more on how to produce and present this report.
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 Account 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 Account Manager, requesting them to provide you with new tokens.
Tokens are used in order to create a new branded mobile app. You can buy them through your Account Manager. Once you have bought them, they are associated with your account. To know how many available tokens you have, you can contact your Account Manager (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.
Properties Tab
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:
App Details
In the App Details section, you’ll find the information that you added on the previous page, App Name and Email.
Domain Option
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
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
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. More info about the Virtual Coach and how to activate the coach and its notifications and about how your users can interact with the Virtual Coach.
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 (opens in a new tab). 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 (opens in a new tab) and to the Docebo KB article on push notifications. 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 the Docebo KB article on push notifications.
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 corresponding section below in this article.
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, check the corresponding setting in the Mobile Measurement Partner (MMP) section, then paste the app token you generated on Adjust dashboard, visible under App Token in Adjust as shown in the screenshot below.
Please note that when you publish your branded app on the Apple App Store, you are asked some privacy questions on data types collected in your app. You can find these details in Adjust Knowledge Base (opens in a new tab). To make sure you fill the form with the correct answers, check out the PDF attached to the Important Notes on the Publishing Process chapter of the KB article explaining how to publish a branded app.
App Usage in China
If you want to enable the optimization for app usage in China, flag the corresponding option. This feature provides optimized performances to those using the app in China, including users moving in and out of the country and staying for short periods of time.
Background Audio Playback
This feature allows you to continue to play your audio or video files even when the app is sent to the background, when you lock or turn off the screen or when you switch to another app, creating a podcast-like experience on your branded mobile app. Playback controls are integrated into the notification area of your device.
In order to enable the feature, check the Enable Background Audio Playback setting in the Background Audio Playback section.
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.
Settings
Some of the options in the Settings area are available both in the iOS and Android tabs, while others are specific to one of the app stores.
iOS |
Android |
|
✔ |
✔ |
|
X |
✔ |
|
X |
✔ |
|
✔ |
✔ |
|
✔ (Universal Link) |
✔ (App Links) |
Let’s go through each one of the options of the Settings area:
Store Link (Both Android and iOS) and App Identification (Android Only)
Insert the Store Link into the Url field. You can find it on 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 the list of Java keywords (opens in a new tab).
Package Format (Android Only)
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 (opens in a new tab) 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).
Google Services (Both Android and iOS)
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 (opens in a new tab). The Google iOS Client ID field is required only for an iOS app. It is not required for an Android app.
You also 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 the Docebo for Auth0 article.
Universal Link (for iOS) and App Links (for Android)
A universal link is a unique URL that you can adopt so that when your users click/tap on the link, they open a window or page in either their web browser, mobile browser, or mobile application, depending on the device used. For mobile, when a user taps on supported https links pointing to your platform, the app automatically launches and navigates to the corresponding page.
Not all of the areas and pages of the Docebo platform are available in the mobile app, this means that the app will be triggered by the universal link only when the user taps on a supported link (meaning that the link points to a page which is available in the app).List of supported links:
- "/pages/*",
- "/learn/course/view/elearning/*",
- "/learn/course/view/webinar/*",
- "/learn/course/view/classroom/*",
- "/learn/course/*",
- "/learn/course/internal/view/elearning/*",
- "/learn/lp/*",
- "/learn/learning_plan/view/*",
- "/share/asset/view/*",
- "/learn/catalog/view/*",
- "/share/latestContent",
- "/learn/dashboard/channel/*",
- "/learn/mycourses",
- "/learn/dashboard",
- "/share/myChannel",
- "/learn/catalog",
- "/share/list/coach",
- "/otj/my-checklists",
- "/otj/assignments/*"
The universal link enables you to create integrated experiences among emails, apps, messaging systems and web pages seamlessly and almost effortlessly.
These links are referred to as "app links" in the context of Google's Android OS, while the name used by Apple’s iOS is "universal link". In this article, you will find the term “universal link” to refer to this functionality, regardless of the Operating System you are enabling your links for.
The functionality is only available on branded apps. It is not available on the Go.Learn app.
The universal link is available for branded app users linking to *.docebosaas.com domains — and to those using custom domains as well, as long as the URL refers to the domain as domainname.docebosaas.com.
In order to activate the functionality for the branded mobile app, you need to enable it in the dedicated section of the branded app’s Settings area, as explained in the following chapters.
Enabling the Universal Link for iOS
In order to enable the universal link in your iOS app, reach the Universal Link section in the iOS tab and select the Enable Universal Link checkbox.
Then, you need to type the app ID of your app in the text box. You can retrieve the app ID in the Apple Developer's Console (opens in a new tab), in the Certificates, Identifiers & Profiles section.
The value of the app ID key is the team ID or app ID prefix followed by the bundle ID. The two parts are separated by a dot. Format: "teamID.bundleID", sample: "ABCD1234.com.apple.wwdc".
For example, with the app ID configuration shown in this screenshot, in the App ID field you will need to type:
9YR6YH8KLL.com.mycompany.myapp.client
On the Certificates, Identifiers & Profiles page, scroll down until you reach the Capabilities tab, where you need to make sure that the Associated Domains capability is enabled.
Find more information on the associated domains (opens in a new tab).
Finally, don’t forget to generate a new build for the app, re-sign it and publish the signed .ipa file on the Apple App Store. Please note that you need to download and execute the new version of the resign.sh script (ZIP, 6KB).
Enabling the App Links for Android
In order to enable the app links in your Android app, reach the App Links section in the Android tab and select the Enable App Links checkbox.
Then, you need to type the SHA256 certificate fingerprint of the signing certificate. In order to retrieve the certificate fingerprint, access the Google Play Console (opens in a new tab) and reach the App Integrity menu item. In the Digital Asset Links JSON section on the page, copy the value that you find under sha256_cert_fingerprints.
Finally, don’t forget to generate a new build for the app, re-sign it and publish the signed .aab file on the Google Play Store.
App Images
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.
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.