SDKKorumalı Alan Yöneticisi

public final class SdkSandboxManager
extends Object

java.lang.Object
🎃 android.app.sdksandbox.SdkSandboxManager


SDKs öğesini SDK korumalı alan işleme ve ardından bunlarla etkileşimde bulunma.

SDK korumalı alanı, ayrı bir benzersiz kullanıcı kimliği aralığında çalışan bir Java işlemidir. Her uygulamanın kendi SDK'sı olabilir korumalı alan işlemidir.

Uygulamanın öncelikle manifest dosyasında kullandığı SDK'ları <uses-sdk-library> etiketini kullanarak bildirmesi gerekir. Uygulamalar yalnızca kullandıkları SDK'ları SDK korumalı alanına yükleyebilirler.

Özet

İç içe yerleştirilmiş sınıflar

interface SdkSandboxManager.SdkSandboxProcessDeathCallback

SDK korumalı alanı ölümünü izlemek için geri çağırma. 

Sabitler

String EXTRA_DISPLAY_ID

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) öğesinin Paket alanlarında kullanılacak anahtarın adı. Bu anahtarın değeri, mantıksal için SurfacePackage öğesini seçin.

String EXTRA_HEIGHT_IN_PIXELS

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) öğesinin Paket alanlarında kullanılacak anahtarın adı; bu anahtarın değeri, SurfacePackage öğesinin tam sayı yüksekliğini piksel cinsinden tanımlamalıdır.

String EXTRA_HOST_TOKEN

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) öğesinin Paket alanlarında kullanılacak anahtarın adı. Bu anahtarın değeri, SurfaceView yapıldıktan sonra SurfaceView.getHostToken() tarafından döndürülen jetonu göstermelidir görünüm hiyerarşisine eklenir.

String EXTRA_SURFACE_PACKAGE

Paketteki anahtarın adı, OutcomeReceiver öğesinin onResult işlevine (requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)) aktarılır. Bu anahtarın değeri, istenen SurfacePackage değerini sunar.

String EXTRA_WIDTH_IN_PIXELS

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) öğesinin Paket alanlarında kullanılacak anahtarın adı; bu anahtarın değeri, SurfacePackage öğesinin tam sayı genişliğini piksel cinsinden tanımlamalıdır.

int LOAD_SDK_ALREADY_LOADED

SDK zaten yüklü.

int LOAD_SDK_INTERNAL_ERROR

SDK yüklenirken dahili hata oluştu.

int LOAD_SDK_NOT_FOUND

SDK bulunamadı.

int LOAD_SDK_SDK_DEFINED_ERROR

Yüklendikten sonra SDK hatası.

int LOAD_SDK_SDK_SANDBOX_DISABLED

SDK korumalı alanı devre dışı bırakıldı.

int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

SurfacePackage istenirken dahili hata oluştu.

int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

SurfacePackage istenirken SDK yüklenmedi.

int SDK_SANDBOX_PROCESS_NOT_AVAILABLE

SDK korumalı alanı işlemi kullanılamıyor.

String SDK_SANDBOX_SERVICE

SdkSandboxManager almak için Context#getSystemService(String) ile kullanın bu istemci uygulamasına ait SDK'larla etkileşimde bulunmak için kullanılır.

int SDK_SANDBOX_STATE_DISABLED

SDK korumalı alanı devre dışı bırakıldı.

int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

SDK korumalı alanı etkinleştirildi.

Herkese açık yöntemler

void addSdkSandboxProcessDeathCallback(Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

SDK korumalı alanı gibi SDK korumalı alanı yaşam döngüsü etkinlikleri için kaydedilen bir geri çağırma ekler ölümcül olabilir.

void addSyncedSharedPreferencesKeys(Set<String> keys)

Uygulamanın varsayılan SharedPreferences kaynağından SDK'ya senkronize edilen anahtar grubuna anahtar ekler korumalıdır.

List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces()

Bir uygulama için kaydedilen AppOwnedSdkSandboxInterface listesini getirir

List<SandboxedSdk> getSandboxedSdks()

Korumalı alana yüklenen SDK'larla ilgili bilgileri getirir.

static int getSdkSandboxState()

SDK korumalı alanı özelliğinin mevcut kullanılabilirlik durumunu döndürür.

Set<String> getSyncedSharedPreferencesKeys()

Uygulamanın varsayılan SharedPreferences ayarından şuna senkronize edilen anahtarları döndürür: SDK korumalı alanı.

void loadSdk(String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdkLoadSdkException> receiver)

SDK'yı korumalı alan Java işlemine yükler.

void registerAppOwnedSdkSandboxInterface(AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)

AppOwnedSdkSandboxInterface bir uygulama işlemi için kaydedilir.

void removeSdkSandboxProcessDeathCallback(SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

Daha önce addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback) kullanılarak eklenen bir SdkSandboxProcessDeathCallback kaldırılır

void removeSyncedSharedPreferencesKeys(Set<String> keys)

addSyncedSharedPreferencesKeys(java.util.Set) kullanılarak eklenen anahtar grubundan anahtarları kaldırır

Kaldırılan anahtarlar daha önce senkronize edilmişlerse SDK korumalı alanından silinir.

void requestSurfacePackage(String sdkName, Bundle params, Executor callbackExecutor, OutcomeReceiver<BundleRequestSurfacePackageException> receiver)

SDK'ya bir yüzey paketi için istek gönderir.

void startSdkSandboxActivity(Activity fromActivity, IBinder sdkActivityToken)

SDK korumalı alanında bir Activity başlatır.

void unloadSdk(String sdkName)

Arayan tarafından daha önce yüklenmiş bir SDK'yı kaldırır.

void unregisterAppOwnedSdkSandboxInterface(String name)

Bir uygulama işlemi için ERROR(/AppOwnedSdkSandboxInterfaces) hesabının kaydını iptal eder.

Devralınan yöntemler

Sabitler

EKSTRA_DISPLAY_KİMLİĞİ

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public static final String EXTRA_DISPLAY_ID

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) öğesinin Paket alanlarında kullanılacak anahtarın adı. Bu anahtarın değeri, mantıksal için SurfacePackage öğesini seçin.

Sabit Değer: "android.app.sdksandbox.extra.DISPLAY_ID"

PİKSEL_AŞAĞI_UZUNLUK

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public static final String EXTRA_HEIGHT_IN_PIXELS

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) öğesinin Paket alanlarında kullanılacak anahtarın adı; bu anahtarın değeri, SurfacePackage öğesinin tam sayı yüksekliğini piksel cinsinden tanımlamalıdır.

Sabit Değer: "android.app.sdksandbox.extra.HEIGHT_IN_PIXELS"

EKSTRA_HOST_TOKEN

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public static final String EXTRA_HOST_TOKEN

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) öğesinin Paket alanlarında kullanılacak anahtarın adı. Bu anahtarın değeri, SurfaceView yapıldıktan sonra SurfaceView.getHostToken() tarafından döndürülen jetonu göstermelidir görünüm hiyerarşisine eklenir. ANR raporlamasını etkinleştirmek için yalnızca boş olmayan bir değer kabul edilir.

Sabit Değer: "android.app.sdksandbox.extra.HOST_TOKEN"

EKSTRA_SURFACE_PACKAGE

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public static final String EXTRA_SURFACE_PACKAGE

Paketteki anahtarın adı, OutcomeReceiver öğesinin onResult işlevine (requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)) aktarılır. Bu anahtarın değeri, istenen SurfacePackage değerini sunar.

Sabit Değer: "android.app.sdksandbox.extra.SURFACE_PACKAGE"

EKSTRA_GENİŞLİK_İÇİ_PİXELS

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public static final String EXTRA_WIDTH_IN_PIXELS

requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) öğesinin Paket alanlarında kullanılacak anahtarın adı; bu anahtarın değeri, SurfacePackage öğesinin tam sayı genişliğini piksel cinsinden tanımlamalıdır.

Sabit Değer: "android.app.sdksandbox.extra.WIDTH_IN_PIXELS"

YÜKLE_SDK_ALREADY_LOADED

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public static final int LOAD_SDK_ALREADY_LOADED

SDK zaten yüklü.

Bu, istemci uygulamanın, yüklendikten sonra loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) işlevini çağırarak aynı SDK'yı yeniden yüklemeyi denediğini gösterir. başarıyla yüklendi.

Sabit Değer: giriş (0x00000065)

LOAD_SDK_INTERNAL_ERROR

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public static final int LOAD_SDK_INTERNAL_ERROR

SDK yüklenirken dahili hata oluştu.

Bu, istemciden gelen arama uygulanırken genel bir dahili hata oluştuğunu gösterir bir uygulamadır.

Sabit Değer: 500 (0x000001f4)

YÜKLE_SDK_NOT_FOUND

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public static final int LOAD_SDK_NOT_FOUND

SDK bulunamadı.

Bu, istemci uygulamasının loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) çağırarak mevcut olmayan bir SDK'yı yüklemeye çalıştığını gösterir.

Sabit Değer: 100'ler (0x00000064)

LOAD_SDK_SDK_DEFINED_ERROR

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public static final int LOAD_SDK_SDK_DEFINED_ERROR

Yüklendikten sonra SDK hatası.

Bu durum, SDK'nın yükleme sonrası başlatma sırasında bir hatayla karşılaştığını gösterir. İlgili içeriği oluşturmak için kullanılan bunun ayrıntıları, LoadSdkException içinde iade edilen Paket'ten edinilebilir: OutcomeReceiver SdkSandboxManager#loadSdk e-posta adresine teslim edildi.

Sabit Değer: giriş (0x00000066)

LOAD_SDK_SDK_SANDBOX_DISABLED

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public static final int LOAD_SDK_SDK_SANDBOX_DISABLED

SDK korumalı alanı devre dışı bırakıldı.

Bu simge, SDK korumalı alanının devre dışı bırakıldığını gösterir. SDK'ları başarısız olur.

Sabit Değer: 103 (0x00000067)

REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public static final int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

SurfacePackage istenirken dahili hata oluştu.

Bu, SurfacePackage

Sabit Değer: 700 (0x000002bc)

REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 5'e de eklendi
public static final int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

SurfacePackage istenirken SDK yüklenmedi.

Bu, SurfacePackage öğesinin istendiği SDK'nın olmadığını gösterir bunun nedeni korumalı alanın ölmesi veya daha önce yüklenmemesi olabilir.

Sabit Değer: 701 (0x000002bd)

SDK_SANDBOX_İŞLEM_DEĞİL

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public static final int SDK_SANDBOX_PROCESS_NOT_AVAILABLE

SDK korumalı alanı işlemi kullanılamıyor.

Bu, SDK korumalı alanı işleminin öldüğü için veya veya daha önceden oluşturulmamış olabilir.

Sabit Değer: 503 (0x000001f7)

SDK_SANDBOX_SERVICE

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public static final String SDK_SANDBOX_SERVICE

SdkSandboxManager almak için Context#getSystemService(String) ile kullanın bu istemci uygulamasına ait SDK'larla etkileşimde bulunmak için kullanılır.

Sabit Değer: "sdk_sandbox"

SDK_SANDBOX_STATE_DEVRE DIŞI

API düzeyi 33'e eklendi
Ayrıca Ad Services Extensions 3'e de eklendi
public static final int SDK_SANDBOX_STATE_DISABLED

SDK korumalı alanı devre dışı bırakıldı.

SdkSandboxManager API gizlendi. Kişi çağrılarını çağırmaya çalışıldığında UnsupportedOperationException ile karşılaşırsınız.

Sabit Değer: 0 (0x00000000)

SDK_SANDBOX_STATE_ETKİN_İŞLEM_ISOLATION

API düzeyi 33'e eklendi
Ayrıca Ad Services Extensions 3'e de eklendi
public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

SDK korumalı alanı etkinleştirildi.

Uygulama, bağımlı olduğu SDKs verisini yüklemek için SdkSandboxManager API'lerini kullanabilir ilgili SDK korumalı alan işlemine ilişkin bilgiler içerir.

Sabit Değer: 2. (0x00000002)

Herkese açık yöntemler

addSdkSandboxProcessDeathCallback

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public void addSdkSandboxProcessDeathCallback (Executor callbackExecutor, 
                SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

SDK korumalı alanı gibi SDK korumalı alanı yaşam döngüsü etkinlikleri için kaydedilen bir geri çağırma ekler ölümcül olabilir. Bu çağrı çağrıldığında korumalı alan henüz oluşturulmadıysa istek Korumalı alan oluşturulana kadar saklanır ve ardından söz konusu korumalı alan için etkinleştirilir. Birden çok ölümü algılamak için geri çağırmalar eklenebilir ve korumalı alan öldüğünde kaldırılmaz.

Parametreler
callbackExecutor Executor: Geri çağırmanın çağrılacağı Executor Bu değer null olamaz. Geri çağırma ve işleyici etkinlikleri bu Executor kullanılır. Etkinlikleri oluşturmak için Context.getMainExecutor() Aksi takdirde, uygun bir ileti dizisine yönlendiren bir Executor sağlayın.

callback SdkSandboxManager.SdkSandboxProcessDeathCallback: SDK korumalı alanını alacak SdkSandboxProcessDeathCallback yaşam döngüsü olayları. Bu değer null olamaz.

addSyncedSharedPreferencesKeys

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 5'e de eklendi
public void addSyncedSharedPreferencesKeys (Set<String> keys)

Uygulamanın varsayılan SharedPreferences kaynağından SDK'ya senkronize edilen anahtar grubuna anahtar ekler korumalıdır.

SDK'lar, senkronize edilen verileri SdkSandboxController.getClientSharedPreferences() API'yi kullanarak okuyabilir.

Bu API kullanılarak eklenen herhangi bir anahtarı senkronize etmeyi durdurmak için removeSyncedSharedPreferencesKeys(java.util.Set) yöntemini kullanın.

Uygulama yeniden başlatılırsa ve kullanıcının havuzu yeniden oluşturmak için bu API'yi tekrar çağırması gerekirse senkronizasyon kesintiye uğrar sayısı.

Not: Bu sınıf, birden fazla işlemde kullanımı desteklemez.

Parametreler
keys Set: Korumalı alan ile senkronize edilecek anahtar grubu. Bu değer null olamaz.

getAppSahip olunanSdkSandboxArayüzleri

public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()

Bir uygulama için kaydedilen AppOwnedSdkSandboxInterface listesini getirir

İlerlemeler
List<AppOwnedSdkSandboxInterface> Çağrı Bilgileri, haritada bulunamazsa boş liste, aksi takdirde AppOwnedSdkSandboxInterface listesi Bu değer null olamaz.

getSandboxedSdks'ler

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 5'e de eklendi
public List<SandboxedSdk> getSandboxedSdks ()

Korumalı alana yüklenen SDK'larla ilgili bilgileri getirir.

İlerlemeler
List<SandboxedSdk> Şu anda yüklü tüm SDK'ları içeren SandboxedSdk listesi. Bu değer null olamaz.

getSdkSandboxState

API düzeyi 33'e eklendi
Ayrıca Ad Services Extensions 3'e de eklendi
public static int getSdkSandboxState ()

SDK korumalı alanı özelliğinin mevcut kullanılabilirlik durumunu döndürür.

İlerlemeler
int Değer SDK_SANDBOX_STATE_DISABLED veya SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

getSyncedSharedPreferencesKeys

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 5'e de eklendi
public Set<String> getSyncedSharedPreferencesKeys ()

Uygulamanın varsayılan SharedPreferences ayarından şuna senkronize edilen anahtarları döndürür: SDK korumalı alanı.

İlerlemeler
Set<String> Bu değer null olamaz.

loadSdk

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public void loadSdk (String sdkName, 
                Bundle params, 
                Executor executor, 
                OutcomeReceiver<SandboxedSdkLoadSdkException> receiver)

SDK'yı korumalı alan Java işlemine yükler.

SDK korumalı alanı işlemine eşzamansız olarak sdkName içeren SDK kitaplığını yükler. İlgili içeriği oluşturmak için kullanılan arayan, receiver üzerinden bilgilendirilecek.

Arayan, manifest dosyasında kullandığı SDKs öğesini <uses-sdk-library> etiketini kullanarak belirtmelidir. Arayan, kullandığı SDKs SDK'yı yalnızca SDK'ya yükleyebilir. korumalıdır.

İstemci uygulaması ilk SDK'yı yüklediğinde yeni bir SDK korumalı alanı işlemi oluşturuldu. İstemci uygulaması için önceden bir korumalı alan oluşturulduysa ek SDK'lar aynı korumalı alana yüklenir.

Bu API yalnızca arayan ön planda çalışırken çağrılabilir. Gelen aramalar: arka plan, receiver içinde LoadSdkException döndürülmesiyle sonuçlanır.

Parametreler
sdkName String: Yüklenecek SDK'nın adı. Bu değer null olamaz.

params Bundle: SDK'ya Bundle biçiminde iletilecek ek parametreler kararlaştırıldığı gibidir. Bu değer null olamaz.

executor Executor: Alıcının çağrılacağı Executor. Bu değer null olamaz. Geri çağırma ve işleyici etkinlikleri bu Executor kullanılır. Etkinlikleri oluşturmak için Context.getMainExecutor() Aksi takdirde, uygun bir ileti dizisine yönlendiren bir Executor sağlayın.

receiver OutcomeReceiver: Bu, başarılı bir koşuda SandboxedSdk veya LoadSdkException alır. Bu değer null olamaz.

registerAppSahip olunanSdkSandboxInterface

public void registerAppOwnedSdkSandboxInterface (AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)

AppOwnedSdkSandboxInterface bir uygulama işlemi için kaydedilir.

Öncekiyle aynı ada sahip bir AppOwnedSdkSandboxInterface kaydediliyor IllegalStateException ile sonuçlanacaktır.

AppOwnedSdkSandboxInterface#getName(), arayüzün adını ifade eder.

Parametreler
appOwnedSdkSandboxInterface AppOwnedSdkSandboxInterface: Kaydedilecek AppSahipSdkSandboxInterface Bu değer null olamaz.

removeSdkSandboxProcessDeathCallback

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public void removeSdkSandboxProcessDeathCallback (SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

Daha önce addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback) kullanılarak eklenen bir SdkSandboxProcessDeathCallback kaldırılır

Parametreler
callback SdkSandboxManager.SdkSandboxProcessDeathCallback: Daha önceSdkSandboxProcessDeathCallback SdkSandboxManager#addSdkSandboxProcessDeathCallback(Executor, SdkSandboxProcessDeathCallback) Bu değer null olamaz.

removeSyncedSharedPreferencesKeys

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 5'e de eklendi
public void removeSyncedSharedPreferencesKeys (Set<String> keys)

addSyncedSharedPreferencesKeys(java.util.Set) kullanılarak eklenen anahtar grubundan anahtarları kaldırır

Kaldırılan anahtarlar daha önce senkronize edilmişlerse SDK korumalı alanından silinir.

Parametreler
keys Set: Artık Korumalı Alan ile senkronize edilmemesi gereken anahtar adları grubu. Bu değer null olamaz.

requestSurfacePackage

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public void requestSurfacePackage (String sdkName, 
                Bundle params, 
                Executor callbackExecutor, 
                OutcomeReceiver<BundleRequestSurfacePackageException> receiver)

SDK'ya bir yüzey paketi için istek gönderir.

İstemci uygulaması SDK'nın başarıyla yüklendiğini belirten bir sinyal aldıktan sonra ve görünüm hiyerarşisine bir SurfaceView eklendiyse eşzamansız olarak istekte bulunabilir SDK'dan görünüm oluşturmak için SurfacePackage.

SurfacePackage hazır olduğunda, OutcomeReceiver#onResult geri çağırması iletilen receiver çağrılır. Bu geri arama bir Bundle içerecek bir nesneye ait SdkSandboxManager#EXTRA_SURFACE_PACKAGE ilişkilendirilmiş değer, istenen SurfacePackage.

İletilen params şu anahtarları içermelidir: EXTRA_WIDTH_IN_PIXELS, SdkSandboxManager#EXTRA_HEIGHT_IN_PIXELS, SdkSandboxManager#EXTRA_DISPLAY_ID ve SdkSandboxManager#EXTRA_HOST_TOKEN. Eğer bu anahtarlardan herhangi biri eksik veya geçersizse IllegalArgumentException hatası verilir.

Bu API yalnızca arayan ön planda çalışırken çağrılabilir. Gelen aramalar: arka plan, receiver içinde RequestSurfacePackageException hatası döndürülmesiyle sonuçlanır.

Parametreler
sdkName String: SDK korumalı alanına yüklenen SDK'nın adı. Bu değer null olamaz.

params Bundle: istemci uygulamanın SDK'ya aktardığı parametreler. Bu değer null olamaz.

callbackExecutor Executor: Geri çağırmanın çağrılacağı Executor Bu değer null olamaz. Geri çağırma ve işleyici etkinlikleri bu Executor kullanılır. Etkinlikleri oluşturmak için Context.getMainExecutor() Aksi takdirde, uygun bir ileti dizisine yönlendiren bir Executor sağlayın.

receiver OutcomeReceiver: Bu işlem başarılı olursa anahtarı içeren bir Bundle döndürür. SurfacePackage değerine sahip SdkSandboxManager#EXTRA_SURFACE_PACKAGE veya Hata durumunda RequestSurfacePackageException. Bu değer null olamaz.

Fırlatma
IllegalArgumentException params gerekli tüm anahtarları içermiyorsa.

startSdkSandboxActivity

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 7'ye de eklendi
public void startSdkSandboxActivity (Activity fromActivity, 
                IBinder sdkActivityToken)

SDK korumalı alanında bir Activity başlatır.

Bu işlev, iletilen fromActivity ile aynı görevde yeni bir Activity başlatır ve bunu, iletilen sdkActivityToken dosyasını paylaşan SDK'ya iletir. bu Activity SDK'sını istatistikleri için söz konusu SDK'dan gelen isteği tanımlar.

Activity aşağıdaki durumlarda başlamaz:

  • Bu API'ye çağrı yapan Uygulama arka planda.
  • İletilen sdkActivityToken, Activity isteğiyle eşleşmiyor oluşturan SDK'yı kullanabilirsiniz.
  • İletilen sdkActivityToken öğesini paylaşan SDK, bu Activity.
  • Activity korumalı alanı zaten oluşturuldu.

Parametreler
fromActivity Activity: Activity, Activity#startActivity(Intent) çağrısı yaparak yeni korumalı alanı Activity başlatmak için kullanılır. Bu değer null olamaz.

sdkActivityToken IBinder: SDK tarafından paylaşılan ve Activity için istekte bulunan tanımlayıcı. Bu değer null olamaz.

kaldırmaSdk

API düzeyi 34'e eklendi
Ayrıca Ad Services Extensions 4'e de eklendi
public void unloadSdk (String sdkName)

Arayan tarafından daha önce yüklenmiş bir SDK'yı kaldırır.

Bu SDK için ayrılan belleğin hemen serbest bırakılacağı garanti edilmez. Tümü requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) için sonraki çağrılar için sdkName başarısız olur.

Bu API yalnızca arayan ön planda çalışırken çağrılabilir. Gelen aramalar: arka plan bir SecurityException atılır.

Parametreler
sdkName String: Kaldırılacak SDK'nın adı. Bu değer null olamaz.

unregisterAppSahipSdkSandboxInterface

public void unregisterAppOwnedSdkSandboxInterface (String name)

Bir uygulama işlemi için ERROR(/AppOwnedSdkSandboxInterfaces) hesabının kaydını iptal eder.

Parametreler
name String: AppSahipSdkSandboxInterface'in kayıtlı olduğu ad. Bu değer null olamaz.