CronetEngine.Builder

public class CronetEngine.Builder


CronetEngine için bir oluşturucu. Bu oluşturucu, CronetEngine'nin çalışma zamanı yapılandırmasına olanak tanır. Yapılandırma seçenekleri oluşturucuda ayarlanır ve ardından build, CronetEngine oluşturmak için çağrılır.

Özet

İç içe yerleştirilmiş türler

Cronet yerel kitaplığını yüklemek için bir yöntem sağlayan sınıf.

Sabitler

static final int

HTTP önbelleğini devre dışı bırakma ayarı.

static final int

HTTP verileri de dahil olmak üzere disk üzerindeki önbelleği etkinleştirmek için ayar.

static final int

HTTP verileri hariç, disk üzerindeki önbelleği etkinleştirmek için ayar.

static final int

HTTP verileri de dahil olmak üzere bellek içi HTTP önbelleğini etkinleştirmek için ayar.

Korunan alanlar

JSONObject

Deneysel seçeneklerin JSON gösterimi.

Herkese açık oluşturucular

Builder(Context context)

Builder oluşturmayı kolaylaştıran bir CronetEngine nesnesi oluşturur.

Herkese açık yöntemler

CronetEngine.Builder
addPublicKeyPins(
    String hostName,
    Set<byte[]> pinsSha256,
    boolean includeSubdomains,
    Date expirationDate
)

Belirli bir ana makine için bir dizi ortak anahtarı sabitler.

CronetEngine.Builder
addQuicHint(String host, int port, int alternatePort)

host'nın QUIC'i desteklediğine dair ipucu eklendi.

CronetEngine

Bu oluşturucunun yapılandırmasını kullanarak CronetEngine oluşturun.

CronetEngine.Builder
enableBrotli(boolean value)

Brotli sıkıştırmanın etkin olup olmadığını belirler.

CronetEngine.Builder
enableHttp2(boolean value)

HTTP/2 protokolünün etkinleştirilip etkinleştirilmeyeceğini ayarlar.

CronetEngine.Builder
enableHttpCache(int cacheMode, long maxSize)

HTTP verilerinin ve QUIC sunucu bilgileri gibi diğer bilgilerin önbelleğe alınmasını etkinleştirir veya devre dışı bırakır.

CronetEngine.Builder

Ağ yığını katmanlarının çeşitli yerlerinde gidiş dönüş süresi (RTT) ve aşağı yönlü işleme hızı ölçümlerini toplayıp raporlayan ağ kalitesi tahmincisini etkinleştirir.

CronetEngine.Builder

Yerel güven bağlantıları için ortak anahtar sabitleme atlamasını etkinleştirir veya devre dışı bırakır.

CronetEngine.Builder
enableQuic(boolean value)

QUIC protokolünün etkinleştirilip etkinleştirilmeyeceğini belirler.

String

Uygulama adı ve sürümü, sistem derleme sürümü, model ve kimlik ile Cronet sürümünü içeren bir User-Agent dizesi oluşturur.

CronetEngine.Builder
CronetEngine.Builder

Bağlantı taşıma davranışını yapılandırır.

CronetEngine.Builder

Ana makine adı aramasının davranışını yapılandırır.

CronetEngine.Builder
CronetEngine.Builder

Yerel kitaplığı yüklemek için kullanılacak bir LibraryLoader ayarlar.

CronetEngine.Builder

Proxy davranışını yapılandırır.

CronetEngine.Builder
CronetEngine.Builder

QUIC kullanılırken Cronet'in davranışını yapılandırır.

CronetEngine.Builder

HTTP önbelleği ve çerez depolama alanı için dizini ayarlar.

CronetEngine.Builder
setThreadPriority(int priority)

Bu yöntem kullanımdan kaldırılmıştır.

Cronet'in modern sürümlerinde bu yöntem hiçbir işe yaramaz.

CronetEngine.Builder
setUserAgent(String userAgent)

Tüm istekler için kullanıcı aracısı üstbilgisini geçersiz kılar.

Sabitler

HTTP_CACHE_DISABLED

public static final int HTTP_CACHE_DISABLED = 0

HTTP önbelleğini devre dışı bırakma ayarı. Bazı veriler geçici olarak bellekte saklanmaya devam edebilir. enableHttpCache adlı hesaba aktarıldı.

HTTP_CACHE_DISK

public static final int HTTP_CACHE_DISK = 3

HTTP verileri de dahil olmak üzere disk üzerindeki önbelleği etkinleştirmek için ayar. Bu sabit enableHttpCache öğesine aktarılmadan önce setStoragePath çağrılmalıdır.

HTTP_CACHE_DISK_NO_HTTP

public static final int HTTP_CACHE_DISK_NO_HTTP = 2

HTTP verileri hariç, disk üzerindeki önbelleği etkinleştirmek için ayar. Bu sabit enableHttpCache öğesine aktarılmadan önce setStoragePath çağrılmalıdır.

HTTP_CACHE_IN_MEMORY

public static final int HTTP_CACHE_IN_MEMORY = 1

HTTP verileri de dahil olmak üzere bellek içi HTTP önbelleğini etkinleştirmek için ayar. enableHttpCache adlı hesaba aktarıldı.

Korunan alanlar

mParsedExperimentalOptions

protected JSONObject mParsedExperimentalOptions

Deneysel seçeneklerin JSON gösterimi.

Herkese açık oluşturucular

Derleyici

public Builder(Context context)

Builder oluşturmayı kolaylaştıran bir CronetEngine nesnesi oluşturur. Varsayılan yapılandırma, HTTP/2 ve QUIC'i etkinleştirir ancak HTTP önbelleğini devre dışı bırakır.

Parametreler
Context context

Uygulama bağlamını almak için Builder tarafından kullanılan Android Context. context'nın kullanım ömrünü gereksiz yere uzatmamak için yalnızca uygulama bağlamına yapılan bir referans tutulur.

Herkese açık yöntemler

addPublicKeyPins

public CronetEngine.Builder addPublicKeyPins(
    String hostName,
    Set<byte[]> pinsSha256,
    boolean includeSubdomains,
    Date expirationDate
)

Belirli bir ana makine için bir dizi ortak anahtarı sabitler. Bir dizi ortak anahtarı sabitleyerek ( pinsSha256), hostName ile iletişim kurmak için sabitlenmiş anahtarlar grubundan bir ortak anahtar içeren sertifikayla kimlik doğrulaması yapılması gerekir. Bir uygulama, kök sertifikanın, ara sertifikaların veya son giriş sertifikasının ortak anahtarını sabitleyebilir. Ana makine, cihazın güvenilen sertifika deposu tarafından izin verilen bir sertifikayla kimlik doğrulamaya çalışsa bile, genel anahtarlardan hiçbiri ana makinenin sertifika zincirinde bulunmuyorsa kimlik doğrulama başarısız olur ve güvenli iletişim kurulmaz.

Bu yöntemin aynı ana makine adıyla birden çok kez çağrılması, ana makine için daha önce ayarlanmış sabitlemeleri geçersiz kılar.

Ortak anahtar sabitleme hakkında daha fazla bilgiyi RFC 7469'da bulabilirsiniz.

Parametreler
String hostName

Ortak anahtarların sabitlenmesi gereken ana makinenin adı. Yalnızca rakamlardan ve nokta karakterinden oluşan bir ana makine geçersiz olarak kabul edilir.

Set<byte[]> pinsSha256

bir dizi raptiye. Her sabitleme, ana makinenin X.509 sertifikasının Subject Public Key Info (SPKI) öğesinin DER kodlu ASN.1 gösteriminin SHA-256 kriptografik karmasıdır. SPKI'nin DER kodlu ASN.1 gösterimini elde etmek için Certificate.getPublicKey() ve Key.getEncoded() kullanın. Bu yöntem, birincil özel anahtarın kontrolü kaybedilirse kullanılabilecek yedek PIN'in bulunmasını zorunlu kılmasa da yedek PIN sağlamanız önemle tavsiye edilir.

boolean includeSubdomains

Sabitleme politikasının hostName alt alan adlarına uygulanıp uygulanmayacağını belirtir.

Date expirationDate

Sabitlenmiş öğelerin son kullanma tarihini belirtir.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

Verdiği hatalar
java.lang.NullPointerException

giriş parametrelerinden herhangi biri null ise.

java.lang.IllegalArgumentException

Belirtilen ana makine adı geçersizse veya pinsSha256, geçerli bir SHA-256 karmasını temsil etmeyen bir bayt dizisi içeriyorsa.

addQuicHint

public CronetEngine.Builder addQuicHint(String host, int port, int alternatePort)

host'nın QUIC'i desteklediğine dair ipucu eklendi. Oturumlar arasında 0-RTT bağlantı oluşturma özelliğinden yararlanmak için enableHttpCache (HTTP_CACHE_DISK) gerektiğini unutmayın.

Parametreler
String host

QUIC'i destekleyen sunucunun ana makine adı.

int port

QUIC'i destekleyen sunucunun ana makinesi.

int alternatePort

QUIC için kullanılacak alternatif bağlantı noktası.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

yapı

public CronetEngine build()

Bu oluşturucunun yapılandırmasını kullanarak CronetEngine oluşturun.

İadeler
CronetEngine

CronetEngine yılında inşa edildi.

enableBrotli

public CronetEngine.Builder enableBrotli(boolean value)

Brotli sıkıştırmanın etkin olup olmadığını belirler. Etkinleştirilirse Brotli, Accept-Encoding istek üstbilgilerinde reklamı yapılır. Varsayılan olarak devre dışıdır.

Parametreler
boolean value

Brotli'yi etkinleştirmek için true, devre dışı bırakmak için false seçeneğini tıklayın.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

enableHttp2

public CronetEngine.Builder enableHttp2(boolean value)

HTTP/2 protokolünün etkinleştirilip etkinleştirilmeyeceğini ayarlar. Varsayılan olarak etkindir.

Parametreler
boolean value

true HTTP/2'yi etkinleştirmek için, false devre dışı bırakmak için kullanılır.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

enableHttpCache

public CronetEngine.Builder enableHttpCache(int cacheMode, long maxSize)

HTTP verilerinin ve QUIC sunucu bilgileri gibi diğer bilgilerin önbelleğe alınmasını etkinleştirir veya devre dışı bırakır.

Parametreler
int cacheMode

önbelleğe alınan verilerin konumunu ve türünü kontrol edebilirsiniz. HTTP_CACHE_* değerlerinden biri olmalıdır.

long maxSize

Verileri önbelleğe almak için kullanılan bayt cinsinden maksimum boyut (tavsiye niteliğindedir ve zaman zaman aşılabilir).

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

enableNetworkQualityEstimator

public CronetEngine.Builder enableNetworkQualityEstimator(boolean value)

Ağ yığını katmanlarının çeşitli yerlerinde gidiş dönüş süresi (RTT) ve aşağı yönlü işleme hızı ölçümlerini toplayıp raporlayan ağ kalitesi tahmincisini etkinleştirir. Tahmin aracı etkinleştirildikten sonra, RTT ve işleme hızı dinleyicileri addRttListener ve addThroughputListener ile eklenebilir, removeRttListener ve removeThroughputListener ile kaldırılabilir. Tahmin aracı, yalnızca etkinleştirildiğinde bellek ve CPU kullanır.

Parametreler
boolean value

Ağ kalitesi tahmincisini etkinleştirmek için true, devre dışı bırakmak için false simgesine dokunun.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

enablePublicKeyPinningBypassForLocalTrustAnchors

public CronetEngine.Builder enablePublicKeyPinningBypassForLocalTrustAnchors(boolean value)

Yerel güven bağlantıları için ortak anahtar sabitleme atlamasını etkinleştirir veya devre dışı bırakır. Uygulamanın sabitlenmiş ana makinelerle iletişim kurmasını engelleyebileceğinden, yerel güven bağlantıları için atlamanın devre dışı bırakılması kesinlikle önerilmez. Örneğin, bir kullanıcı cihaz proxy ayarlarını değiştirip proxy sertifikasını yerel güven bağlantısı listesine ekleyerek tüm trafiği SSL etkin bir proxy üzerinden göndermek isteyebilir. Baypas devre dışı bırakıldığında uygulamanın, sabitlenmiş ana makinelere trafik göndermesi büyük olasılıkla engellenir. Daha fazla bilgi için https://www.chromium.org/Home/chromium-security/security-faq adresindeki "Anahtar sabitleme, yerel proxy'ler ve filtrelerle nasıl etkileşime girer?" bölümüne bakın.

Parametreler
boolean value

Baypası etkinleştirmek için true, devre dışı bırakmak için false simgesine dokunun.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

enableQuic

public CronetEngine.Builder enableQuic(boolean value)

QUIC protokolünün etkinleştirilip etkinleştirilmeyeceğini belirler. Varsayılan olarak etkindir. QUIC etkinse uygulama adını ve Cronet sürümünü içeren QUIC kullanıcı aracısı kimliği sunucuya gönderilir.

Parametreler
boolean value

QUIC'i etkinleştirmek için true, devre dışı bırakmak için false seçeneğini belirleyin.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

getDefaultUserAgent

public String getDefaultUserAgent()

Uygulama adı ve sürümü, sistem derleme sürümü, model ve kimlik ile Cronet sürümünü içeren bir User-Agent dizesi oluşturur.

İadeler
String

Kullanıcı aracısı dizesi.

setConnectionMigrationOptions

@ConnectionMigrationOptions.Experimental
public CronetEngine.Builder setConnectionMigrationOptions(
    ConnectionMigrationOptions.Builder connectionMigrationOptionsBuilder
)
Aşağıdaki kaynakları da incelemenizi öneririz:
setConnectionMigrationOptions

setConnectionMigrationOptions

@ConnectionMigrationOptions.Experimental
public CronetEngine.Builder setConnectionMigrationOptions(
    ConnectionMigrationOptions connectionMigrationOptions
)

Bağlantı taşıma davranışını yapılandırır. Daha fazla bilgi için ConnectionMigrationOptions ve ConnectionMigrationOptions.Builder'nin ayrı ayrı yöntemleriyle ilgili dokümanlara bakın.

Yalnızca enableQuic etkinleştirilmişse geçerlidir.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

setDnsOptions

@DnsOptions.Experimental
public CronetEngine.Builder setDnsOptions(DnsOptions dnsOptions)

Ana makine adı aramasının davranışını yapılandırır. Daha fazla bilgi için DnsOptions ve DnsOptions.Builder'nin ayrı ayrı yöntemleriyle ilgili dokümanlara bakın.

Yalnızca enableQuic etkinleştirilmişse geçerlidir.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

setDnsOptions

@DnsOptions.Experimental
public CronetEngine.Builder setDnsOptions(DnsOptions.Builder dnsOptions)
Aşağıdaki kaynakları da incelemenizi öneririz:
setDnsOptions

setLibraryLoader

public CronetEngine.Builder setLibraryLoader(CronetEngine.Builder.LibraryLoader loader)

Yerel kitaplığı yüklemek için kullanılacak bir LibraryLoader ayarlar. Ayarlanmazsa kitaplık loadLibrary kullanılarak yüklenir.

Parametreler
CronetEngine.Builder.LibraryLoader loader

Yerel kitaplığı yüklemek için LibraryLoader kullanılacak.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

setProxyOptions

public CronetEngine.Builder setProxyOptions(@NonNull ProxyOptions proxyOptions)

Proxy davranışını yapılandırır. Bu durum, bağlantı oluşturma, UrlRequest ve BidirectionalStream'ı farklı şekillerde etkiler. Daha fazla ayrıntı için Proxy dokümanlarına bakın.

Bu, kullanıcı, bazı kurumsal profil yapılandırmaları veya (büyük olasılıkla) bazı ağ otomatik yapılandırmaları (ör. Web Proxy Otomatik Bulma Protokolü) tarafından ayarlanan proxy yapılandırmasıyla karıştırılmamalıdır. Bu yapılandırmaya genellikle "sistem" proxy yapılandırması denir. Sistem proxy yapılandırmasına uymak, yerel ve/veya internet bağlantısı elde etmek için genellikle gereklidir. CronetEngine, sistem proxy yapılandırmasını dahili olarak zaten işler.

Bu API aracılığıyla tanımlanan proxy yapılandırmalarına "uygulama" proxy yapılandırması denir. Uygulama ve sistem proxy yapılandırması ayrıdır ve en önemlisi farklıdır. Şu anda uygulama ve sistem proxy yapılandırmaları birbirini dışlar: ProxyOptions belirtildiğinde, varsa sistem proxy yapılandırması geçersiz kılınır. Bu durum, sistem proxy yapılandırmasının bulunduğu bazı senaryolarda bağlantı sorunlarına neden olabilir. Bu gibi senaryolarda, ProxyOptions son bir null yedeklemeyle yapılandırılmadığı sürece kullanıcılar internet erişimi olmadan kalabilir. ProxyOptions belgelerine bakın.

Parametreler
@NonNull ProxyOptions proxyOptions

UrlRequest, BiridirectionalStream ve bu oluşturucu tarafından oluşturulan CronetEngine tarafından kurulan bağlantılar için kullanılacak ProxyOptions.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

Verdiği hatalar
java.lang.UnsupportedOperationException

Kullanılan Cronet uygulaması, ProxyOptions'ı destekleyemeyecek kadar eskiyse.

setQuicOptions

@QuicOptions.Experimental
public CronetEngine.Builder setQuicOptions(QuicOptions.Builder quicOptionsBuilder)
Aşağıdaki kaynakları da incelemenizi öneririz:
setQuicOptions

setQuicOptions

@QuicOptions.Experimental
public CronetEngine.Builder setQuicOptions(QuicOptions quicOptions)

QUIC kullanılırken Cronet'in davranışını yapılandırır. Daha fazla bilgi için QuicOptions ve QuicOptions.Builder'nin ayrı ayrı yöntemleriyle ilgili dokümanlara bakın.

Yalnızca enableQuic etkinleştirilmişse geçerlidir.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

setStoragePath

public CronetEngine.Builder setStoragePath(String value)

HTTP önbelleği ve çerez depolama alanı için dizini ayarlar. Dizin mevcut olmalıdır.

NOT: Aynı depolama dizinini aynı anda birden fazla CronetEngine ile kullanmayın. Depolama dizinine erişim, birden fazla CronetEngine tarafından eşzamanlı erişimi desteklemez.

Parametreler
String value

Mevcut dizinin yolu.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

setThreadPriority

public CronetEngine.Builder setThreadPriority(int priority)

Cronet'in dahili iş parçacığının iş parçacığı önceliğini ayarlar.

Parametreler
int priority

Cronet'in dahili iş parçacığının iş parçacığı önceliği. En yüksek planlama önceliği için -20'den en düşük planlama önceliği için 19'a kadar olan bir Linux öncelik düzeyi. Değerler hakkında daha fazla bilgi için setThreadPriority ve THREAD_PRIORITY_* değerleri başlıklı makaleyi inceleyin.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

setUserAgent

public CronetEngine.Builder setUserAgent(String userAgent)

Tüm istekler için kullanıcı aracısı üstbilgisini geçersiz kılar. Açıkça ayarlanmış bir User-Agent başlığı (addHeader kullanılarak ayarlanır) bu işlev kullanılarak ayarlanan bir değeri geçersiz kılar.

Parametreler
String userAgent

Tüm isteklerde kullanılacak kullanıcı aracısı dizesi.

İadeler
CronetEngine.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu