IsolatedService

public abstract class IsolatedService
extends Service

java.lang.Object
   ↳ android.content.Context
     ↳ android.content.ContextWrapper
       ↳ android.app.Service
         ↳ android.adservices.ondevicepersonalization.IsolatedService


Lớp cơ sở cho các dịch vụ do ODP bắt đầu khi gọi đến OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) và chạy trong môi trường tách biệt xử lý. Dịch vụ này có thể tạo ra nội dung để hiển thị trong SurfaceView trong một ứng dụng gọi và ghi kết quả liên tục vào trên thiết bị mà Analytics liên kết có thể dùng để phân tích số liệu thống kê trên nhiều thiết bị hoặc của công nghệ Học liên kết để huấn luyện mô hình. Ứng dụng khách dùng OnDevicePersonalizationManager để tương tác với IsolatedService.

Tóm tắt

Hằng số kế thừa

Hàm khởi tạo công khai

IsolatedService()

Phương thức công khai

final EventUrlProvider getEventUrlProvider(RequestToken requestToken)

Trả về EventUrlProvider cho yêu cầu hiện tại.

final FederatedComputeScheduler getFederatedComputeScheduler(RequestToken requestToken)

Trả về FederatedComputeScheduler cho yêu cầu hiện tại.

final MutableKeyValueStore getLocalData(RequestToken requestToken)

Trả về Đối tượng truy cập dữ liệu cho bảng LOCAL_DATA.

final LogReader getLogReader(RequestToken requestToken)

Trả về DAO cho bảng YÊU CẦU và SỰ KIỆN cung cấp quyền truy cập vào các hàng mà IsolatedService có thể đọc được.

final KeyValueStore getRemoteData(RequestToken requestToken)

Trả về Đối tượng truy cập dữ liệu cho bảng REMOTE_DATA.

final UserData getUserData(RequestToken requestToken)

Trả về UserData do nền tảng cung cấp cho yêu cầu hiện tại.

IBinder onBind(Intent intent)

Xử lý liên kết với IsolatedService.

void onCreate()

Tạo một liên kết cho IsolatedService.

abstract IsolatedWorker onRequest(RequestToken requestToken)

Trả về một thực thể của IsolatedWorker xử lý các yêu cầu của ứng dụng.

Các phương thức kế thừa

Hàm khởi tạo công khai

IsolatedService

public IsolatedService ()

Phương thức công khai

getEventUrlProvider

public final EventUrlProvider getEventUrlProvider (RequestToken requestToken)

Trả về EventUrlProvider cho yêu cầu hiện tại. EventUrlProvider cung cấp URL có thể nhúng được trong HTML. Khi HTML được hiển thị trong một WebView, nền tảng sẽ chặn các yêu cầu đến những URL này và gọi IsolatedWorker#onEvent(EventInput, Consumer)

Tham số
requestToken RequestToken: một mã thông báo mờ xác định yêu cầu hiện tại cho dịch vụ. Giá trị này không được là null.

Giá trị trả về
EventUrlProvider EventUrlProvider trả về URL theo dõi sự kiện. Giá trị này không được là null.

getFederatedComputeScheduler

public final FederatedComputeScheduler getFederatedComputeScheduler (RequestToken requestToken)

Trả về FederatedComputeScheduler cho yêu cầu hiện tại. Bạn có thể dùng FederatedComputeScheduler để lên lịch và huỷ các lệnh tính toán liên kết. Chiến lược phát hành đĩa đơn tính toán liên kết bao gồm các lệnh phân tích liên kết và học liên kết.

Tham số
requestToken RequestToken: một mã thông báo mờ xác định yêu cầu hiện tại cho dịch vụ. Giá trị này không được là null.

Giá trị trả về
FederatedComputeScheduler FederatedComputeScheduler trả về một công việc tính toán liên kết bộ lập lịch biểu. Giá trị này không được là null.

getLocalData

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

Trả về Đối tượng truy cập dữ liệu cho bảng LOCAL_DATA. Bảng LOCAL_DATA là một biến cố định kho khoá-giá trị mà dịch vụ có thể dùng để lưu trữ bất kỳ dữ liệu nào. Nội dung của bảng này là chỉ hiển thị cho dịch vụ đang chạy trong quy trình tách biệt và không thể gửi ra bên ngoài thiết bị.

Tham số
requestToken RequestToken: một mã thông báo mờ xác định yêu cầu hiện tại cho dịch vụ. Giá trị này không được là null.

Giá trị trả về
MutableKeyValueStore Đối tượng MutableKeyValueStore cung cấp quyền truy cập vào bảng LOCAL_DATA. Các phương thức trong MutableKeyValueStore được trả về đang chặn các thao tác và phải được gọi từ một luồng worker chứ không phải từ luồng chính hoặc luồng liên kết. Giá trị này không được là null.

getLogReader

public final LogReader getLogReader (RequestToken requestToken)

Trả về DAO cho bảng YÊU CẦU và SỰ KIỆN cung cấp quyền truy cập vào các hàng mà IsolatedService có thể đọc được.

Tham số
requestToken RequestToken: một mã thông báo mờ xác định yêu cầu hiện tại cho dịch vụ. Giá trị này không được là null.

Giá trị trả về
LogReader Đối tượng LogReader cung cấp quyền truy cập vào bảng YÊU CẦU và SỰ KIỆN. Các phương thức trong LogReader được trả về đang chặn các thao tác và phải được gọi từ một luồng worker chứ không phải từ luồng chính hoặc luồng liên kết. Giá trị này không được là null.

getRemoteData

public final KeyValueStore getRemoteData (RequestToken requestToken)

Trả về Đối tượng truy cập dữ liệu cho bảng REMOTE_DATA. Bảng REMOTE_DATA là bảng chỉ đọc kho khoá-giá trị chứa dữ liệu được tải xuống định kỳ từ một điểm cuối đã khai báo vào thẻ trong tệp kê khai ODP của dịch vụ, như được thể hiện trong ví dụ sau.

<!-- Contents of res/xml/OdpSettings.xml -->
 <on-device-personalization>
 <!-- Name of the service subclass -->
 <service "com.example.odpsample.SampleService">
   <!-- If this tag is present, ODP will periodically poll this URL and
    download content to populate REMOTE_DATA. Adopters that do not need to
    download content from their servers can skip this tag. -->
   <download-settings url="https://example.com/get" />
 </service>
 </on-device-personalization>
 

Tham số
requestToken RequestToken: một mã thông báo mờ xác định yêu cầu hiện tại cho dịch vụ. Giá trị này không được là null.

Giá trị trả về
KeyValueStore Đối tượng KeyValueStore cung cấp quyền truy cập vào bảng REMOTE_DATA. Chiến lược phát hành đĩa đơn các phương thức trong KeyValueStore được trả về là các thao tác chặn và cần được được gọi từ một luồng worker chứ không phải từ luồng chính hoặc luồng liên kết. Giá trị này không được là null.

getUserData

public final UserData getUserData (RequestToken requestToken)

Trả về UserData do nền tảng cung cấp cho yêu cầu hiện tại.

Tham số
requestToken RequestToken: một mã thông báo mờ xác định yêu cầu hiện tại cho dịch vụ. Giá trị này không được là null.

Giá trị trả về
UserData Đối tượng UserData. Giá trị này có thể là null.

onBind

public IBinder onBind (Intent intent)

Xử lý liên kết với IsolatedService.

Tham số
intent Intent: Ý định dùng để liên kết với dịch vụ này, như được cung cấp cho Context.bindService. Xin lưu ý rằng mọi ứng dụng khác kèm theo Ý định tại thời điểm đó sẽ không xuất hiện ở đây. Giá trị này không được là null.

Giá trị trả về
IBinder Giá trị này có thể là null.

onCreate

public void onCreate ()

Tạo một liên kết cho IsolatedService.

onRequest

public abstract IsolatedWorker onRequest (RequestToken requestToken)

Trả về một thực thể của IsolatedWorker xử lý các yêu cầu của ứng dụng.

Tham số
requestToken RequestToken: mã thông báo mờ xác định yêu cầu hiện tại cho dịch vụ phải được chuyển vào phương thức dịch vụ phụ thuộc vào trạng thái mỗi yêu cầu. Giá trị này không được là null.

Trả về
IsolatedWorker Giá trị này không được là null.