Saturday, September 30, 2023
Intune

MEM – Standardise Android layouts using Microsoft Launcher

Happy new year everyone! In this post, I will show you to set-up your Android Enterprise fully managed user devices home screen layout in a consistent manner using Microsoft Launcher delivered via Microsoft Intune. This will ensure the Android layout is consistent for your end-users, thus potentially reducing support calls.

What is Microsoft Launcher?

In a nutshell, Microsoft Launcher is an Android applicable that provides the ability for end-users to personalise their phone and \ or for IT administrators to take some level of control for the look and feel of Android devices, such as setting a wallpaper, application home screen layout and enabling an M365 feed. Allowing for a consistent home screen experience across devices regardless of OEM’s and system versions. Microsoft Launcher is only applicable to Android Enterprise corporate-owned, fully managed user devices, If you’re looking to standardise the look and feel on Android Enterprise corporate-owned dedicated devices then see this Microsoft blog post.

Prerequisites

  • Intune administrator privileges
  • Android enrollment enabled for Corporate-owned, fully managed user devices
  • Google Play Store successfully integrated
  • Applications deployed to devices that you wish to pin to the home screen

This post will assume that you have the above prerequisites in place.

Configuring Microsoft Launcher within Microsoft Intune

Let’s get started!

Deploy the Microsoft Launcher application

Within MEMAC, navigate to Apps, All Apps, Add and then select Managed Google Play app:

Adding the Microsoft Launcher application to Intune for our Android layout customisation.

Search for Microsoft Launcher within the Google Play store, then click approve, accepting the prompts, once approved, click Sync:

Syncing Microsoft Launcher application with Intune.

The Microsoft Launcher should appear in your list of applications within Intune, once listed (it may take 2-3 minutes to appear), once present, deploy the application to your test devices, in my tenant I only have a few Android devices, so I have deployed it to all (You should not do this in production unless testing has taken place):

Now that the application is installed onto your devices, let’s move on to the next step.

Create an Android Device Restriction Configuration Profile

We now need to create an Device Restriction configuration profile targeted to our Android devices to instruct them to use the Microsoft Launcher as the default launcher, to do this, navigate to Devices, Configuration Profiles and select Create Profile:

Creating the Android layout profile via Intune.

Select Android Enterprise and Device Restrictions, under Fully Managed, Dedicated, and Corporate-owned Work Profile:

Set a profile Name and Description:

Within the Configuration Settings, under Device experience, select Fully Managed under Enrollment profile type and then select Enable under the Make Microsoft Launcher the default launcher.

Deploy the Configuration Profile to your Android corporate owned fully managed user devices, in my case, I have deployed to all devices for the sake of this demo.

Create the Application Configuration Policies Profile

This is the section that does all of the hard work configuring the Microsoft Launcher layout and so on. I am going to show you a configuration that is quite common, uses all of the options and easily adapted to fit your needs.

First, let’s create the App Config Policy, to do this, navigate to Apps, App Configuration Policies, click Add and then finally select Managed devices:

Again, set a meaningful Name and Description, under platform select Android Enterprise, under Profile Type select Fully Managed, Dedicated, and Corporate-Owned Work Profile Only, under targeted app select Microsoft Launcher:

On the Settings tab, under permissions, add every single entry and set the permission state to Auto grant, this to ensure that the Microsoft Launcher functions correctly and displays relevant information on the home screen:

Under Configuration Settings, you can start off using the Configuration Designer and then switch to JSON or you could do it all in JSON format, the latter is required at some point as not all available settings support the Configuration Designer wizard. As you can see three keys are unavailable when using the designer:

You can however, once the JSON data has been inputted still use the Configuration Designer to modify the supported values, I will supply my custom .JSON file that you can edit to fit your needs, this JSON file performs the following:

  • Set’s the search bar at the top of the screen
  • Disables the ability for end-users to override the search bar placement
  • Show’s the dock
  • Enables the ability for end-users to override to show or hide the dock
  • Set’s the default Grid Size
  • Enables the M365 Feed
  • Disables the ability for end-users to change the Feed setting
  • Set’s the wallpaper using an imgur image (can use any public URL)
  • Disables the ability for end-users to change the wallpaper
  • Set’s what applications are pinned and in which order
    • 5 applications are pinned
    • 1 URL shortcut pinned

Here is the code, for a full understanding of what each of these entries consists of then see this MS article which explains it well, feel free to add \ remove \ edit entries:

{
    "kind": "androidenterprise#managedConfiguration",
    "productId": "app:com.microsoft.launcher",
    "managedProperty": [
        {
            "key": "com.microsoft.launcher.Search.SearchBar.Placement",
            "valueString": "Top"
        },
        {
            "key": "com.microsoft.launcher.Search.SearchBar.Placement.UserChangeAllowed",
            "valueBool": false
        },
        {
            "key": "com.microsoft.launcher.Dock.Mode",
            "valueString": "Show"
        },
        {
            "key": "com.microsoft.launcher.Dock.Mode.UserChangeAllowed",
            "valueBool": true
        },
        {
            "key": "com.microsoft.launcher.HomeScreen.AppOrder.UserChangeAllowed",
            "valueBool": false
        },
        {
            "key": "com.microsoft.launcher.HomeScreen.GridSize",
            "valueString": "default"
        },
        {
            "key": "com.microsoft.launcher.Feed.Enable.UserChangeAllowed",
            "valueBool": false
        },
        {
            "key": "com.microsoft.launcher.Feed.Enable",
            "valueBool": true
        },
        {
            "key": "com.microsoft.launcher.Wallpaper.Url",
            "valueString": "https://i.imgur.com/dgQvUPH.png"
        },
        {
            "key": "com.microsoft.launcher.Wallpaper.Url.UserChangeAllowed",
            "valueBool": false
        },
        {
            "key": "com.microsoft.launcher.HomeScreen.Applications",
            "valueBundleArray": [
                {
                    "managedProperty": [
                        {
                            "key": "package",
                            "valueString": "com.microsoft.emmx"
                        },
                        {
                            "key": "class",
                            "valueString": ""
                        }
                    ]
                },
                {
                    "managedProperty": [
                        {
                            "key": "package",
                            "valueString": "com.microsoft.office.officehubrow"
                        },
                        {
                            "key": "class",
                            "valueString": ""
                        }
                    ]
                },
                {
                    "managedProperty": [
                        {
                            "key": "package",
                            "valueString": "com.azure.authenticator"
                        },
                        {
                            "key": "class",
                            "valueString": ""
                        }
                    ]
                },
                {
                    "managedProperty": [
                        {
                            "key": "package",
                            "valueString": "com.microsoft.teams"
                        },
                        {
                            "key": "class",
                            "valueString": ""
                        }
                    ]
                },
                {
                    "managedProperty": [
                        {
                            "key": "package",
                            "valueString": "com.microsoft.office.outlook"
                        },
                        {
                            "key": "class",
                            "valueString": ""
                        }
                    ]
                }
            ]
        },
        {
            "key": "com.microsoft.launcher.HomeScreen.WebLinks",
            "valueBundleArray": [
                {
                    "managedProperty": [
                        {
                            "key": "label",
                            "valueString": "Lets ConfigMgr Blog"
                        },
                        {
                            "key": "link",
                            "valueString": "https://letsconfigmgr.com"
                        }
                    ]
                }
            ]
        },
        {
            "key": "com.microsoft.launcher.HomeScreen.AppOrder",
            "valueBundleArray": [
                {
                    "managedProperty": [
                        {
                            "key": "type",
                            "valueString": "application"
                        },
                        {
                            "key": "position",
                            "valueInteger": 16
                        },
                        {
                            "key": "package",
                            "valueString": "com.microsoft.office.outlook"
                        },
                        {
                            "key": "class",
                            "valueString": ""
                        }
                    ]
                },
                {
                    "managedProperty": [
                        {
                            "key": "type",
                            "valueString": "application"
                        },
                        {
                            "key": "position",
                            "valueInteger": 20
                        },
                        {
                            "key": "package",
                            "valueString": "com.microsoft.teams"
                        },
                        {
                            "key": "class",
                            "valueString": ""
                        }
                    ]
                },
                {
                    "managedProperty": [
                        {
                            "key": "type",
                            "valueString": "application"
                        },
                        {
                            "key": "position",
                            "valueInteger": 21
                        },
                        {
                            "key": "package",
                            "valueString": "com.microsoft.office.officehubrow"
                        },
                        {
                            "key": "class",
                            "valueString": ""
                        }
                    ]
                },
                {
                    "managedProperty": [
                        {
                            "key": "type",
                            "valueString": "application"
                        },
                        {
                            "key": "position",
                            "valueInteger": 22
                        },
                        {
                            "key": "package",
                            "valueString": "com.microsoft.emmx"
                        },
                        {
                            "key": "class",
                            "valueString": ""
                        }
                    ]
                },
                {
                    "managedProperty": [
                        {
                            "key": "type",
                            "valueString": "weblink"
                        },
                        {
                            "key": "position",
                            "valueInteger": 24
                        },
                        {
                            "key": "label",
                            "valueString": "Lets ConfigMgr Blog"
                        },
                        {
                            "key": "link",
                            "valueString": "https://letsconfigmgr.com"
                        }
                    ]
                },
                {
                    "managedProperty": [
                        {
                            "key": "type",
                            "valueString": "application"
                        },
                        {
                            "key": "position",
                            "valueInteger": 25
                        },
                        {
                            "key": "package",
                            "valueString": "com.azure.authenticator"
                        },
                        {
                            "key": "class",
                            "valueString": ""
                        }
                    ]
                }
            ]
        }
    ]
}

The position keys are related to WHERE the apps and URL’s will appear on the home screen, with the grid set to default, there are 25 available grid ID’s, as seen here (below image is NOT the output that we’re expecting, just to give you an idea of the grid numbers):

Once you have your App Configuration Policy setup, deploy to your test Android devices.

Results

As you can see on my Android test device, the background is applied, applications and shortcuts present on the home screen as I desired, also the M365 feed is also available (3rd and 4th picture):

Bonus Tip

In this article, I deployed the applications and configurations to all devices, in production, this is not recommended, use dynamic device groups to only target Android Enterprise, corporate-owned, fully managed user devices. Use this query syntax to group these devices for targeting, ensure to validate rules to ensure all is well:

(device.deviceOSType -eq "AndroidEnterprise") -and (device.enrollmentProfileName -eq null)

References

https://www.microsoft.com/en-us/launcher

https://docs.microsoft.com/en-us/mem/intune/apps/configure-microsoft-launcher

https://techcommunity.microsoft.com/t5/intune-customer-success/how-to-setup-microsoft-launcher-on-android-enterprise-fully/ba-p/1482134

Until next time!