IsolatedWorker

public interface IsolatedWorker

android.adservices.ondevicepersonalization.IsolatedWorker


OS'den IsolatedService'e gelen istekleri işlemek için uygulanması gereken yöntemlerle arayüz. IsolatedService, her istek için bir IsolatedWorker örneği oluşturur ve istek türüne bağlı olarak aşağıdaki yöntemlerden birini çağırır. IsolatedService, yöntemi bir Binder iş parçacığında çağırır ve IsolatedWorker, uzun süren işlemleri bir çalışan iş parçacığına aktarmalıdır. Sonuç döndürmek için her yöntemin tüketici parametresi kullanılır.

Özet

Herkese açık yöntemler

default void onDownloadCompleted(DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)

Tamamlanan bir indirme işlemini yönetir.

default void onEvent(EventInput input, Consumer<EventOutput> consumer)

onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer) tarafından döndürülen HTML çıkışına yerleştirilmiş, platform tarafından sağlanan bir izleme URL'si EventUrlProvider için istek tarafından tetiklenen bir etkinliği işler.

default void onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)

Bir uygulamadan gelen isteği işler.

default void onRender(RenderInput input, Consumer<RenderOutput> consumer)

onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer) sonucunda döndürülen sonuçlar için HTML oluşturur.

default void onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)

Birleşik hesaplama işi için kullanılan tek bir eğitim örneği oluşturun.

Herkese açık yöntemler

onDownloadCompleted

public void onDownloadCompleted (DownloadCompletedInput input, 
                Consumer<DownloadCompletedOutput> consumer)

Tamamlanan bir indirme işlemini yönetir. Platform, IsolatedService paket manifestinde tanımlanan parametreleri kullanarak içeriği indirir, indirme işlemi tamamlandıktan sonra bu işlevi çağırır ve IsolatedService#getRemoteData(RequestToken)'daki REMOTE_DATA tablosunu bu yöntemin sonucuyla günceller.

Parametreler
input DownloadCompletedInput: İndirme işleyici parametreleri. Bu değer null olamaz.

consumer Consumer: Sonucu alan geri arama işlevi. Hata durumunda null ile çağrılmalıdır. null ile çağrılırsa REMOTE_DATA tablosunda güncelleme yapılmaz.

Bu yöntem RuntimeException döndürürse REMOTE_DATA tablosunda güncelleme yapılmaz.

onEvent

public void onEvent (EventInput input, 
                Consumer<EventOutput> consumer)

onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer) tarafından döndürülen HTML çıktısına yerleştirilmiş, platform tarafından sağlanan bir izleme URL'si EventUrlProvider için istek tarafından tetiklenen bir etkinliği işler. Platform, ETKİNLİKLER tablosunu EventOutput#getEventLogRecord() ile günceller.

Parametreler
input EventInput: Etkinlik verilerini hesaplamak için gereken parametreler. Bu değer null olamaz.

consumer Consumer: Sonucu alan geri arama işlevi. Hata oluştuğunda null ile çağrılmalıdır. null ile çağrılırsa EVENTS tablosuna veri yazılmaz.

Bu yöntem bir RuntimeException döndürürse EVENTS tablosuna veri yazılmaz.

onYürütme

public void onExecute (ExecuteInput input, 
                Consumer<ExecuteOutput> consumer)

Bir uygulamadan gelen isteği işler. Bu yöntem, bir uygulama IsolatedService adlı bir öğeyi belirten OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle, java.util.concurrent.Executor, OutcomeReceiver) öğesini çağırdığında çağrılır.

Parametreler
input ExecuteInput: Arayan uygulamadan istek parametreleri. Bu değer null olamaz.

consumer Consumer: ExecuteOutput sonucunu alan geri çağırma. Hata durumunda null ile çağrılmalıdır. Hata, OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED hata koduna sahip bir OnDevicePersonalizationException olarak arayan uygulamaya iletilir. Özel verilerin arayan uygulamaya sızmasını önlemek için daha ayrıntılı hata raporlaması kullanılamaz. IsolatedService'ün hata istatistiklerini arka ucuna bildirmesi gerekiyorsa ExecuteOutput'ü günlük kaydı için hata verileriyle doldurmalı ve hata raporlarını toplamak için Federated Analytics'ten yararlanmalıdır.

Bu yöntem bir RuntimeException gönderirse bu durum, uygulamaları OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED hata koduyla OnDevicePersonalizationException olarak çağırmaya da bildirilir.

onRender

public void onRender (RenderInput input, 
                Consumer<RenderOutput> consumer)

onExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer) sonucunda döndürülen sonuçlar için HTML oluşturur. Bir istemci uygulaması OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver) çağrısı yaptığında çağrılır. Platform, bu HTML'yi çevrili bir çerçevenin içindeki bir WebView içinde oluşturur.

Parametreler
input RenderInput: Oluşturma isteği parametreleri. Bu değer null olamaz.

consumer Consumer: Sonucu alan geri arama işlevi. Hata oluştuğunda null ile çağrılmalıdır. Hata, OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED hata koduyla OnDevicePersonalizationException olarak arayan uygulamaya iletilir.

Bu yöntem bir RuntimeException oluşturursa bu durum, OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED hata koduyla OnDevicePersonalizationException olarak çağıran uygulamalara da bildirilir.

onTrainingExample

public void onTrainingExample (TrainingExampleInput input, 
                Consumer<TrainingExampleOutput> consumer)

Birleşik hesaplama işi için kullanılan tek bir eğitim örneği oluşturun.

Parametreler
input TrainingExampleInput: Eğitim örneğini oluşturmak için gereken parametreler. Bu değer null olamaz.

consumer Consumer: İşlem tamamlandığında çağrılacak geri çağırma işlevi. Bu değer null olamaz.