Android 7.1.1 giới thiệu tính năng hỗ trợ cấp hệ thống cho chế độ giới thiệu bán lẻ để khách hàng có thể kiểm tra thiết bị trong thực tế tại các cửa hàng bán lẻ. Đã thiết lập thiết bị cho bản giới thiệu bán lẻ bằng ứng dụng của chủ sở hữu thiết bị để đảm bảo thiết bị được sử dụng chỉ dành cho một số ứng dụng ở chế độ minh hoạ. Người dùng cuối không được thêm trên thiết bị giới thiệu bán lẻ. Android 8.1 sửa đổi hỗ trợ này thành tạo người dùng minh hoạ thông qua DevicePolicyManager createAndManageUser API. Điều này cho phép OEM tuỳ chỉnh nhiều hơn nhiều đối với chế độ bán lẻ tiêu chuẩn trong các điều khoản về 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ạ.
Trong khi DevicePolicyManager
Có thể sử dụng API trên các phiên bản trước Android 8.1,
Không thể tạo người dùng loại minh hoạ (DevicePolicyManager.MAKE_USER_DEMO
)
bằng createAndManageUser
API trong 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ả bản giới thiệu bán lẻ trong Android 8.1 trở lên.
Thay đổi về nền tảng
Đặt THIẾT BỊ_BETA_MODE
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
đến 1 trước
cấp phép để cho biết rằng thiết bị đang được cấp phép để giới thiệu bán lẻ
.
Máy chủ hệ thống
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ơ nguồn điện và
Giao diện người dùng hệ thống.
Bật Retail DemoModeService
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
cài đặt
Global.DEVICE_DEMO_MODE
sang true
để cho biết thiết bị đã chuyển sang chế độ bán lẻ. Vào
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 bắt đầu, các tính năng này sẽ bật
trình chạy tuỳ chỉnh được chỉ định trong tài nguyên lớp phủ và tắt SUW. Hệ thống
Máy chủ và SystemUI cũng sử dụng cờ này để quản lý các chương trình thành phần của chế độ bán lẻ.
Đặt trình chạy tùy chỉnh hoặc trình phát video
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 đè khung
tài nguyên config_demoModeLauncherComponent
được chỉ định trong config.xml
tệp 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 DemoPlayer giới thiệu bán lẻ tại /packages/apps/retaildemo là trình chạy tuỳ chỉnh mặc định trong Dự án nguồn mở Android (AOSP). Chiến lược phát hành đĩa đơn ứng dụng tìm video trong phân vùng thiết bị, chẳng hạn như /data/blurs/demo/retail_demo.mp4 và phát lặp lại. Khi người dùng chạm vào màn hình, trình chạy tuỳ chỉnh vô hiệu hoá thành phần hoạt động, 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
để thông tin này không xuất hiện trong những trường hợp không phải minh hoạ. Trong tình huống minh hoạ, Hệ thống
Máy chủ bật config_demoModeLauncherComponent
đã 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 kiếm video đã đề cập trước đó để cung cấp tương tác để vào chế độ bán lẻ. Bạn có thể sửa đổi SUW để tìm Biển hiệu dành riêng cho OEM cho biết chế độ bán lẻ được hỗ trợ nếu video không thuộc bản minh hoạ. Nếu có phân vùng hệ thống A/B, thì phân vùng hệ thống B phải chứa video minh hoạ tại /previews/demo. Tên này sẽ được sao chép vào /data/foregrounds/demo trong lần khởi động đầu tiên.
Tuỳ chỉnh các ứng dụng tải trước cho chế độ giới thiệu bán lẻ
Các ứng dụng tải sẵn có thể tuỳ chỉnh trải nghiệm cho chế độ giới thiệu bán lẻ bằng cách gọi
UserManager.isDemoUser()
API để xem ứng dụng có được 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 bản minh hoạ, tương tự như thiết bị được quản lý hoặc
chính sách hồ sơ ngăn ứng dụng và người dùng thực hiện một số thao tác nhất định.
Một trong những hạn chế này là DISALLOW_MODIFY_ACCOUNTS
. Với hạn chế này, AccountManager
và Cài đặt
không cho phép thêm tài khoản. Một số ứng dụng của Google sẽ phản ứng với quy định hạn chế này
và hiển thị thông báo lỗi, đồng thời những người khác sẽ không nhắc đăng nhập vào tài khoản (chẳng hạn như
YouTube và Photos). Các ứng dụng của nhà sản xuất thiết bị gốc cũng nên kiểm tra xem
DISALLOW_MODIFY_ACCOUNTS
đã được thiết lập và xử lý tình huống phù hợp.
Bản cập nhật hệ thống
Theo mặc định, khi bật chế độ bán lẻ, chính sách thiết bị sẽ được đặt thành qua mạng không dây (OTA) cập nhật tự động. Thiết bị bán lẻ sẽ tải xuống, khởi động lại và cài đặt cập nhật (tương ứng với ngưỡng pin) mà không cần người dùng phải can thiệp.
Ứng dụng giới thiệu 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 Trình kiểm soát chính sách thiết bị được đặt làm chủ sở hữu thiết bị. AOSP chứa một ứng dụng Retaildemo tham chiếu trong /packages/apps/retaildemo.
Các ứng dụng của chủ sở hữu thiết bị không cần có đặc quyền cấp cao hoặc cài đặt trước trên ả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 giống như các ứng dụng truyền thống, với những đặc điểm sau khác biệt:
Tất cả ứng dụng của chủ sở hữu thiết bị phải mở rộng DeviceAdminReceiver thành phần này đóng vai trò là mã thông báo uỷ quyền cho tất cả DevicePolicyManager API. Thành phần này phải chứa
android.permission.BIND_DEVICE_ADMIN
bao gồm các chính sách đặc biệt được yêu cầu dưới dạng siêu dữ liệu và lọcandroid.app.action.PROFILE_PROVISIONING_COMPLETE
vàandroid.app.action.DEVICE_ADMIN_ENABLED
ý định.DevicePolicyManager#MAKE_USER_demo cờ (được thiết lập để tạo người dùng loại minh hoạ đặc biệt) là một API bị ẩn. Cờ này có giá trị không đổi (0x4).
Bạn chỉ được chỉ định quyền sở hữu thiết bị thông qua vai trò quản lý thiết bị chủ sở hữu hoặc ManagedQuản lý .
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 thiết bị Google Cloud. Một số DevicePolicyManager chức năng á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 cho phép LockTask.
Cài đặt các gói thông qua PackageInstaller.
Chặn gỡ cài đặt 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 bản cập nhật OTA.
Tắt tính năng bảo vệ bàn phím.
Không cho phép đặt mật khẩu hoặc vân tay.
Đặt một nhóm Settings.Global (Cài đặt chung) trong danh sách cho phép, Cài đặt.An toàn, và Settings.System phần cài đặt.
Đặt chính sách quyền thành
PERMISSION_POLICY_AUTO_GRANT
. tự động cấp mọi quyền khi bắt đầu chạy. Bạn cũng có thể cấp quyền hẹp hơn: một quyền duy nhất cho một ứng dụng. Điều này không áp dụng cho các quyền hoạt động ứng dụng mà người dùng vẫn phải cấp cho từng người dùng, theo từng ứng dụng.Đặt các quy định hạn chế người dùng liên quan đến chế độ bán lẻ như được xác định trong Trình quản lý người dùng 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 đè URL 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 bạn cần sử dụng các video khác nhau ở các khu vực khác nhau, thì Có thể định cấu hình URL tải xuống bằng cách sử dụng tài nguyên chuỗi dành riêng cho từng ngôn ngữ trong tệp 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ì có thể đặt các URL tải xuống tương ứng vào res/values-en-rUS/strings.xml và res/values-en-rGB/strings.xml tương ứng. được hiển thị như sau.
Trong res/values-en-rUS/strings.xml:
<string name="retail_demo_video_download_url">download URL for US video goes here</string>
Trong 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 tối đa 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 được phát, ứng dụng Retaildemo sẽ kiểm tra ở chế độ nền nếu có URL tải xuống và video tại URL đó mới hơn video đang được phát.
Nếu có, ứng dụng Retail Demo sẽ tải xuống và bắt đầu phát video. Sau khi video được tải xuống, bản nhạc đó sẽ được dùng để phát trong tất cả các phiên minh hoạ sau này. Không chọn ngôn ngữ nào các quá trình kiểm tra sẽ diễn ra lần nữa cho đến sau lần khởi động lại tiếp theo.
Nguyên tắc về video minh hoạ
Video thuyết minh phải ở bố cục dọc hoặc (nếu dành cho máy tính bảng) sẽ nằm trong hướng tự nhiên và có thể có thời lượng bất kỳ lớn hơn 5 giây. Nội dung không được dẫn đến hiện tượng lưu ảnh vì video sẽ được phát liên tục khi được hiển thị.
Xem Định nghĩa dành cho nhà phát triển Android về người dùng, hồ sơ và tài khoản, tài liệu về API Device Policy Manager và ứng dụng Chủ sở hữu thiết bị mẫu để 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. Thử nghiệm phải được tiến hành theo cách thủ công hoặc kiểm thử đơn vị cho ứng dụng minh hoạ.
Phiên minh hoạ
Thiết lập phiên minh hoạ
Thiết bị giới thiệu bán lẻ có thể khởi động vào chế độ giới thiệu bán lẻ nếu được định cấu hình cho chế độ giới thiệu từ nhà máy. Ngoài ra, nhân viên bán lẻ có thể bật chế độ bán lẻ ngay trong trình hướng dẫn thiết lập.
Hình 2. Chế độ trưng bày bán lẻ
Hiển thị phiên minh họa
Khi chuyển sang chế độ bán lẻ, thiết bị sẽ chuyển sang 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 tùy chỉnh này phát video giới thiệu đi phát lại cho đến khi người dùng chạm vào để bắt đầu một phiên người dùng minh hoạ. Vào thời điểm đó, trình chạy tuỳ chỉnh bắt đầu trình chạy hệ thống rồi thoát. OEM có thể thay đổi trình chạy tuỳ chỉnh thà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ẻ, tính năng bảo vệ bàn phím sẽ bị tắt và Một số thao tác từ phần Cài đặt nhanh có thể ảnh hưởng xấu đến chế độ bán lẻ là cũng không được phép, bao gồm cả những nội dung sau.
- Bật/tắt chế độ trên máy bay.
- Xoá hoặc sửa đổi điểm truy cập Wi-Fi (Cài đặt).
- Đang 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 các tuỳ chọn 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à Thời gian và Mạng di động (chúng không hiển thị).
Nếu người dùng không hoạt động trong một khoảng thời gian nào đó (theo mặc định là 90 giây), chế độ bán lẻ hiển thị 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 không có phản hồi trong 5 giây, chế độ này sẽ xoá người dùng minh hoạ hiện tại, chuyển sang người dùng minh hoạ mới và lặp lại video gốc. Nếu màn hình bị tắt bằng nút nguồn, nút này 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ác 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ế độ giới thiệu 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ạ chưa đượ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.