Android provides support for 5G network slicing, the use of network virtualization to divide single network connections into multiple distinct virtual connections that provide different amounts of resources to different types of traffic.
The deviceConnectivityManagement.preferentialNetworkServiceSettings
and
preferentialNetworkService
settings configure 5G network slicing.
Set up
You can use preferentialNetworkServiceSettings
to configure the
5 enterprise slices. Add networks you want to enable to
preferentialNetworkConfigs
.
Each ApplicationPolicy
can specify a preferentialNetworkId
to route
traffic to a specific slice. If no value is specified, the
defaultPreferentialNetworkId
will be used instead.
fallbackToDefaultConnection
configures whether the default connection (e.g.
general cell network or wifi) is used if no preferential network service
connection is available.
You can configure apps not to use preferential network by setting
preferentialNetworkId
to NO_PREFERENTIAL_NETWORK
.
Application support
5G network slicing does not require application support, network traffic will be
routed based on the configuration. Applications can still explicitly select a
different network, unless NON_MATCHING_NETWORKS_DISALLOWED
is set.
Enterprise preferential networks map to NetworkCapabilities
; Specifically
NET_ENTERPRISE_ID_1
through NET_ENTERPRISE_ID_5
map to
PREFERENTIAL_NETWORK_ID_ONE
through PREFERENTIAL_NETWORK_ID_FIVE
.
Version support
Starting from Android 12, IT Admins can use preferentialNetworkService
to
route traffic for all applications running in the Work Profile to a fixed
enterprise network slice. Starting with Android 13, IT Admins can use
preferentialNetworkService
on fully managed devices as well.
On Android 13 and later, IT Admins can use
preferentialNetworkServiceSettings
to enable up to 5 preferential networks
and assign applications to a specific network.
Example policy
{
"applications": [
{
"packageName": "com.example.one",
"installType": "AVAILABLE",
"preferentialNetworkId": "PREFERENTIAL_NETWORK_ID_TWO"
},
{
"packageName": "com.example.two",
"installType": "AVAILABLE",
"preferentialNetworkId": "PREFERENTIAL_NETWORK_ID_THREE"
}
],
"deviceConnectivityManagement": {
"preferentialNetworkServiceSettings": {
"defaultPreferentialNetworkId": "PREFERENTIAL_NETWORK_ID_TWO",
"preferentialNetworkServiceConfigs": [
{
"preferentialNetworkId": "PREFERENTIAL_NETWORK_ID_TWO",
},
{
"preferentialNetworkId": "PREFERENTIAL_NETWORK_ID_THREE",
}
]
}
}
}