Latest available version of the app: 6.3.0
Introduction
This article covers the steps to configure a branded mobile app in the Branded mobile app publisher page of the platform. The settings on this page let you customize the appearance, functionality and capabilities of your Android and iOS branded apps.
- You can save the settings as you go along, and come back and complete them later.
- When you are ready, on this same page you can then generate the builds for your branded mobile apps.
You can create more than one branded app. For those using Extended Enterprise, Docebo recommends creating a specific branded app for each subdomain.
Prerequisites: App ID, Store links and Firebase
Before you begin configuring an app in the Branded mobile app publisher page you should have completed the following steps:
- Select an ID for your branded mobile app. It is recommended to use reverse domain notation (eg com.docebo.mobile). This will correspond to the packageId for Android, and to the bundleID for iOS. Your ID must be unique and not already present in those stores. Preferably, it should be the same for both stores (though this is not required)
The package name cannot contain the keywords in the list of Java keywords (opens in a new tab). - Select the public name of your mobile app. This will be the same for both the Android and iOS versions of the app. Make sure the name you choose does not already exist in the Google Play store or the Apple App store.
- For each store, in Google Play Console / App Store Connect go through the procedure to create the app (you do not need to upload a build yet). During this process you will be asked to provide your chosen ID, and the app creation will generate a Store Link such as the following:
https://play.google.com/store/apps/details?id=com.docebo.mobile
https://apps.apple.com/us/app/go-learn/id1362542319
→ Skip this step if you are not planning to distribute your branded app via these stores.
By creating the apps first in this way you can be sure that the chosen app ID is unique.
→ make a note of your app ID and the Store links, you will need to insert these in subsequent configurations.
Please note: If you plan to distribute your branded app via mobile device management (MDM) or by some other method outside of the Google Play Store or Apple App Store, you can still create the packageID in the Google Play Console and the bundleID in Apple Store Connect. In this case you do not need to create the app listing and you do not require a Store link.
In addition, if you want your mobile app to have push notifications, Google sign-in or Google analytics, you should first complete the steps described in the article:
Tokens
Creating a new branded mobile app requires a token, which you can purchase from your Account Manager. The tokens you buy remain associated with your account, and you can then use them to create your branded apps.
- You need one token for each branded app: a single token covers both the iOS and Android versions of the app.
- The token is required only when you create a new branded app. You do not need a token to update your app.
- When you press the + button to create a new mobile app the New branded mobile app dialog box will inform you of how many tokens you have available.
If you publish multiple apps, for example for your extended enterprise subdomains, you will need one token per app.
Create a new branded app
1. Select Admin menu > Theme settings > Branded mobile app publisher.
You will see any pre-existing mobile apps listed. Here you can click one of the existing apps to edit or continue its configuration (see Edit or delete a branded app), or click the + button to begin creating a new one.
2. Click the + button. In the dialog box, check that you have the necessary token available, then click Continue.
3. In the New Branded Mobile App panel that opens, fill in the following fields:
- App name: The public name that you selected for your app. This is the name that your learners will see, and will be the same for the Android and iOS versions of the app. Make sure that it is a unique name that does not already exist in the Google Play Store or the Apple App Store.
- Email: Insert an email address for notifications related to build management. You can only insert one email address into this field. Docebo suggests inserting a mailing list address, so that all of the people responsible for managing the app can be notified and directly receive updates.
4. When you are ready click Create and Edit.
A page will open where you can configure all the settings of your newly-created branded app. This page consists of three tabs: Properties, iOS, and Android.
You can now begin the configuration of your app (refer to the chapters Properties tab and iOS and Android tabs in this article) and save your progress at any time by clicking Save changes. Then when you are ready to resume, you can select the app from the Mobile app publisher page to continue or change its configuration.
Generate the builds and download the package
When you have configured all the settings of your branded mobile app in the Properties tab and in the iOS and Android tabs, click Save changes to save your app configurations. Then you are ready to generate the builds.
Click the Generate builds button. Then, in the dialog box, click Generate to confirm.
→ This will start the generation of the app package or packages–depending on whether you selected Enable mobile app only for Android, only for iOS, or for both. The package generation process may take a few hours to complete (up to 24 hours).
Please note: 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.
You can check the progress in the Build Status section of the iOS and Android tabs:
- When you click the Generate builds button it will change to Build requested.
- When the process is complete it will change to Build available, with the build creation and expiration date. This means the package is ready to be downloaded. You will also receive an email notification.
You can now download your package by clicking the Download package button in the Build Status section.
Please note: 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.
Next steps → re-sign and publish the app packages
Once you have downloaded the packages for your iOS and/or Android branded apps, you are ready to upload the packages to the app stores. To do this you must first re-sign the package to replace the digital signature temporarily applied by Docebo during the app creation process with your own one.
Refer to the knowledge base article: Re-signing and publishing the branded mobile app.
Edit or delete a branded app
The Branded mobile app publisher page lists all the branded apps that have been created so far. 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.
To edit a branded app:
- Click the ellipsis icon on the app row and select Edit.
- Make any required changes in the Properties and iOS and Android tabs, and when you are ready click Save changes.
→ You will see a warning that, once you save your changes, the previous builds will be deleted and no longer available to download. This is to prevent downloading a build with different settings from the ones you have now configured. - When you confirm, the status in the iOS build/Android build columns will change to Never generated, indicating that the build has not yet been generated with the current settings.
→ Once you click the Generate build button to generate a build with the new settings, the status will change to Build requested and then, when the process is complete, to Available.
To delete a branded app:
- Click the ellipsis icon on the app row and select Delete.
- In the dialog box, click Delete again to confirm.
→ The app is removed from the Branded mobile app publisher page. Note that this deletion does not remove the app from any stores where it was published. You will also have to separately unpublish the app from the app stores.
Please note: If you delete an app and then you need it again, you will have to reconfigure all its settings in the Properties, iOS and Android tabs.
Update the branded app
Even if you do not change your branded mobile app settings, you will need to periodically generate and distribute a new build to incorporate the latest updates, based on the new version of the source code. The builds in branded mobile app publisher are always generated using the codebase’s most recent version available.
Check the Product updates page to know when a new version of Go.Learn and branded mobile app has been released.
→ When you see that an app update has come out, you can create a new version of your branded mobile app and upload it into your app store, to deliver that update to all of your users. To do this:
- Perform the steps described in the chapter Generate the builds and download the packages, and then those described in the article Re-signing and publishing the branded mobile app.
Please note: You are not forced to update your branded app, however the update is highly recommended to ensure you have the most reliable and feature-complete version of the app—with all of the functionalities included in the release for Go.Learn.
Note also that Docebo only offers product support for the latest version of the mobile app.
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.
Properties tab
The Properties tab contains some settings that are common to both the iOS and Android versions of the mobile app: App details, Domain option, Certificate pinning, Push notifications, Mobile Measurement Partner (MMP), App usage in China, Background audio playback.
App details
In the App Details section, you’ll find the information that you set when creating the branded mobile app: App Name and Email. You can edit them here if required.
Domain option
In the Domain URL field, enter the address that you type in your browser address bar to access your platform. This might be the docebosaas URL of your platform or its custom domain if one is configured.
→ Make sure that the URL does not have a trailing slash (/), as this may cause login problems. Some example platform URLs would look like this:
https://myplatform.docebosaas.com
https://learning.mybrand.it
For extended enterprise platforms, you can enter the URL of the desired client, or its secondary domain if configured.
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. This helps better protect the app against phishing and man-in-the-middle attacks.
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.
To configure this, flag the Enable Certificate Pinning option. Then, in the Digest field insert the digest of your HTTPS certificate in SHA-256 Pin format.
- To retrieve your digest you can ask for assistance from the Security Officer of your company
- Alternatively, you can use the free online service https://www.ssllabs.com/ssltest/ (opens in a new tab), that performs an analysis of the configuration of any SSL web server.
- Please note that, if you release a new digital certificate, you will need to update the fingerprint in the Digest field and rebuild your app.
To retrieve the digest from SSL Labs:
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):
- Enter the URL of your Docebo platform into the Hostname field and click Submit. This should be the same URL that you set in the Domain URL field in the Branded Mobile App Publisher page.
- Wait for the analysis to 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.
Push notifications
You will need to configure this section if you want your branded mobile app to support Firebase Messaging (Notifications or In-app messaging) or Google analytics. If you do not require these features, you can leave the Enable push notifications option disabled and skip to the next section.
To configure the push notifications section:
- If you have not already done so, first complete the steps outlined in Configuring Firebase for the branded mobile app. You will need the Firebase project ID and the Firebase service account configuration json file that you obtained in the chapter Get Firebase Project ID and Services Account Configuration file.
Flag the Enable push notifications option. When you do so, two new fields will appear underneath:
- Project ID: Here enter your Firebase project ID.
- Firebase Service Accounts Configuration File: Here upload the Services account configuration file downloaded from firebase.
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: 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
These tabs contain configurations specific to the iOS and Android versions of your branded app: Build status, Reader app (iOS only), Store link, Package name (Android only), Package format (Android only), Google services, Universal link (iOS only), App links (Android only), App Images.
Build status
At the top of the iOS and Android tabs there is an Enable mobile app toggle that lets you enable configuration of the corresponding app. You can choose to have only an Android version of your app, only an iOS version, or both.
When you select the Enable mobile app toggle the other configuration fields become available.
Reader App (iOS only)
If your app allows users to access paid content that they purchased outside of Apple’s ecosystem and not within the app, you must enable Reader app mode:
- This will make your app compliant with Apple’s guidelines on e-commerce (paid content) (opens in a new tab), and avoid it being rejected by Apple App Store .
Enabling Reader app mode ensures that your users can use the mobile app to access previously purchased content, such as paid courses purchased on the desktop version of the platform.
Please note that with Reader app mode enabled, user accounts cannot be created within the mobile app. Therefore, if you allow self-registration on your platform, users will need to register from the desktop platform.
Store link
Insert the URL of your branded app’s listing page in the Google Play Store or the Apple App Store. For example:
https://play.google.com/store/apps/details?id=com.docebo.mobile
https://apps.apple.com/us/app/go-learn/id1362542319
→ If you are not distributing your app via the stores, enter your platform URL in the Store link field.
Package name (Android only)
Enter the Android packageID of your branded mobile app. For example,
com.docebo.mobile
.
Package format (Android only)
Select AAB (Android App Bundle) if you want to publish your branded mobile app in the Google Play Store.
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.
You can still select the Android Package (APK) option if you plan to publish your app through a Mobile Device Management (MDM) system rather than the public Google Play Store.
Google services
You need to configure this section if you are using any of the Firebase services (Firebase Messaging, Google analytics, or Google sign-in). Make sure that you have already configured the services you plan to use within Firebase as instructed in the article Configuring Firebase for branded mobile app.
- If you set Enable push notifications in the Properties tab, the fields to configure will be already visible.
- Otherwise, select the Enable Google Services check box to display the configuration fields.
→ You may need to do this, for example, if you do not want Firebase Messaging but you do want Google sign-in.
(If you are NOT using any Firebase service, Enable push notifications and Enable Google services should both be deselected )
Configure the Google services fields as follows:
Google web client ID: If you configured Google sign-in in Firebase, enter here the Web client ID that you obtained during the Firebase configuration. To find it:
- In your Firebase project sidebar select Authentication, select the Sign-in tab then click the Google provider.
- Expand the Web Sdk configuration section and copy the contents of the Web client ID field.
Otherwise, if you did not configure Google sign-in, enter the string “PUSH-ONLY” (without the quotation marks) into this field.
Configuration file: In this field you must upload the google-services.json (for Android) or GoogleService-Info.plist (for iOS) file that you obtained during the Firebase configuration. To retrieve these configuration files:
- In your Firebase project settings, navigate to Your apps
- select the Android app, and click the link to download google-services.json.
- Similarly select the iOS app and click the link to download GoogleService-Info.plist
Google iOS client ID (iOS only): If you configured Google sign-in in Firebase, enter here the iOS client ID that you obtained during the Firebase configuration.
Otherwise, if you did not configure Google sign-in, enter the string “PUSH-ONLY” (without the quotation marks) into this field.
Please note: 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 (iOS only)
A universal link is a URL that allows users to open the branded app on a specific screen.
To enable this functionality, in the iOS tab select the Enable universal link check box. Then you will need to insert your App ID.
Retrieve the app ID
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
Check that Associated Domains is enabled
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).
App links (Android only)
An app link is a URL that allows users to open the branded app on a specific screen.
To enable this functionality, in the Android tab select the Enable app links check box. Then in the SHA certificate fingerprint field you will need to insert the SHA256 fingerprint of the signing certificate.
To retrieve this, 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.
App images
In the App Images section, you can upload images that will be displayed in the mobile app.
Launcher icon
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.
Splash screen
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.
Prelogin background
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.