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 |
void
|
requestSurfacePackage(SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver<SurfaceControlViewHost.SurfacePackage, Exception> receiver)
Çağrı uygulaması içindeki bir |
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.SurfacePackage, Exception> 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. |