Để giúp nhà phát triển tạo ra các ứng dụng mang lại trải nghiệm nhất quán cho người dùng, chúng tôi sẽ ra mắt một số loại dịch vụ bổ sung trên nền trước cùng với một bộ quy định hạn chế mới theo chính sách có liên quan. Bài viết này giải thích các yêu cầu sắp ra mắt đối với dịch vụ trên nền trước và cách khai báo thông tin về dịch vụ trên nền trước trong Play Console. Bài viết này cũng nêu chi tiết các yêu cầu đối với việc sử dụng thông báo về ý định truy cập chế độ toàn màn hình.
Yêu cầu đối với dịch vụ trên nền trước cho Android 14
Để giúp bạn biết được những trường hợp sử dụng nào thích hợp với dịch vụ trên nền trước và xác định rõ ý định của các thao tác chạy trong chế độ nền của ứng dụng, Android 14 trở lên yêu cầu bạn phải thực hiện những việc sau đây trước khi sử dụng dịch vụ trên nền trước:
- Khai báo (các) loại dịch vụ trên nền trước trong tệp kê khai. Bạn phải khai báo cho từng dịch vụ trên nền trước mà bạn định sử dụng.
- Nếu thuộc phạm vi áp dụng cho loại dịch vụ đã chọn, hãy khai báo và yêu cầu quyền cho dịch vụ trên nền trước phù hợp với từng loại dịch vụ trên nền trước.
Mục về Quyền đối với dịch vụ trên nền trước (FGS) trong Chính sách về hành vi sử dụng sai trái thiết bị và mạng có trình bày chi tiết các tiêu chí cần thiết để sử dụng dịch vụ trên nền trước. Bạn phải khai báo các loại dịch vụ trên nền trước khi cập nhật lên Android 14.
Khai báo thông tin dịch vụ trên nền trước trong Play Console
Khi ứng dụng nhắm đến Android 14 trở lên, bạn cần khai báo mọi loại dịch vụ trên nền trước mà bạn sử dụng trong phần khai báo mới trên trang Nội dung ứng dụng (Chính sách > Nội dung ứng dụng) trong Play Console.
Đối với mỗi loại dịch vụ trên nền trước được khai báo, bạn cần:
- Mô tả chức năng của ứng dụng đang sử dụng từng loại dịch vụ trên nền trước.
- Mô tả tác động đối với người dùng nếu:
- tác vụ bị hệ thống trì hoãn (không bắt đầu ngay lập tức); và/hoặc
- tác vụ bị hệ thống làm gián đoạn (bị tạm dừng và/hoặc khởi động lại).
- Cung cấp đường liên kết đến video minh hoạ từng tính năng của dịch vụ trên nền trước. Video phải mô tả các bước mà người dùng cần thực hiện trong ứng dụng của bạn để kích hoạt tính năng đó.
- Chọn trường hợp sử dụng cụ thể cho từng loại dịch vụ trên nền trước. Bạn sẽ có một danh sách trường hợp sử dụng đặt sẵn để lựa chọn. Hãy chọn những trường hợp sử dụng liên quan đến các loại dịch vụ trên nền trước trong bảng dưới đây. Danh sách này chưa đầy đủ; nếu không thấy trường hợp sử dụng của mình trong danh sách, bạn có thể tự nhập trường hợp sử dụng đó.
Đối với một số trường hợp sử dụng nhất định, bạn nên sử dụng API thay thế. Để xem danh sách trường hợp sử dụng đó và API thay thế được đề xuất, hãy truy cập trang web dành cho nhà phát triển Android.
Lưu ý: Danh sách dưới đây chưa đầy đủ. Để xác định xem quyền truy cập có phù hợp với FGS hay không, hãy tham khảo Chính sách về quyền đối với dịch vụ trên nền trước (FGS) đối với những trường hợp sử dụng không được đề cập bên dưới.
Loại dịch vụ trên nền trước | Trường hợp sử dụng | Mô tả và ví dụ |
---|---|---|
TYPE_CAMERA |
Luồng video của camera ở chế độ nền | Tiếp tục truy cập vào camera ở chế độ nền. Ví dụ: ứng dụng trò chuyện video hỗ trợ người dùng thao tác đa nhiệm. |
TYPE_CONNECTED_DEVICE |
Chuyển dữ liệu liên tục sang thiết bị bên ngoài | Các hoạt động tương tác với thiết bị bên ngoài, bao gồm cả hoạt động chuyển dữ liệu, cần có kết nối Bluetooth, NFC, IR, USB hoặc kết nối mạng. Ví dụ: thiết bị đeo, máy giám sát em bé, tai nghe, ô tô. |
TYPE_DATA_SYNC |
Chuyển mạng: Sao lưu và khôi phục | Dùng cho các tính năng do người dùng đưa ra yêu cầu. Ví dụ: chọn một ảnh cụ thể để sao lưu lên đám mây thay vì tính năng tự động sao lưu tất cả ảnh mới hằng ngày. |
Chuyển mạng: Tải lên hoặc tải xuống | Ví dụ: tìm nạp dữ liệu, xử lý phía máy chủ. | |
Xử lý cục bộ: Nhập hoặc xuất | Bao gồm cả việc di chuyển tệp từ thẻ SD. | |
Xử lý cục bộ: Khác | Dùng cho các tác vụ cụ thể do người dùng đưa ra yêu cầu chứ không phải cho các tác vụ thông thường do hệ thống hoặc máy chủ đưa ra yêu cầu. Ví dụ: mã hoá, đổi kích thước. | |
TYPE_HEALTH |
Đồng bộ hoá dữ liệu sức khoẻ | Đồng bộ hoá dữ liệu sức khoẻ cho ứng dụng thuộc danh mục thể dục, có thể là giữa các ứng dụng hoặc để lấy dữ liệu được thu thập qua tính năng theo dõi trên thiết bị. Ví dụ: bộ đếm số bước, công cụ theo dõi hoạt động tập thể dục. |
TYPE_LOCATION |
Thông báo cập nhật quyền truy cập thông tin vị trí ở chế độ nền: Hoạt động chia sẻ vị trí do người dùng đưa ra yêu cầu | Ví dụ: tính năng Tìm bạn bè, theo dõi hoạt động của xe. |
Thông báo cập nhật quyền truy cập thông tin vị trí ở chế độ nền: Đi theo chỉ dẫn | Ví dụ: tiếp tục chỉ đường lái xe trong bản đồ, theo dõi chuyến đi khi đi chung xe. | |
Khoanh vùng địa lý | Xác định các thông số bao quanh các khu vực quan tâm. | |
TYPE_MEDIA_PLAYBACK |
Phát nội dung nghe nhìn | Tiếp tục phát âm thanh hoặc video ở chế độ nền, bao gồm cả phát trực tuyến. |
Hiện chế độ hình trong hình | Khi nội dung nghe nhìn ở định dạng thu nhỏ khi phát ở chế độ nền. | |
TYPE_MEDIA_PROJECTION |
Chiếu nội dung hoặc nội dung nghe nhìn, cũng như phát trực tuyến hoặc ghi bằng API MediaProjection | Chiếu nội dung nghe nhìn lên màn hình phụ hoặc thiết bị bên ngoài bằng API MediaProjection, bao gồm cả phát trực tuyến. |
FOREGROUND_SERVICE_MEDIA_PROCESSING |
Chuyển mã nội dung nghe nhìn | Thực hiện các thao tác mất nhiều thời gian trên các thành phần nội dung nghe nhìn, chẳng hạn như chuyển đổi nội dung nghe nhìn sang nhiều định dạng. |
TYPE_MICROPHONE |
Quyền truy cập âm thanh ở chế độ nền | Ghi lại đầu vào âm thanh (chẳng hạn như lệnh thoại cho trợ lý ảo) mà không lưu hoặc ghi âm giọng nói. |
TYPE_PHONE_CALL |
Gọi: API Di động/VoiP/Viễn thông | Hỗ trợ nhiều tính năng của chương trình gọi điện. |
TYPE_REMOTE_MESSAGING |
Chuyển tiếp tin nhắn văn bản sang thiết bị khác | Hỗ trợ người dùng tiếp tục nhắn tin khi họ chuyển đổi thiết bị. Ví dụ: hỗ trợ người dùng gửi tin nhắn văn bản qua ứng dụng web bằng cách quét mã QR và thiết lập kết nối giữa ứng dụng web và điện thoại. Không chỉ giới hạn ở SMS. |
Biểu mẫu khai báo sẽ được cung cấp chậm nhất vào tháng 11 năm 2023 và bạn sẽ có thời gian để hoàn tất biểu mẫu này, nhận ý kiến phản hồi và điều chỉnh nếu cần.
Yêu cầu về ý định truy cập chế độ toàn màn hình đối với Android 14
Có thể bạn muốn sử dụng thông báo về ý định truy cập chế độ toàn màn hình để chia sẻ những thông báo có mức độ ưu tiên cao cần người dùng chú ý ngay. Để đảm bảo quyền này chỉ được dùng trong những trường hợp sử dụng có mức độ ưu tiên cao, đối với Android 14, chúng tôi sẽ áp dụng các quy tắc hạn chế đối với việc sử dụng quyền USE_FULL_SCREEN_INTENT
. Việc hạn chế thông báo theo cách này giúp đảm bảo người dùng có được trải nghiệm chất lượng cao hơn.
Nếu sử dụng quyền USE_FULL_SCREEN_INTENT
thì kể từ ngày 31 tháng 5 năm 2024, bạn bắt buộc phải hoàn tất việc khai báo trên Play Console về việc liệu ứng dụng của bạn có một chức năng cốt lõi được phép và đủ điều kiện được cấp quyền tự động hay không. Kể từ ngày 22 tháng 1 năm 2025, đối với những ứng dụng nhắm đến Android 14 trở lên, quyền này chỉ được bật theo mặc định trên những ứng dụng có chức năng gọi điện hoặc chuông báo. Nếu không, bạn phải có sự cho phép của người dùng để có thể sử dụng quyền USE_FULL_SCREEN_INTENT
. Đối với những ứng dụng chưa hoàn tất việc khai báo hoặc chưa được phê duyệt bật theo mặc định, nhà phát triển sẽ phải nhắc người dùng cấp quyền đối với các lượt cài đặt mới và xuống cấp nhẹ trải nghiệm nếu bị từ chối.
Câu hỏi thường gặp
Có gì thay đổi đối với các dịch vụ trên nền trước trong Android 14?Chúng tôi đang ra mắt một số loại dịch vụ trên nền trước mới. Sau khi ra mắt, việc khai báo loại dịch vụ trên nền trước kèm quyền sử dụng tương ứng sẽ là điều bắt buộc. Ví dụ: nếu khai báo loại dịch vụ trên nền trước "camera" (máy ảnh), bạn cũng phải khai báo quyền FOREGROUND_SERVICE_CAMERA. Việc bạn sử dụng nền trước cũng phải tuân thủ các yêu cầu khác được nêu trong Chính sách của chúng tôi về hành vi sử dụng sai trái thiết bị và mạng.
Chọn loại dịch vụ trên nền trước sao cho phù hợp nhất với mục đích bạn sử dụng dịch vụ trên nền trước. Ví dụ: ứng dụng tập thể dục theo dõi bài tập thể dục của người dùng có thể khai báo loại dịch vụ trên nền trước là "health" (sức khoẻ). Bạn cũng có thể chọn nhiều loại dịch vụ trên nền trước nếu phù hợp.
Khi ứng dụng nhắm đến Android 14 và có sử dụng dịch vụ trên nền trước, nhà phát triển phải khai báo quyền thích hợp đối với loại dịch vụ trên nền trước đó. Ví dụ: nếu ứng dụng của bạn sử dụng loại dịch vụ "location" (vị trí) trên nền trước, bạn sẽ cần khai báo quyền FOREGROUND_SERVICE_LOCATION. Quyền của dịch vụ trên nền trước dành cho một loại dịch vụ trên nền trước cụ thể được xác định là quyền thông thường và được cấp theo mặc định tại thời điểm cài đặt. Người dùng không thể thu hồi các quyền này.
Tuỳ thuộc vào loại dịch vụ trên nền trước, có thể sẽ có thêm yêu cầu khác của hệ thống. Một số dịch vụ có thể là quyền khi bắt đầu chạy và cần được người dùng cấp quyền trước khi có thể sử dụng. Ví dụ: nếu sử dụng loại dịch vụ "location" (vị trí) trên nền trước, người dùng cũng phải cấp quyền ACCESS_COARSE_LOCATION hoặc quyền ACCESS_FINE_LOCATION. Vui lòng tham khảo tài liệu để biết thông tin mới nhất.
Trong một số trường hợp hãn hữu, nếu trường hợp sử dụng của bạn đáp ứng các đặc điểm khác cần thiết cho việc sử dụng dịch vụ trên nền trước (như mô tả trong chính sách), thì bạn có thể khai báo loại dịch vụ trên nền trước là TYPE_SPECIFIC_USE
. Tất cả các loại dịch vụ trên nền trước đều phải được Google xem xét.
Người dùng nhận biết được có nghĩa là người dùng phải biết được việc có một tác vụ trên nền trước đang chạy trên thiết bị của họ. Người dùng có thể được coi là đã biết khi họ chủ động thực hiện thao tác; ví dụ: có thể người dùng phát một bài hát hoặc theo dõi một lượt chạy. Ứng dụng của bạn cũng có thể cho người dùng biết về một dịch vụ đang chạy trên nền trước bằng cách đưa ra một thông báo rõ ràng và chính xác trong thanh tác vụ trên thiết bị.
Nếu bạn nhắm đến phiên bản Android trước Android 14, hãy tiếp tục sử dụng thuộc tính android:foregroundServiceType
trong phần tử <service> trong tệp kê khai của ứng dụng.
Mục đích của tác vụ chuyển dữ liệu do người dùng yêu cầu là đơn giản hoá quá trình chuyển dữ liệu qua mạng. Chúng có tính năng theo dõi quy tắc ràng buộc và tự động quản lý khoá chế độ thức. Loại dịch vụ dataSync trên nền trước có thể bao gồm việc truyền dữ liệu cục bộ hoặc qua mạng, và có thể bao gồm cả việc xử lý dữ liệu cục bộ trên thiết bị. Nếu trường hợp sử dụng của bạn là để chuyển dữ liệu qua mạng (chẳng hạn như Wi-Fi, mạng di động hoặc Bluetooth) theo yêu cầu rõ ràng của người dùng, thì bạn nên sử dụng lệnh chuyển dữ liệu do người dùng yêu cầu thay vì sử dụng loại dịch vụ trên nền trước dataSync.
Đối với Android 14, USE_FULL_SCREEN_INTENT
sẽ chuyển từ quyền thông thường sang quyền truy cập đặc biệt của ứng dụng, và chỉ những ứng dụng có chức năng cốt lõi là một trường hợp sử dụng có mức độ ưu tiên cao (như cài đặt chuông báo hoặc nhận cuộc gọi điện thoại/cuộc gọi video) mới tự động được cấp quyền USE_FULL_SCREEN_INTENT
. Bạn có thể xem chức năng cốt lõi là mục đích chính của ứng dụng, tức là khi không có chức năng cốt lõi thì ứng dụng sẽ bị hỏng hoặc không sử dụng được. Các ứng dụng khác vẫn có thể sử dụng được quyền này, nhưng chỉ sau khi người dùng đồng ý cấp quyền cho ứng dụng.
Những thay đổi này sẽ có hiệu lực từ ngày 31 tháng 5 năm 2024.
Khi ứng dụng của bạn nhắm đến Android 14 trở lên và nếu ứng dụng của bạn là một ứng dụng cung cấp chức năng cốt lõi có ý định truy cập chế độ toàn màn hình, thì bạn có thể khai báo điều này trên trang Nội dung ứng dụng (Chính sách > Nội dung ứng dụng) trong Play Console. Biểu mẫu khai báo sẽ được cung cấp từ tháng 4 năm 2024 và bạn sẽ có thời gian để hoàn tất biểu mẫu này.