零售商展示模式

Android 7.1.1 針對零售商展示模式導入系統層級支援,讓 客戶可以檢視零售商店的裝置運作情形。裝置已設定完成 透過裝置擁有者應用程式啟用零售商展示模式 僅適用於特定展示模式的應用程式使用者無法新增 個人帳戶。Android 8.1 修訂這項支援功能 作 示範使用者透過 DevicePolicyManager createAndManageUser 也能使用 Google Cloud CLI 或 Compute Engine API這樣就能針對 OEM 標準,在標準零售模式中新增 使用者管理條款及裝置政策管理

DevicePolicyManager API 可用於 Android 8.1、 無法建立客層類型使用者 (DevicePolicyManager.MAKE_USER_DEMO) 立即呼叫 createAndManageUser API。

在 Android 8.1 以上版本中實作

本節重點介紹平台強化功能,並說明零售商展示模式 應用程式。

平台異動

設定 DEVICE_DEMO_MODE

如果裝置要導入以裝置擁有者為基礎的零售商展示模式,就必須設定 Settings.Global.DEVICE_DEMO_MODE 到 1,再 佈建,表示裝置目前為零售商展示模式佈建 模式。 SystemServer 系統會使用這個旗標來管理零售模式的各個層面,例如電源設定檔和 SystemUI。

啟用 RetailDemoModeService

在實作零售商展示模式的裝置中,設定精靈會設定全域通用的 設定 將 Global.DEVICE_DEMO_MODE 設為 true,表示裝置已進入零售模式。發生 就會看到這項設定,RetailDemoModeService 會建立示範使用者,並在使用者 0 啟動時切換至示範使用者,並啟用 疊加層資源中指定的自訂啟動器,並停用 SUW。系統 Server 和 SystemUI 也使用這個標記管理零售模式的各個層面。

設定自訂啟動器或影片播放器

裝置製造商可以透過覆寫架構來指定自訂啟動器 在 config.xml 中指定的資源 config_demoModeLauncherComponent 如下所示。

<!-- Component that is the default launcher when Retail Mode is enabled. -->
<string name="config_demoModeLauncherComponent">com.android.retaildemo/.DemoPlayer</string>

展示版 DemoPlayer 應用程式 /packages/apps/RetailDemo 是 Android 開放原始碼計畫 (AOSP) 中的預設自訂啟動器。 應用程式會在裝置分區 (例如 /data/preloads/demo/retail_demo.mp4) 中尋找影片 並循環播放使用者輕觸螢幕時,自訂啟動器 停用其活動元件,導致預設系統啟動器 啟動。

自訂啟動器的自訂元件必須標示為停用 不會出現在非客層中在此示範情境中 伺服器啟動時,會啟用指定的 config_demoModeLauncherComponent

設定精靈也會尋找先前提到的影片 可以享有進入零售模式的優勢您可以修改 SUW 來尋找其他 如果影片不包含影片,就表示支援零售模式 (OEM) 專屬標示 示範。如果有系統 A/B 分區,則系統 B 分區必須 包含網址為 /preloads/demo 的示範影片。系統會將這些資料複製到 /data/preloads/demo 及記錄。

自訂適用於零售商展示模式的預先載入應用程式

預先載入的應用程式可以藉由呼叫 UserManager.isDemoUser() ,確認應用程式是否已在示範環境中啟動。

示範使用者會有特定限制,設定方式與受管理的裝置類似, 設定檔政策,防止應用程式和使用者執行特定作業。 其中一項限制為 DISALLOW_MODIFY_ACCOUNTS。達到這項限制時,AccountManager設定 不允許新增帳戶。部分 Google 應用程式已回應這項限制 而且顯示錯誤訊息,其他人也不會提示帳戶 (例如 YouTube 和相簿)。建議原始設備製造商 (OEM) 應用程式一併檢查是否 DISALLOW_MODIFY_ACCOUNTS 已設定完成,並據此處理情況。

系統更新

根據預設,啟用零售模式後,裝置政策會設為無線傳輸 (OTA) 會自動更新。零售裝置將下載、重新啟動及安裝 在使用者未進行互動的情況下,即視同電池閾值。

零售商展示應用程式

如要導入以裝置擁有者為主的零售商展示模式, 裝置政策控制器 將應用程式設為裝置擁有者。Android 開放原始碼計畫包含 RetailDemo 應用程式 實作於 /packages/apps/RetailDemo

裝置擁有者應用程式不需要進階權限,也不必預先安裝 系統映像檔的映像檔,且可在設定或佈建過程中下載。 實作方法大多與傳統應用程式類似,但有以下幾點: 差異:

DevicePolicyManager 中的 API 類別可讓裝置擁有者 (DO) 和設定檔擁有者 (PO) 強制執行各種裝置 再檢查有關聯的允許政策DevicePolicyManager 下列是適用於零售商展示模式的函式。

  • 建立及管理使用者。

  • 重新啟動裝置。

  • 設定 LockTask 允許的套件。

  • 透過 PackageInstaller 安裝套件。

  • 禁止解除安裝套件。

  • 啟用自動更新功能。裝置會自動下載並套用 OTA 更新。

  • 停用鍵盤鎖。

  • 禁止設定密碼或指紋。

  • 設定一組已加入許可清單的 Settings.GlobalSettings.Secure、 以及 Settings.System。 可以管理叢集設定,像是節點 資源調度、安全性和其他預先設定項目

  • 將權限政策設為 PERMISSION_POLICY_AUTO_GRANT。 會自動授予所有執行階段權限您也可以授予權限 單一權限為單一應用程式這不適用於 應用程式操作權限,使用者仍必須針對個別應用程式分別授予權限。

  • 設定與零售模式相關的使用者限制 (定義請見: UserManager 如下所示。

    • DISALLOW_MODIFY_ACCOUNTS
    • DISALLOW_USB_FILE_TRANSFER
    • DISALLOW_DEBUGGING_FEATURES
    • DISALLOW_CONFIG_WIFI
    • DISALLOW_CONFIG_BLUETOOTH
    • DISALLOW_INSTALL_UNKNOWN_SOURCES
    • DISALLOW_CONFIG_MOBILE_NETWORKS

使用網頁版更新示範影片

/packages/apps/RetailDemo 中的 RetailDemo 應用程式 可以在有網路連線的情況下更新示範影片。 覆寫下列項目即可設定下載影片的網址 字串值。

<!-- URL where the retail demo video can be downloaded from. -->
<string name="retail_demo_video_download_url"></string>

如需在不同地區使用不同影片,請採用 只要使用語言代碼專屬的字串資源,就能設定下載網址 res/values-*/strings.xml 中為字串。 例如,如果要在美國使用不同影片, 在英國,對應的下載網址可放在 分別為 res/values-en-rUS/strings.xml 和 res/values-en-rGB/strings.xml 如下所示。

  • 在 res/values-en-rUS/strings.xml 中:

    <string name="retail_demo_video_download_url">download URL for US video goes here</string>
    
  • 在 res/values-en-rGB/strings.xml 中:

    <string name="retail_demo_video_download_url">download URL for UK video goes here</string>
    

每次重新啟動裝置時,系統最多只會下載這部影片。當 裝置正在播放影片,RetailDemo 應用程式會在背景檢查 如果提供下載網址,但網址中的影片更新 播放時間。

在這種情況下,RetailDemo 應用程式會下載並開始播放影片。影片 下載後,所有示範工作階段都會使用這個設定檔播放。無 這些檢查會持續執行,直到下次重新啟動為止。

示範影片規範

示範影片必須為直向版面配置;如果是平板電腦,則需在裝置的 長度不限,長度也可以超過 5 秒。內容 播放時不會出現烙印情形,因為影片會在顯示狀態下持續播放。

請參閱「Android 開發人員定義」 以及 Device Policy Manager API 說明文件Device Owner app 瞭解詳情

驗證

CTS 並未涵蓋零售商展示模式,因為這是選用功能。測試中 必須手動執行,或針對試用版應用程式進行單元測試。

示範工作階段

示範工作階段設定

如果為展示模式設定零售商展示模式,零售商展示裝置可能會啟動零售商展示模式 。或者,零售業員工也可以啟用零售模式 直接在設定精靈中操作

零售商展示模式

圖 2. 零售商展示模式

顯示示範工作階段

裝置進入零售模式後,就會切換至新的展示模式使用者, 自動啟動疊加層資源中指定的自訂啟動器 ,如「導入」中所述。根據預設 使用者輕觸 啟動示範使用者工作階段。自此之後,自訂啟動器就會啟動 系統啟動器中接著退出原始設備製造商 (OEM) 可以修改自訂啟動器 並在結束時啟動其他服務或活動。

為維持零售模式的完整性,系統將停用鍵盤鎖, 「快速設定」中的某些動作可能會對零售模式造成負面影響 也不允許刊登這類內容,包括:

  • 飛航模式切換鈕。
  • 移除或修改 Wi-Fi 存取點 (「設定」)。
  • 變更電信業者 (設定)。
  • 正在設定無線基地台 (設定)。
  • 正在切換使用者。

此外,部分可能影響的全域設定也會遭到封鎖。 打造零售模式,方法是停用下列項目:

  • Wi-Fi 設定。
  • 行動網路設定選項,尤其是無線基地台。
  • 藍牙設定。
  • 備份與重設、日期與時間和行動網路 (完全不會顯示)。

如果使用者閒置一段時間 (預設為 90 秒),零售模式 顯示系統對話方塊,提示使用者結束或繼續。 如果使用者選擇退出,或是五秒沒有回應,則零售業 模式會移除目前的示範使用者、切換至新的示範使用者,並且 循環播放原始影片。如果使用 電源鍵,幾秒後就會自動重新啟動。

結束展示工作階段後,裝置會將自己設為靜音,並將部分裝置重設為全域通用 設定,包括:

  • 亮度
  • 自動旋轉
  • 手電筒
  • 語言
  • 無障礙設定

結束零售商展示模式

如要退出零售模式,零售員工必須確保示範裝置 裝置未註冊裝置管理,並將裝置恢復原廠設定: 。