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 |
void
|
requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Arama yapan uygulamadaki bir |
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.SurfacePackage, Exception> 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. |