[Android Enterprise]深入淺出的說明,Android Enterprise 完整研究筆記分享
3 min read
AndroidDev#Android#Enterprise
0. 前導
-
Android Management API 準備工作
- 這個API主要透過http連線發request 給EMM console 再與EMM裝置下的app作用
- Android 6.0+ 裝置
- Gmail 帳號用來綁定 (若遇到企業綁定問題:參考)
- 建立 Cloud Platform Project
- 啟用 Android Management API
- 類似其他Google API服務,至Google cloud platform的專案下啟用
Android Management API
- 類似其他Google API服務,至Google cloud platform的專案下啟用
- 設定指南參考
-
Android Management API 移除 Enterprise 方式
-
取消裝置配置
- 透過http GET 取得enterprise 裝置列表
curl -X GET https://androidmanagement.googleapis.com/v1/{parent=enterprises/*}/devices
上方{parent=enterprises/*}
帶入格式enterprises/{enterprise-id}
Response :
- 透過http DELETE刪除enterprise裝置
curl -X DELETE https://androidmanagement.googleapis.com/v1/{name=enterprises/*/devices/*}
其中name帶入之前response拿到的name
- 透過http GET 取得enterprise 裝置列表
-
刪除帳號內的Enterprise
- 至play.google.com/work
- 找到Admin Settings
- 點三個點的那個圖示
- 按下Delete Organization 移除之前創建的enterprise
-
-
AMAPI SDK 準備工作
-
Pub/Sub API 準備工作
-
一種用來接收 新註冊設備、設備報告、新發出指令的通知
- 開啟Android Management API
- 創建topic (console內創建或使用projects.topics.create)
- 創建subscription (console內創建或使用projects.subscriptions.create)
- 取得Android Device Policy right(app)
- 更新enterprise來支援通知enterprises.patch
- 開始使用來接收通知
-
該API的Sample code
-
1. 開發
-
Android Management API 這裡有兩種方式來創建enterprise : Customer-managed enterprises、EMM-managed enterprises
-
Android Management API 解鎖設備密碼
- 透過 http Patch enterprises.policies來更新
例如 :
curl -X PATCH https://androidmanagement.googleapis.com/v1/{name=enterprises/*/policies/*} -d '{json=ResourcePolicy}'
前面Patch url
{name=enterprises/*/policies/*}
帶入對應policyID格式為
enterprises/{enterpriseId}/policies/{policyId}
後面request body 的
{json=ResourcePolicy}
帶入對應的Resource Policy format- request body 中有個key passwordRequirements這邊帶入對應的[PasswordRequirements json format](https://developers.google.com/android/management/reference/rest/v1/PasswordRequirements)來設定 <script src="https://gist.github.com/waitzShigoto/a73f43b9b538e0ea0ecb2e40c337e420.js"></script>
- 透過 http Patch enterprises.policies來更新
例如 :
-
Android Management API 鎖定底部欄按鈕
- 一樣透過 http Patch enterprises.policies,發送時,request body 內的
SystemNavigation
可以設定底部欄位顯示 - 需在kiosk mode下
- 文件中提到 要開啟kiosk mode則設定kioskCustomLauncherEnabled的值
- 目前看到,提供只顯示Home鍵或是不顯示Home + Overview鍵
- 一樣透過 http Patch enterprises.policies,發送時,request body 內的
-
AMAPI SDK 清除指定package的data
- 用
LocalCommandClientFactory.create(getContext()).issueCommand(createClearAppRequest(packageNames)
來移除指定package data
- 用