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

Bu sınıf kullanımdan kaldırılmıştır.

System.loadLibrary, minSDK <= 23'te güvenilir değildi ve bu yöntem, alternatif ve daha güvenilir yükleyiciler sağlamak için kullanılıyordu.

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ç olmak üzere 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 yapıcılar

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ı ayarlar.

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ına ait çeşitli katmanlarda 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 çapaları için genel 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 ayarlar.

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

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

System.loadLibrary, minSDK <= 23'te güvenilir değildi ve bu yöntem, alternatif ve daha güvenilir yükleyiciler sağlamak için kullanılıyordu.

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 şey yapmaz.

CronetEngine.Builder
setUserAgent(String userAgent)

Tüm istekler için User-Agent ü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 kişisine iletildi.

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'ye 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ç olmak üzere disk üzerindeki önbelleği etkinleştirmek için ayar. Bu sabit enableHttpCache'ye 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 kişisine iletildi.

Korunan alanlar

mParsedExperimentalOptions

protected JSONObject mParsedExperimentalOptions

Deneysel seçeneklerin JSON gösterimi.

Herkese açık yapıcılar

Derleyici

public Builder(Context context)

CronetEngine oluşturmayı kolaylaştıran bir Builder 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 ömrünün gereksiz yere uzatılmaması 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ı ( pinsSha256) sabitleyerek hostName ile iletişimin, sabitlenmiş anahtarlar kümesinden bir ortak anahtar içeren sertifikayla kimlik doğrulaması yapması gerekir. Uygulamalar, kök sertifikanın, ara sertifikaların veya son giriş sertifikasının ortak anahtarını sabitleyebilir. Ana makine, cihazın güvenilir sertifika deposu tarafından izin verilen bir sertifikayla kimlik doğrulamaya çalışsa bile, ana makinenin sertifika zincirinde ortak anahtarlardan hiçbiri 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 ayarlanan 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 pin, ana makinenin X.509 sertifikasının Subject Public Key Info (SPKI) öğesinin DER kodlamalı 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 varlığını zorunlu kılmasa da yedek PIN sağlamanız önemle tavsiye edilir.

boolean includeSubdomains

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

Date expirationDate

Pinlerin 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ı ayarlar. Etkinleştirilirse Brotli, Accept-Encoding istek başlıklarında 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 simgesini 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

HTTP/2'yi 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

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ına ait çeşitli katmanlarda 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. Tahminci 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 çapaları için genel anahtar sabitleme atlamasını etkinleştirir veya devre dışı bırakır. Yerel güven bağlantıları için atlamanın devre dışı bırakılması, uygulamanın sabitlenmiş ana makinelerle iletişim kurmasını engelleyebileceğinden 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

Geçişi 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 ayarlar. 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'yi 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ılmalıdır.

İ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'yi farklı şekillerde etkiler. Daha fazla bilgi 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 Auto-Discovery Protocol) 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. Varsa yerel ve/veya internet bağlantısı elde etmek için genellikle sistem proxy yapılandırmasına uymak gerekir. CronetEngine, sistem proxy yapılandırmasını dahili olarak zaten işler.

Bu API aracılığıyla tanımlanan proxy yapılandırması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 ile yapılandırılmadığı sürece kullanıcılar internet erişimi olmadan kalabilir. ProxyOptions belgelerine bakın.

Parametreler
@NonNull ProxyOptions proxyOptions

Bu oluşturucu tarafından oluşturulan UrlRequest, BiridirectionalStream ve 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ı makaleleri 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 User-Agent ü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