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で報告されます。 - アプリがインストールされていない: 完全管理対象デバイスと仕事用プロファイルの場合、優先順位付きリストのアプリケーションがデバイスに 1 つもインストールされていないと、理由
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"
]
}
]
}