Chế độ giới thiệu bán lẻ

Android 7.1.1 đã giới thiệu tính năng hỗ trợ ở cấp hệ thống cho chế độ minh hoạ bán lẻ để khách hàng có thể xem xét các thiết bị đang hoạt động tại các cửa hàng bán lẻ. Các thiết bị được thiết lập cho giới thiệu bán lẻ bằng một ứng dụng chủ sở hữu thiết bị để đảm bảo rằng việc sử dụng thiết bị chỉ bị hạn chế đối với một số ứng dụng ở chế độ minh họa. Người dùng cuối không được thêm tài khoản cá nhân trên thiết bị giới thiệu bán lẻ. Android 8.1 sửa đổi tính năng hỗ trợ này để tạo người dùng minh hoạ thông qua API DevicePolicyManager createAndManageUser. Điều này cho phép OEM tuỳ chỉnh nhiều hơn chế độ bán lẻ tiêu chuẩn về việc quản lý người dùng và quản lý chính sách thiết bị trên thiết bị minh hoạ.

Mặc dù bạn có thể sử dụng các API DevicePolicyManager trên các phiên bản trước Android 8.1, nhưng bạn không thể tạo người dùng thuộc loại minh hoạ (DevicePolicyManager.MAKE_USER_DEMO) bằng API createAndManageUser trong các phiên bản 8.0 trở xuống.

Triển khai trong Android 8.1 trở lên

Phần này nêu bật những điểm cải tiến của nền tảng và mô tả ứng dụng giới thiệu bán lẻ trong Android 8.1 trở lên.

Thay đổi của nền tảng

Đặt DEVICE_DEMO_MODE

Các thiết bị triển khai chế độ giới thiệu bán lẻ dựa trên chủ sở hữu thiết bị phải đặt Settings.Global.DEVICE_DEMO_MODE thành 1 trước khi cấp phép để cho biết rằng thiết bị đang được cấp phép cho chế độ giới thiệu bán lẻ. SystemServer sử dụng cờ này để quản lý các khía cạnh của chế độ bán lẻ, chẳng hạn như hồ sơ năng lượng và SystemUI.

Bật RetailDemoModeService

Trong các Thiết bị triển khai chế độ giới thiệu bán lẻ, trình hướng dẫn thiết lập sẽ đặt chế độ cài đặt chung setting Global.DEVICE_DEMO_MODE thành true để cho biết rằng Thiết bị đã chuyển sang chế độ bán lẻ. Khi thấy chế độ cài đặt này, RetailDemoModeService sẽ tạo một người dùng minh hoạ và chuyển sang người dùng đó khi người dùng 0 được khởi động, bật trình chạy tuỳ chỉnh được chỉ định trong tài nguyên lớp phủ và tắt SUW. Máy chủ hệ thống và SystemUI cũng sử dụng cờ này để quản lý các khía cạnh của chế độ bán lẻ.

Đặt trình chạy hoặc trình phát video tuỳ chỉnh

Nhà sản xuất thiết bị có thể chỉ định một trình chạy tuỳ chỉnh bằng cách ghi đè tài nguyên khung config_demoModeLauncherComponent được chỉ định trong tệp config.xml như sau.

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

Ứng dụng giới thiệu bán lẻ DemoPlayer nằm tại /packages/apps/RetailDemo là trình chạy tuỳ chỉnh mặc định trong Dự án nguồn mở Android (AOSP). Ứng dụng này tìm video trong một phân vùng thiết bị, chẳng hạn như /data/preloads/demo/retail_demo.mp4 và phát video đó theo vòng lặp. Khi người dùng chạm vào màn hình, trình chạy tuỳ chỉnh sẽ tắt thành phần hoạt động của mình, khiến trình chạy hệ thống mặc định khởi động.

Trình chạy tuỳ chỉnh phải có thành phần tuỳ chỉnh được đánh dấu là tắt theo mặc định để không xuất hiện trong các trường hợp không phải minh hoạ. Trong trường hợp minh hoạ, Máy chủ hệ thống sẽ bật config_demoModeLauncherComponent được chỉ định khi bắt đầu một phiên minh hoạ mới.

Trình hướng dẫn thiết lập cũng tìm video đã đề cập trước đó để cung cấp một phương thức cho phép chuyển sang chế độ bán lẻ. Bạn có thể sửa đổi SUW để tìm một số dấu hiệu dành riêng cho OEM khác cho biết chế độ bán lẻ được hỗ trợ nếu video không phải là một phần của bản minh hoạ. Nếu có các phân vùng A/B của hệ thống, thì phân vùng B của hệ thống phải chứa video minh hoạ tại /preloads/demo. Video này sẽ được sao chép vào /data/preloads/demo trong lần khởi động đầu tiên.

Tuỳ chỉnh các ứng dụng được tải sẵn cho chế độ giới thiệu bán lẻ

Các ứng dụng được tải sẵn có thể tuỳ chỉnh trải nghiệm của mình cho chế độ giới thiệu bán lẻ bằng cách gọi UserManager.isDemoUser() API để xem ứng dụng có được khởi chạy trong môi trường minh hoạ hay không.

Một số hạn chế được đặt trong người dùng minh hoạ, tương tự như các chính sách về thiết bị hoặc hồ sơ được quản lý nhằm ngăn các ứng dụng và người dùng thực hiện một số thao tác. Một trong những hạn chế này là DISALLOW_MODIFY_ACCOUNTS. Với hạn chế này, AccountManagerphần Cài đặt không cho phép thêm tài khoản. Một số ứng dụng của Google phản ứng với hạn chế này và hiển thị thông báo lỗi, còn các ứng dụng khác sẽ không nhắc bạn thêm tài khoản (chẳng hạn như YouTube và Photos). Bạn nên yêu cầu các ứng dụng OEM cũng kiểm tra xem DISALLOW_MODIFY_ACCOUNTS có được đặt hay không và xử lý trường hợp đó cho phù hợp.

Bản cập nhật hệ thống

Theo mặc định, khi chế độ bán lẻ được bật, chính sách thiết bị sẽ được đặt thành tự động cập nhật qua mạng (OTA). Các thiết bị bán lẻ sẽ tải xuống, khởi động lại và cài đặt bản cập nhật (tuân thủ các ngưỡng pin) mà không cần lượt tương tác của người dùng.

Ứng dụng minh hoạ bán lẻ

Việc triển khai chế độ giới thiệu bán lẻ dựa trên chủ sở hữu thiết bị yêu cầu bạn đặt một ứng dụng Trình điều khiển chính sách thiết bị làm chủ sở hữu thiết bị. AOSP chứa một bản triển khai ứng dụng RetailDemo tham chiếu trong /packages/apps/RetailDemo.

Các ứng dụng chủ sở hữu thiết bị không cần đặc quyền cấp cao hoặc cài đặt sẵn trên hình ảnh hệ thống và có thể được tải xuống trong quá trình thiết lập hoặc cấp phép. Chúng chủ yếu được triển khai như các ứng dụng truyền thống, với những điểm khác biệt sau:

Các API trong DevicePolicyManager lớp cho phép Chủ sở hữu thiết bị (DO) và Chủ sở hữu hồ sơ (PO) thực thi nhiều chính sách thiết bị policies. Một số hàm DevicePolicyManager áp dụng cho chế độ giới thiệu bán lẻ được liệt kê như sau.

  • Tạo và quản lý người dùng.

  • Khởi động lại thiết bị.

  • Đặt các gói được phép LockTask.

  • Cài đặt các gói thông qua PackageInstaller.

  • Chặn việc gỡ cài đặt các gói.

  • Bật tính năng tự động cập nhật hệ thống. Các thiết bị sẽ tự động tải xuống và áp dụng các bản cập nhật OTA.

  • Tắt màn hình khoá.

  • Ngăn việc đặt mật khẩu hoặc vân tay.

  • Đặt một tập hợp các chế độ cài đặt Settings.Global, Settings.Secure, và Settings.System được cho phép.

  • Đặt chính sách quyền thành PERMISSION_POLICY_AUTO_GRANT, tự động cấp tất cả quyền trong thời gian chạy. Bạn cũng có thể cấp quyền một cách hẹp hơn: một quyền cho một ứng dụng. Điều này không áp dụng cho các quyền app-ops mà người dùng vẫn phải cấp cho từng người dùng, từng ứng dụng.

  • Đặt các hạn chế đối với người dùng có liên quan đến chế độ bán lẻ như được xác định trong UserManager như sau.

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

Cập nhật video minh hoạ bằng web

Ứng dụng RetailDemo trong /packages/apps/RetailDemo có thể cập nhật video minh hoạ nếu có kết nối mạng. Bạn có thể định cấu hình URL để tải video xuống bằng cách ghi đè giá trị chuỗi sau trong ứng dụng RetailDemo.

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

Nếu cần sử dụng các video khác nhau ở các khu vực khác nhau, thì bạn có thể định cấu hình các URL tải xuống khác nhau bằng cách sử dụng tài nguyên chuỗi dành riêng cho ngôn ngữ trong res/values-*/strings.xml. Ví dụ: nếu cần sử dụng các video khác nhau ở Hoa Kỳ và Vương quốc Anh, thì bạn có thể đặt các URL tải xuống tương ứng trong res/values-en-rUS/strings.xml và res/values-en-rGB/strings.xml, như sau.

  • Trong tệp res/values-en-rUS/strings.xml:

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

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

Video này được tải xuống nhiều nhất một lần cho mỗi lần khởi động lại thiết bị. Khi video trên thiết bị đang phát, ứng dụng RetailDemo sẽ kiểm tra ở chế độ nền xem URL tải xuống có được cung cấp hay không và video tại URL đó có mới hơn video đang phát hay không.

Nếu có, ứng dụng RetailDemo sẽ tải xuống và bắt đầu phát video. Sau khi tải xuống, video này sẽ được dùng để phát trong tất cả các phiên minh hoạ sau này. Không có lần kiểm tra nào diễn ra nữa cho đến sau lần khởi động lại tiếp theo.

Nguyên tắc về video minh hoạ

Video minh hoạ phải ở bố cục dọc hoặc nếu là máy tính bảng thì phải ở hướng tự nhiên của thiết bị và có thể có độ dài bất kỳ lớn hơn 5 giây. Nội dung không được gây ra hiện tượng lưu ảnh, vì nội dung đó sẽ được phát liên tục khi hiển thị.

Hãy xem định nghĩa của Nhà phát triển Android về người dùng, hồ sơ và tài khoản, Tài liệu về API Trình quản lý chính sách thiết bịỨng dụng mẫu cho chủ sở hữu thiết bị để biết thêm thông tin.

Xác nhận kết quả

CTS không bao gồm chế độ giới thiệu bán lẻ vì đây là một tính năng không bắt buộc. Bạn phải kiểm thử theo cách thủ công hoặc bằng các bài kiểm thử đơn vị cho ứng dụng minh hoạ.

Phiên minh hoạ

Thiết lập phiên minh hoạ

Các thiết bị giới thiệu bán lẻ có thể khởi động ở chế độ giới thiệu bán lẻ nếu được định cấu hình cho chế độ giới thiệu bán lẻ từ nhà máy. Ngoài ra, nhân viên bán lẻ có thể bật chế độ bán lẻ trực tiếp từ trình hướng dẫn thiết lập.

Chế độ giới thiệu bán lẻ

Hình 2. Chế độ minh hoạ bán lẻ

Hiển thị phiên minh hoạ

Khi thiết bị chuyển sang chế độ bán lẻ, thiết bị sẽ chuyển sang một người dùng minh hoạ mới và tự động khởi động trình chạy tuỳ chỉnh được chỉ định trong tài nguyên lớp phủ như mô tả trong phần Triển khai. Theo mặc định, trình chạy tuỳ chỉnh này sẽ phát video minh hoạ lặp lại cho đến khi người dùng chạm vào màn hình để bắt đầu phiên người dùng minh hoạ. Vào thời điểm đó, trình chạy tuỳ chỉnh sẽ khởi động trình chạy hệ thống rồi thoát. OEM có thể thay đổi trình chạy tuỳ chỉnh để khởi chạy thêm một dịch vụ hoặc hoạt động khác khi thoát.

Để duy trì tính toàn vẹn của chế độ bán lẻ, màn hình khoá sẽ bị tắt và một số thao tác trong phần Cài đặt nhanh có thể ảnh hưởng bất lợi đến chế độ bán lẻ cũng không được phép, bao gồm cả những thao tác sau.

  • Chuyển đổi chế độ trên máy bay.
  • Xoá hoặc sửa đổi các điểm truy cập Wi-Fi (Cài đặt).
  • Thay đổi nhà mạng (Cài đặt).
  • Định cấu hình điểm phát sóng (Cài đặt).
  • Chuyển đổi người dùng.

Ngoài ra, quyền truy cập cũng bị chặn đối với một số chế độ cài đặt chung có thể ảnh hưởng đến chế độ bán lẻ bằng cách tắt những chế độ cài đặt sau:

  • Cài đặt Wi-Fi.
  • Các lựa chọn cấu hình mạng di động, đặc biệt là điểm phát sóng.
  • Cấu hình Bluetooth.
  • Sao lưu và đặt lại, Ngày và giờ, và Mạng di động (chúng không xuất hiện).

Nếu người dùng không hoạt động trong một khoảng thời gian nhất định (theo mặc định là 90 giây), chế độ bán lẻ sẽ hiển thị một hộp thoại hệ thống để nhắc người dùng thoát khỏi phiên hoặc tiếp tục. Nếu người dùng chọn thoát hoặc nếu không có phản hồi trong 5 giây, chế độ bán lẻ sẽ xoá người dùng minh hoạ hiện tại, chuyển sang một người dùng minh hoạ mới và lặp lại video ban đầu. Nếu màn hình bị tắt bằng nút nguồn, màn hình sẽ tự động bật lại sau vài giây.

Sau khi thoát khỏi phiên minh hoạ, các thiết bị sẽ tự tắt tiếng và đặt lại một số chế độ cài đặt chung, bao gồm cả những chế độ cài đặt sau:

  • Độ sáng
  • Tự động xoay
  • Đèn pin
  • Ngôn ngữ
  • Hỗ trợ tiếp cận

Thoát khỏi chế độ minh hoạ bán lẻ

Để thoát khỏi chế độ bán lẻ, nhân viên bán lẻ phải đảm bảo rằng thiết bị minh hoạ không được đăng ký trong phần quản lý thiết bị và đặt lại thiết bị về trạng thái ban đầu từ trình tải khởi động.