CihazdakiKişiselleştirmeYöneticisi

public class OnDevicePersonalizationManager
extends Object

java.lang.Object
   ↳ android.adservices.ondevicepersonalization.OnDevicePersonalizationManager


OnDevicePersonalizationManager, uygulamaların izole bir işlemde IsolatedService yüklemesi ve onunla etkileşim kurması için API'ler sağlar. Bir uygulama, uygulamanın görüntüleme hiyerarşisindeki bir SurfaceView içinde görüntülenecek içerik oluşturmak için IsolatedService isteğinde bulunabilir ve cihaz üzerinde depolama alanına kalıcı sonuçlar yazabilir. Bu sonuçlar, cihazlar arası istatistiksel analiz için Federated Analytics veya model eğitimi için Federated Learning tarafından kullanılabilir. Hem görüntülenen içerik hem de kalıcı çıkış, çağrı uygulaması tarafından doğrudan erişilemez.

Özet

Herkese açık yöntemler

void execute(ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)

OnDevicePersonalization korumalı alanında bir IsolatedService yürütür.

void requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackageException> receiver)

Arama yapan uygulamadaki bir SurfaceView içine SurfaceControlViewHost.SurfacePackage eklenmesini ister.

Devralınan yöntemler

Herkese açık yöntemler

execute

public void execute (ComponentName handler, 
                PersistableBundle params, 
                Executor executor, 
                OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)

OnDevicePersonalization korumalı alanında bir IsolatedService yürütür. Platform, izole bir işlemde belirtilen IsolatedService öğesine bağlanır ve IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer) öğesini arayan tarafından sağlanan parametrelerle çağırır. IsolatedService yürütülmeyi tamamladığında platform, arayana hizmetten gelen sonuçları belirten jetonlar döndürür. Bu jetonlar daha sonra, sonuçları çağrı uygulamasında bir SurfaceView içinde görüntülemek için kullanılabilir.

Parametreler
handler ComponentName: IsolatedService için ComponentName. Bu değer null olamaz.

params PersistableBundle: Arayan uygulamadan IsolatedService'e iletilen bir PersistableBundle. Bu parametrenin beklenen içeriğiIsolatedService tarafından tanımlanır. Platform bu parametreyi yorumlamaz. Bu değer null olamaz.

executor Executor: Geri çağırmanın çağrılacağı Executor. Bu değer null olamaz. Geri çağırma ve işleyici etkinlikleri bu Executor üzerinden gönderilir. Böylece hangi iş parçacığının kullanıldığını kolayca kontrol edebilirsiniz. Etkinlikleri uygulamanızın ana iş parçacığı üzerinden göndermek için Context.getMainExecutor() kullanabilirsiniz. Aksi takdirde, uygun bir ileti dizisine yönlendiren bir Executor sağlayın.

receiver OutcomeReceiver: Bu işlev, her biri bir IsolatedService tarafından döndürülen RenderingConfig'ye veya başarısız olduğunda Exception'e opak bir referans olan SurfacePackageToken nesnelerinin bir listesini döndürür. Döndürülen SurfacePackageToken nesneleri, sonucu görünümde görüntülemek için sonraki bir requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) çağrısında kullanılabilir. Arama yapan uygulama ve IsolatedService, bu listenin beklenen boyutu konusunda anlaşmalıdır. Döndürülen SurfacePackageToken nesnesi listesinde, hizmetin söz konusu yüzey için çıkışı olmadığını belirtmek amacıyla boş bir giriş bulunabilir. Hata olması durumunda alıcı aşağıdaki istisnalardan birini döndürür: İşleyici paketi yüklü değilse veya geçerli bir ODP manifest dosyasına sahip değilse PackageManager.NameNotFoundException döndürür. İşleyici sınıfı bulunamazsa ClassNotFoundException döndürülür. İşleyicinin yürütülmesi başarısız olursa OnDevicePersonalizationException döndürür.

requestSurfacePackage

public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, 
                IBinder surfaceViewHostToken, 
                int displayId, 
                int width, 
                int height, 
                Executor executor, 
                OutcomeReceiver<SurfaceControlViewHost.SurfacePackageException> receiver)

Arama yapan uygulamanın içindeki bir SurfaceView içine SurfaceControlViewHost.SurfacePackage yerleştirilmesini ister. Yüzey paketi, OnDevicePersonalization korumalı alanında çalışan #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver)'a yapılan önceki bir çağrının sonucu olan içeriği içeren bir View içerir.

Parametreler
surfacePackageToken SurfacePackageToken: #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) adlı kullanıcıya yapılan önceki bir aramada döndürülen SurfacePackageToken değerine referans verir. Bu değer null olamaz.

surfaceViewHostToken IBinder: SurfaceView görüntüleme hiyerarşisine eklendikten sonra SurfaceView.getHostToken() tarafından döndürülen SurfaceView'in hostToken değeri. Bu değer null olamaz.

displayId int: Context.getDisplay().getDisplayId() tarafından döndürülen, SurfaceControlViewHost.SurfacePackage öğesinin görüntüleneceği mantıksal ekranın tam sayı kimliği.

width int: SurfaceControlViewHost.SurfacePackage öğesinin piksel cinsinden genişliği.

height int: SurfaceControlViewHost.SurfacePackage öğesinin piksel cinsinden yüksekliği.

executor Executor: Geri çağırma işlevinin çağrılacağı Executor Bu değer null olamaz. Geri arama ve dinleyici etkinlikleri bu Executor üzerinden dağıtılır. Böylece, hangi iş parçacığının kullanılacağını kolayca kontrol edebilirsiniz. Etkinlikleri uygulamanızın ana iş akışı üzerinden dağıtmak için Context.getMainExecutor() kullanabilirsiniz. Aksi takdirde, uygun bir ileti dizisine yönlendiren bir Executor sağlayın.

receiver OutcomeReceiver: Bu parametre, başarılı olursa SurfaceControlViewHost.SurfacePackage, başarısız olursa Exception döndürür. İşleyicinin yürütülmesi başarısız olursa istisna türü OnDevicePersonalizationException olur. Bu değer null olamaz.