CihazdaKişiselleştirme Yöneticisi

public class OnDevicePersonalizationManager
extends Object

java.lang.Object
→ Yönergeler android.adservices.ondevicepersonalization.OnDevicePersonalizationManager


OnDevicePersonalizationManager, uygulamaların bir IsolatedService öğesini izole bir işlemde yükleyip onunla etkileşimde bulunması için API'ler sağlar. Bir uygulama, uygulamanın görünüm hiyerarşisindeki SurfaceView içinde görüntülemek üzere içerik oluşturmak için IsolatedService isteğinde bulunabilir. Ayrıca, kalıcı sonuçları cihaz üzerindeki depolama alanına yazabilir. Bu veriler, cihazlar arası istatistiksel analiz için Federated Analytics veya model eğitimi için Federated Learning tarafından kullanılabilir. Çağrı uygulaması tarafından görüntülenen içerik ve kalıcı çıkışa 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 çalıştırır.

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

Çağrı uygulaması içindeki bir SurfaceView öğesine bir SurfaceControlViewHost.SurfacePackage yerleştirilmesini ister.

Devralınan yöntemler

Herkese açık yöntemler

yürütme

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

OnDevicePersonalization korumalı alanında bir IsolatedService çalıştırır. Platform, belirtilen IsolatedService öğesine izole bir işlemde bağlanır ve çağrıyı yapan tarafından sağlanan parametrelerle IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer) yöntemini çağırır. IsolatedService yürütmeyi bitirdiğinde platform, çağrıya hizmetten elde edilen sonuçlara referans veren jetonlar döndürür. Bu jetonlar daha sonra sonuçları çağıran uygulama içindeki bir SurfaceView içinde görüntülemek için kullanılabilir.

Parametreler
handler ComponentName: IsolatedService öğesinin ComponentName. Bu değer null olamaz.

params PersistableBundle: Çağrı uygulamasından IsolatedService ürününe geçirilen bir PersistableBundle. Bu parametrenin beklenen içerikleri IsolatedService ile tanımlanır. Platform bu parametreyi yorumlamıyor. 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, hangi iş parçacığının kullanıldığını kontrol etmek için kolay bir yol sağlayan bu Executor aracılığıyla gönderilir. Etkinlikleri uygulamanızın ana iş parçacığı üzerinden göndermek için Context.getMainExecutor() kullanabilirsiniz. Aksi takdirde, uygun iş parçacığına gönderim yapan bir Executor sağlayın.

receiver OutcomeReceiver: Bu işlem, her biri IsolatedService tarafından döndürülen bir RenderingConfig veya hata durumunda Exception için opak bir başvuru olan SurfacePackageToken nesnelerinin listesini döndürür. Döndürülen SurfacePackageToken nesneleri, sonucu bir 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. Çağrı uygulaması ve IsolatedService, bu listenin beklenen boyutu üzerinde hemfikir olmalıdır. Döndürülen SurfacePackageToken nesneleri listesindeki bir giriş, hizmetin söz konusu yüzey için çıkışı olmadığını belirtmek üzere boş olabilir. Hata olması durumunda alıcı şu istisnalardan birini döndürür: İşleyici paketi yüklü değilse veya geçerli bir ODP manifesti yoksa bir PackageManager.NameNotFoundException döndürür. İşleyici sınıfı bulunamazsa ClassNotFoundException değerini döndürür. İşleyicinin yürütülmesi başarısız olursa OnDevicePersonalizationException değerini döndürür.

İstekSurfacePaketi

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

Çağrı uygulamasının içindeki bir SurfaceView içine SurfaceControlViewHost.SurfacePackage eklenmesini ister. Yüzey paketinde, OnDevicePersonalization korumalı alanında çalışan #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) öğesine yapılan önceki bir çağrının sonucuna ait içeriğin bulunduğu bir View bulunur.

Parametreler
surfacePackageToken SurfacePackageToken: Önceki bir #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) çağrısının döndürdüğü SurfacePackageToken referansıdır. Bu değer null olamaz.

surfaceViewHostToken IBinder: SurfaceView öğesinin ana makine jetonu. Bu, SurfaceView görünüm hiyerarşisine eklendikten sonra SurfaceView.getHostToken() tarafından döndürülür. 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ğırmanın çağrılacağı Executor. Bu değer null olamaz. Geri çağırma ve işleyici etkinlikleri, hangi iş parçacığının kullanıldığını kontrol etmek için kolay bir yol sağlayan bu Executor aracılığıyla gönderilir. Etkinlikleri uygulamanızın ana iş parçacığı üzerinden göndermek için Context.getMainExecutor() kullanabilirsiniz. Aksi takdirde, uygun iş parçacığına gönderim yapan bir Executor sağlayın.

receiver OutcomeReceiver: Bu işlem başarılı olduğunda SurfaceControlViewHost.SurfacePackage veya başarısız olduğunda 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.