CronetEngine.Builder

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

const Int

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

const Int

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

const Int

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

const Int

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

Herkese açık oluşturucular

Builder(context: Context!)

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

Herkese açık işlevler

CronetEngine.Builder!
addPublicKeyPins(
    hostName: String!,
    pinsSha256: (Mutable)Set<ByteArray!>!,
    includeSubdomains: Boolean,
    expirationDate: Date!
)

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

CronetEngine.Builder!
addQuicHint(host: String!, port: Int, alternatePort: Int)

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

CronetEngine!

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

CronetEngine.Builder!

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

CronetEngine.Builder!

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

CronetEngine.Builder!
enableHttpCache(cacheMode: Int, maxSize: Long)

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!

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!

Bu işlev kullanımdan kaldırılmıştır.

Cronet'in modern sürümlerinde bu yöntem hiçbir şey yapmaz.

CronetEngine.Builder!
setUserAgent(userAgent: String!)

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

Korunan özellikler

JSONObject!

Deneysel seçeneklerin JSON gösterimi.

Sabitler

HTTP_CACHE_DISABLED

const val HTTP_CACHE_DISABLED = 0: Int

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

const val HTTP_CACHE_DISK = 3: Int

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

const val HTTP_CACHE_DISK_NO_HTTP = 2: Int

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

const val HTTP_CACHE_IN_MEMORY = 1: Int

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

Herkese açık oluşturucular

Derleyici

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 işlevler

addPublicKeyPins

fun addPublicKeyPins(
    hostName: String!,
    pinsSha256: (Mutable)Set<ByteArray!>!,
    includeSubdomains: Boolean,
    expirationDate: Date!
): CronetEngine.Builder!

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
hostName: String!

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

pinsSha256: (Mutable)Set<ByteArray!>!

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.

includeSubdomains: Boolean

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

expirationDate: Date!

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

fun addQuicHint(host: String!, port: Int, alternatePort: Int): CronetEngine.Builder!

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
host: String!

QUIC'i destekleyen sunucunun ana makine adı.

port: Int

QUIC'i destekleyen sunucunun ana makinesi.

alternatePort: Int

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

İadeler
CronetEngine.Builder!

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

yapı

fun build(): CronetEngine!

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

İadeler
CronetEngine!

CronetEngine yılında inşa edildi.

enableBrotli

fun enableBrotli(value: Boolean): CronetEngine.Builder!

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
value: Boolean

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

fun enableHttp2(value: Boolean): CronetEngine.Builder!

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

Parametreler
value: Boolean

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

fun enableHttpCache(cacheMode: Int, maxSize: Long): CronetEngine.Builder!

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

Parametreler
cacheMode: Int

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

maxSize: Long

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

fun enableNetworkQualityEstimator(value: Boolean): 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. 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
value: Boolean

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

fun enablePublicKeyPinningBypassForLocalTrustAnchors(value: Boolean): CronetEngine.Builder!

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
value: Boolean

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

fun enableQuic(value: Boolean): CronetEngine.Builder!

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
value: Boolean

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

fun getDefaultUserAgent(): 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.

İadeler
String!

Kullanıcı aracısı dizesi.

setConnectionMigrationOptions

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

setConnectionMigrationOptions

@ConnectionMigrationOptions.Experimental
fun setConnectionMigrationOptions(
    connectionMigrationOptions: ConnectionMigrationOptions!
): CronetEngine.Builder!

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
fun setDnsOptions(dnsOptions: DnsOptions!): CronetEngine.Builder!

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
fun setDnsOptions(dnsOptions: DnsOptions.Builder!): CronetEngine.Builder!
Aşağıdaki kaynakları da incelemenizi öneririz:
setDnsOptions

setLibraryLoader

fun setLibraryLoader(loader: CronetEngine.Builder.LibraryLoader!): CronetEngine.Builder!

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

Parametreler
loader: CronetEngine.Builder.LibraryLoader!

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

İadeler
CronetEngine.Builder!

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

setProxyOptions

fun setProxyOptions(proxyOptions: ProxyOptions): CronetEngine.Builder!

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
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
fun setQuicOptions(quicOptionsBuilder: QuicOptions.Builder!): CronetEngine.Builder!
Aşağıdaki kaynakları da incelemenizi öneririz:
setQuicOptions

setQuicOptions

@QuicOptions.Experimental
fun setQuicOptions(quicOptions: QuicOptions!): CronetEngine.Builder!

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

fun setStoragePath(value: String!): CronetEngine.Builder!

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
value: String!

Mevcut dizinin yolu.

İadeler
CronetEngine.Builder!

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

setThreadPriority

fun setThreadPriority(priority: Int): CronetEngine.Builder!

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

Parametreler
priority: Int

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

fun setUserAgent(userAgent: String!): CronetEngine.Builder!

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
userAgent: String!

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

İadeler
CronetEngine.Builder!

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

Korunan özellikler

mParsedExperimentalOptions

protected val mParsedExperimentalOptionsJSONObject!

Deneysel seçeneklerin JSON gösterimi.