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 bằng lệnh gọi đến OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) và chạy trong một quy trình tách biệt. Dịch vụ này có thể tạo nội dung để hiển thị trong SurfaceView trong ứng dụng gọi và ghi kết quả ổn định vào bộ nhớ trên thiết bị. Phân tích liên kết có thể sử dụng nội dung này để phân tích số liệu thống kê trên nhiều thiết bị hoặc Học liên kết có thể sử dụng nội dung này để huấn luyện mô hình. Ứng dụng khách sử 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ề một DAO cho các bảng YÊU CẦU và SỰ KIỆN cho phép truy cập vào các hàng mà IsolatedService có thể đọc được.

final KeyValueStore getRemoteData(RequestToken requestToken)

Trả về một Đố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 khách.

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 các URL có thể được nhúng trong HTML. Khi HTML hiển thị trong 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ã thông báo mờ giúp 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 công việc tính toán liên kết. Tính năng tính toán liên kết bao gồm các công việc phân tích liên kết và học liên kết.

Tham số
requestToken RequestToken: mã thông báo mờ giúp 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 trình lập lịch biểu công việc tính toán liên kết. Giá trị này không được là null.

getLocalData

public final MutableKeyValueStore getLocalData (RequestToken requestToken)

Trả về một Đối tượng truy cập dữ liệu cho bảng LOCAL_DATA. Bảng LOCAL_DATA là một kho khoá-giá trị ổn định 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 chỉ hiển thị với dịch vụ chạy trong một quy trình riêng biệt và không thể gửi ra bên ngoài thiết bị.

Tham số
requestToken RequestToken: mã thông báo mờ giúp 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ề là các thao tác chặn và phải được gọi từ luồng worker chứ không phải 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ề một DAO cho các 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ã thông báo mờ giúp 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ề là các thao tác chặn 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à kho lưu trữ khoá-giá trị chỉ đọc, chứa dữ liệu được tải xuống định kỳ từ một điểm cuối được khai báo trong thẻ trong tệp kê khai ODP của dịch vụ, như 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ã thông báo mờ giúp 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. Các phương thức trong KeyValueStore được trả về là các thao tác chặn 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.

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ã thông báo mờ giúp 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 Một đố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 được 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 thông tin bổ sung đi kèm với Ý định tại thời điểm đó sẽ không xuất hiện tại đâ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ờ giúp xác định yêu cầu hiện tại cho dịch vụ mà phải được truyền đến các phương thức dịch vụ phụ thuộc vào trạng thái theo 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.