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"
]
}
]
}