Android Management API を使用すると、IT 管理者は管理対象デバイスまたはプロファイルでデフォルトのアプリケーションをリモートで設定して適用できます。これにより、通話、SMS、ブラウジングなどの重要な機能で、ユーザーが安全性の低いアプリに切り替えることを防ぎ、フィッシングやデータ漏洩などのリスクを軽減することで、デバイスのセキュリティが強化されます。
管理者がデフォルトのアプリケーション ポリシーを設定すると、エンドユーザーは指定されたプロファイルでデフォルトのアプリ設定を変更できなくなります。
ポリシーの設定
デフォルトのアプリケーションを設定するには、ポリシーの defaultApplicationSettings
フィールドに 1 つ以上の
DefaultApplicationSetting オブジェクトを追加します。各設定オブジェクトは特定のアプリケーションタイプを対象とし
、さまざまなスコープに適用できます。
デフォルトのアプリを設定する
DefaultApplicationType ごとに、アプリの優先順位付きリストを
defaultApplications フィールドに指定できます。API は、デバイスにインストールされていて、アプリタイプに適したリストの最初のアプリをデフォルトとして設定します。
システム以外のアプリをデフォルトとして設定するには、デバイス上の署名鍵
証明書のフィンガープリントが、
Google Play ストアから取得したフィンガープリントまたは
ApplicationPolicy.signingKeyCertsのエントリのいずれかと一致する必要があります。
スコープを定義する
defaultApplicationScopes フィールドは、ポリシーが適用される場所を決定します。
使用可能なスコープは次のとおりです。
SCOPE_FULLY_MANAGED: フルマネージド デバイスに適用されます。SCOPE_WORK_PROFILE: 会社所有または個人所有のデバイスの仕事用プロファイルに適用されます。SCOPE_PERSONAL_PROFILE: 会社所有デバイスの個人用プロファイルに適用されます。
SCOPE_FULLY_MANAGED または
SCOPE_WORK_PROFILE のデフォルトのアプリを設定する場合、アプリケーションには
applications ポリシーに対応するエントリが必要です。そのアプリのinstallType は
BLOCKEDにしないでください。
SCOPE_PERSONAL_PROFILE をターゲットとする場合、ポリシーはプリインストールされたシステムアプリのみをデフォルトとして設定するように制限されます。
プロファイル間のロール
DEFAULT_WALLET などの一部のロールは、デバイスのプロファイル全体に適用されます。仕事用プロファイルが設定された会社所有デバイスのこれらのロールの場合、管理者は仕事用プロファイルまたは個人用プロファイルのいずれかでデフォルトのアプリを設定できますが、両方を同時に設定することはできません。
管理モードと Android のバージョン
この機能のサポートは、デバイスの管理モードと Android のバージョンによって異なります。
| 管理モード | Android 14 ~ 15 | Android 16 以降 |
|---|---|---|
| フルマネージド | DEFAULT_DIALER のみ |
すべてのアプリタイプがサポートされています。 |
| 仕事用プロファイルが設定された会社所有デバイス | サポート対象外 | 仕事用プロファイル: DEFAULT_BROWSER、DEFAULT_CALL_REDIRECTION、DEFAULT_CALL_SCREENING、DEFAULT_DIALER、DEFAULT_WALLET。個人用プロファイル: DEFAULT_BROWSER、DEFAULT_DIALER、DEFAULT_SMS、DEFAULT_WALLET。 |
| 仕事用プロファイルが設定された個人所有デバイス | サポート対象外 | 仕事用プロファイル: DEFAULT_BROWSER、DEFAULT_CALL_REDIRECTION、DEFAULT_CALL_SCREENING、DEFAULT_DIALER。個人用プロファイル: サポート対象外 |
違反の報告
ポリシーを適用できない場合、デバイスは違反を報告します(
NonComplianceDetail を参照)。違反の一般的な理由としては、次のようなものがあります。
- サポートされていないデバイスまたは構成: デバイスの Android バージョンまたは管理モードでこの機能が対象外の場合、理由が
API_LEVELまたはMANAGEMENT_MODEの違反として報告されます。 - サポートされていないスコープ: ポリシーで指定されたスコープがデバイスの管理モードに適用されない場合(`SCOPE_PERSONAL_PROFILE` のみのポリシーがフルマネージド デバイスに送信されるなど)、理由が
MANAGEMENT_MODEで、具体的な理由がDEFAULT_APPLICATION_SETTING_UNSUPPORTED_SCOPESの違反が報告されます。SCOPE_PERSONAL_PROFILE - アプリがインストールされていない: フルマネージド デバイスと仕事用プロファイルの場合、優先順位付きリストのアプリケーションがデバイスにインストールされていない場合、理由が
APP_NOT_INSTALLEDの違反が報告されます。 - 無効な値: 少なくとも 1 つのアプリがインストールされているが、他の理由(アプリのタイプが正しくないなど)でデフォルトの
アプリケーション設定を適用できない場合は、理由が
INVALID_VALUEの違反が報告されます。 - 個人用プロファイルの失敗: 個人用プロファイルの場合、個人用アプリのインストール ステータスを開示せずに、何らかの
理由で適用に失敗すると、一般的な
INVALID_VALUEの違反が報告されます。
デフォルトのアプリケーション ステータスのレポート
Android 16 以降では、デバイス ステータス レポートに
defaultApplicationInfoが含まれます。このフィールドには、現在のデフォルトのアプリケーションとポリシー適用試行の結果の詳細が表示されます。このレポートを有効にするには、StatusReportingSettingsでdefaultApplicationInfoReportingEnabledフラグを
trueに設定します。
- フルマネージド デバイス: レポートはすべてのアプリケーション タイプを対象としています。
- 仕事用プロファイルが設定されたデバイス: レポートには、仕事用プロファイルでサポートされているアプリケーション タイプのみが含まれます。
レポートの各アプリケーション タイプには、次の詳細が含まれます。
packageName: このタイプの現在のデフォルトのアプリケーションを示します。 ポリシーで設定されたアプリケーション、システムのデフォルト、ユーザーが選択したアプリケーションのいずれかになります。このフィールドが報告されない場合、このタイプにはデフォルトのアプリケーションが設定されていません。defaultApplicationSettingAttempts: ポリシーで指定された各アプリのデフォルトのアプリケーション設定の試行結果を一覧表示します。これにより、リストで優先順位の高いアプリケーションがデフォルトとして設定されていない理由を管理者が把握できます。
ポリシーの例
デフォルトのブラウザとダイヤルを設定するポリシーの例を次に示します。アプリケーション
は、スコープに
SCOPE_FULLY_MANAGEDまたはSCOPE_WORK_PROFILEが含まれているため、applicationsポリシーに追加されます。
レポートを有効にするために、defaultApplicationInfoReportingEnabled を true
に設定します。
{
"applications": [
{
"packageName": "com.android.chrome",
"installType": "AVAILABLE"
},
{
"packageName": "com.google.android.dialer",
"installType": "AVAILABLE"
},
{
"packageName": "com.samsung.android.dialer",
"installType": "AVAILABLE"
}
],
"statusReportingSettings": {
"defaultApplicationInfoReportingEnabled": true
},
"defaultApplicationSettings": [
{
"defaultApplicationType": "DEFAULT_BROWSER",
"defaultApplications": [
{
"packageName": "com.android.chrome"
}
],
"defaultApplicationScopes": [
"SCOPE_FULLY_MANAGED",
"SCOPE_WORK_PROFILE"
]
},
{
"defaultApplicationType": "DEFAULT_DIALER",
"defaultApplications": [
{
"packageName": "com.google.android.dialer"
},
{
"packageName": "com.samsung.android.dialer"
}
],
"defaultApplicationScopes": [
"SCOPE_FULLY_MANAGED",
"SCOPE_WORK_PROFILE",
"SCOPE_PERSONAL_PROFILE"
]
}
]
}