CronetEngine.Builder

public class CronetEngine.Builder


یک سازنده برای CronetEngine s، که امکان پیکربندی زمان اجرا CronetEngine را فراهم می‌کند. گزینه‌های پیکربندی روی سازنده تنظیم می‌شوند و سپس build برای ایجاد CronetEngine فراخوانی می‌شود.

خلاصه

انواع تو در تو

public abstract class CronetEngine.Builder.LibraryLoader

کلاسی که روشی برای بارگذاری کتابخانه بومی cronet ارائه می‌دهد.

ثابت‌ها

static final int

تنظیم برای غیرفعال کردن حافظه پنهان HTTP.

static final int

تنظیم برای فعال کردن حافظه پنهان روی دیسک، از جمله داده‌های HTTP.

static final int

تنظیم برای فعال کردن حافظه پنهان روی دیسک، به استثنای داده‌های HTTP.

static final int

تنظیم برای فعال کردن حافظه پنهان HTTP در حافظه، شامل داده‌های HTTP.

مزارع حفاظت‌شده

JSONObject

نمایش JSON از گزینه‌های آزمایشی.

سازندگان عمومی

Builder ( Context context)

یک شیء Builder می‌سازد که ایجاد CronetEngine را تسهیل می‌کند.

روش‌های عمومی

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

مجموعه‌ای از کلیدهای عمومی را برای یک میزبان مشخص پین می‌کند.

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

اشاره‌ای اضافه می‌کند که host از QUIC پشتیبانی می‌کند.

CronetEngine
build ()

با استفاده از پیکربندی این سازنده، یک CronetEngine بسازید.

CronetEngine.Builder
enableBrotli (boolean value)

تنظیم می‌کند که آیا فشرده‌سازی Brotli فعال باشد یا خیر.

CronetEngine.Builder
enableHttp2 (boolean value)

فعال بودن پروتکل HTTP/2 را تنظیم می‌کند.

CronetEngine.Builder
enableHttpCache (int cacheMode, long maxSize)

ذخیره سازی موقت داده‌های HTTP و سایر اطلاعات مانند اطلاعات سرور QUIC را فعال یا غیرفعال می‌کند.

CronetEngine.Builder

تخمین‌گر کیفیت شبکه را فعال می‌کند، که اندازه‌گیری‌های زمان رفت و برگشت (RTT) و توان عملیاتی پایین‌دست را در لایه‌های مختلف پشته شبکه جمع‌آوری و گزارش می‌کند.

CronetEngine.Builder

دور زدن پین‌گذاری کلید عمومی را برای لنگرهای اعتماد محلی فعال یا غیرفعال می‌کند.

CronetEngine.Builder
enableQuic (boolean value)

تنظیم می‌کند که آیا پروتکل QUIC فعال باشد یا خیر.

String

یک رشته‌ی User-Agent شامل نام و نسخه برنامه، نسخه ساخت سیستم، مدل و شناسه و نسخه Cronet می‌سازد.

CronetEngine.Builder
CronetEngine.Builder

رفتار انتقال اتصال را پیکربندی می‌کند.

CronetEngine.Builder

رفتار جستجوی نام میزبان را پیکربندی می‌کند.

CronetEngine.Builder
CronetEngine.Builder

یک LibraryLoader برای بارگذاری کتابخانه بومی تنظیم می‌کند.

CronetEngine.Builder

رفتار پروکسی را پیکربندی می‌کند.

CronetEngine.Builder
CronetEngine.Builder

رفتار Cronet را هنگام استفاده از QUIC پیکربندی می‌کند.

CronetEngine.Builder

دایرکتوری را برای HTTP Cache و Cookie Storage تنظیم می‌کند.

CronetEngine.Builder
setThreadPriority (int priority)

این روش منسوخ شده است.

در نسخه‌های مدرن Cronet، این روش هیچ کاری انجام نمی‌دهد.

CronetEngine.Builder
setUserAgent ( String userAgent)

هدر User-Agent را برای همه درخواست‌ها لغو می‌کند.

ثابت‌ها

HTTP_CACHE_غیرفعال

public static final int HTTP_CACHE_DISABLED = 0

تنظیم برای غیرفعال کردن حافظه پنهان HTTP. برخی از داده‌ها ممکن است هنوز به طور موقت در حافظه ذخیره شوند. به enableHttpCache ارسال می‌شود.

HTTP_CACHE_DISK

public static final int HTTP_CACHE_DISK = 3

تنظیم برای فعال کردن حافظه پنهان روی دیسک، شامل داده‌های HTTP. setStoragePath باید قبل از ارسال این ثابت به enableHttpCache فراخوانی شود.

HTTP_CACHE_DISK_NO_HTTP

public static final int HTTP_CACHE_DISK_NO_HTTP = 2

تنظیم برای فعال کردن حافظه پنهان روی دیسک، به استثنای داده‌های HTTP. setStoragePath باید قبل از ارسال این ثابت به enableHttpCache فراخوانی شود.

HTTP_CACHE_IN_MEMORY

public static final int HTTP_CACHE_IN_MEMORY = 1

تنظیم برای فعال کردن حافظه پنهان HTTP در حافظه، شامل داده‌های HTTP. به enableHttpCache ارسال شد.

مزارع حفاظت‌شده

گزینه‌های آزمایشی mParsed

protected JSONObject mParsedExperimentalOptions

نمایش JSON از گزینه‌های آزمایشی.

سازندگان عمومی

سازنده

public Builder(Context context)

یک شیء Builder می‌سازد که ایجاد CronetEngine را تسهیل می‌کند. پیکربندی پیش‌فرض HTTP/2 و QUIC را فعال می‌کند، اما حافظه پنهان HTTP را غیرفعال می‌کند.

پارامترها
Context context

Android Context ، که توسط Builder برای بازیابی context برنامه استفاده می‌شود. فقط یک ارجاع به context برنامه نگه داشته می‌شود تا از افزایش غیرضروری طول عمر context جلوگیری شود.

روش‌های عمومی

اضافه کردن پین‌های کلید عمومی

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

مجموعه‌ای از کلیدهای عمومی را برای یک میزبان مشخص پین می‌کند. با پین کردن مجموعه‌ای از کلیدهای عمومی، pinsSha256 ، ارتباط با hostName برای احراز هویت با یک گواهی با کلید عمومی از مجموعه کلیدهای پین شده مورد نیاز است. یک برنامه می‌تواند کلید عمومی گواهی ریشه، هر یک از گواهی‌های میانی یا گواهی ورود نهایی را پین کند. اگر هیچ یک از کلیدهای عمومی در زنجیره گواهی میزبان وجود نداشته باشد، حتی اگر میزبان سعی کند با گواهی مجاز توسط مخزن گواهی‌های مورد اعتماد دستگاه، احراز هویت کند، احراز هویت با شکست مواجه می‌شود و ارتباط امن برقرار نخواهد شد.

فراخوانی این متد چندین بار با نام میزبان یکسان، پین‌های تنظیم‌شده‌ی قبلی برای میزبان را لغو می‌کند.

اطلاعات بیشتر در مورد پین کردن کلید عمومی را می‌توانید در RFC 7469 بیابید.

پارامترها
String hostName

نام میزبانی که کلیدهای عمومی باید به آن پین شوند. میزبانی که فقط از اعداد و کاراکتر نقطه تشکیل شده باشد، نامعتبر تلقی می‌شود.

Set <byte[]> pinsSha256

مجموعه‌ای از پین‌ها. هر پین، هش رمزنگاری SHA-256 از نمایش ASN.1 کدگذاری شده توسط DER از اطلاعات کلید عمومی موضوع (SPKI) گواهی X.509 میزبان است. Certificate.getPublicKey() و Key.getEncoded() برای دریافت نمایش ASN.1 کدگذاری شده توسط DER از SPKI استفاده کنید. اگرچه، این روش وجود پین پشتیبان را که در صورت از دست رفتن کنترل کلید خصوصی اصلی قابل استفاده است، الزامی نمی‌کند، اما اکیداً توصیه می‌شود که یکی از آنها را ارائه دهید.

boolean includeSubdomains

نشان می‌دهد که آیا سیاست پین کردن باید روی زیردامنه‌های hostName اعمال شود یا خیر.

Date expirationDate

تاریخ انقضای پین‌ها را مشخص می‌کند.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

پرتاب‌ها
java.lang.NullPointerException

اگر هر یک از پارامترهای ورودی null باشند.

java.lang.IllegalArgumentException

اگر نام میزبان داده شده نامعتبر باشد یا pinsSha256 شامل یک آرایه بایت باشد که یک هش معتبر SHA-256 را نشان نمی‌دهد.

addQuicHint

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

اشاره‌ای اضافه می‌کند که host از QUIC پشتیبانی می‌کند. توجه داشته باشید که enableHttpCache ( HTTP_CACHE_DISK ) برای استفاده از برقراری اتصال 0-RTT بین جلسات مورد نیاز است.

پارامترها
String host

نام میزبان سروری که از QUIC پشتیبانی می‌کند.

int port

میزبان سروری که از QUIC پشتیبانی می‌کند.

int alternatePort

پورت جایگزین برای استفاده از QUIC.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

ساختن

public CronetEngine build()

با استفاده از پیکربندی این سازنده، یک CronetEngine بسازید.

بازگشت‌ها
CronetEngine

CronetEngine ساخته شده است.

فعال کردنBrotli

public CronetEngine.Builder enableBrotli(boolean value)

تنظیم می‌کند که آیا فشرده‌سازی Brotli فعال باشد یا خیر. در صورت فعال بودن، Brotli در هدرهای درخواست Accept-Encoding نمایش داده می‌شود. مقدار پیش‌فرض غیرفعال است.

پارامترها
boolean value

برای فعال کردن Brotli true و برای غیرفعال کردن از false استفاده کنید.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

فعال کردنHttp2

public CronetEngine.Builder enableHttp2(boolean value)

تنظیم می‌کند که آیا پروتکل HTTP/2 فعال باشد یا خیر. مقدار پیش‌فرض فعال است.

پارامترها
boolean value

برای فعال کردن HTTP/2 true و برای غیرفعال کردن از false استفاده کنید.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

فعال کردنHttpCache

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

ذخیره سازی موقت داده‌های HTTP و سایر اطلاعات مانند اطلاعات سرور QUIC را فعال یا غیرفعال می‌کند.

پارامترها
int cacheMode

مکان و نوع داده‌های ذخیره‌شده را کنترل می‌کند. باید یکی از HTTP_CACHE_* باشد.

long maxSize

حداکثر اندازه (به بایت) مورد استفاده برای ذخیره داده‌ها در حافظه پنهان (توصیه می‌شود و ممکن است گاهی اوقات از حد مجاز فراتر رود).

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

enableNetworkQualityEstimator

public CronetEngine.Builder enableNetworkQualityEstimator(boolean value)

تخمین‌گر کیفیت شبکه را فعال می‌کند، که اندازه‌گیری‌های زمان رفت و برگشت (RTT) و توان عملیاتی پایین‌دست را در لایه‌های مختلف پشته شبکه جمع‌آوری و گزارش می‌کند. پس از فعال کردن تخمین‌گر، می‌توان شنونده‌های RTT و توان عملیاتی را با addRttListener و addThroughputListener اضافه و با removeRttListener و removeThroughputListener حذف کرد. تخمین‌گر فقط در صورت فعال بودن از حافظه و CPU استفاده می‌کند.

پارامترها
boolean value

برای فعال کردن تخمین‌گر کیفیت شبکه، true و برای غیرفعال کردن، false را وارد کنید.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

enablePublicKeyPinningBypassForLocalTrustAnchors

public CronetEngine.Builder enablePublicKeyPinningBypassForLocalTrustAnchors(boolean value)

فعال یا غیرفعال کردن بای‌پس پین‌گذاری کلید عمومی برای لنگرهای اعتماد محلی. غیرفعال کردن بای‌پس برای لنگرهای اعتماد محلی به شدت توصیه نمی‌شود زیرا ممکن است مانع از ارتباط برنامه با میزبان‌های پین‌شده شود. به عنوان مثال، ممکن است کاربر بخواهد با تغییر تنظیمات پروکسی دستگاه و افزودن گواهی پروکسی به لیست لنگر اعتماد محلی، تمام ترافیک را از طریق یک پروکسی فعال SSL ارسال کند. غیرفعال کردن بای‌پس به احتمال زیاد مانع از ارسال هرگونه ترافیک توسط برنامه به میزبان‌های پین‌شده می‌شود. برای اطلاعات بیشتر به بخش «پین‌گذاری کلید چگونه با پروکسی‌ها و فیلترهای محلی تعامل دارد؟» در https://www.chromium.org/Home/chromium-security/security-faq مراجعه کنید.

پارامترها
boolean value

برای فعال کردن بای‌پس، true و برای غیرفعال کردن، false را وارد کنید.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

فعال کردن

public CronetEngine.Builder enableQuic(boolean value)

فعال بودن پروتکل QUIC را تنظیم می‌کند. پیش‌فرض روی فعال است. اگر QUIC فعال باشد، شناسه عامل کاربر QUIC حاوی نام برنامه و نسخه Cronet به سرور ارسال می‌شود.

پارامترها
boolean value

برای فعال کردن QUIC true و برای غیرفعال کردن از false استفاده می‌شود.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

دریافت عامل کاربر پیش‌فرض

public String getDefaultUserAgent()

یک رشته‌ی User-Agent شامل نام و نسخه برنامه، نسخه ساخت سیستم، مدل و شناسه و نسخه Cronet می‌سازد.

بازگشت‌ها
String

رشته‌ی عامل کاربر.

گزینه‌های مهاجرت اتصال را تنظیم کنید

@ConnectionMigrationOptions.Experimental
public CronetEngine.Builder setConnectionMigrationOptions(
    ConnectionMigrationOptions.Builder connectionMigrationOptionsBuilder
)
همچنین ببینید
setConnectionMigrationOptions

گزینه‌های مهاجرت اتصال را تنظیم کنید

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

رفتار انتقال اتصال را پیکربندی می‌کند. برای جزئیات بیشتر، به مستندات ConnectionMigrationOptions و متدهای مجزای ConnectionMigrationOptions.Builder مراجعه کنید.

فقط در صورتی مرتبط است که enableQuic فعال باشد.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

تنظیمات DNS

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

رفتار جستجوی نام میزبان را پیکربندی می‌کند. برای جزئیات بیشتر، به مستندات DnsOptions و متدهای جداگانه‌ی DnsOptions.Builder مراجعه کنید.

فقط در صورتی مرتبط است که enableQuic فعال باشد.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

تنظیمات DNS

@DnsOptions.Experimental
public CronetEngine.Builder setDnsOptions(DnsOptions.Builder dnsOptions)
همچنین ببینید
setDnsOptions

setLibraryLoader

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

یک LibraryLoader برای بارگذاری کتابخانه بومی تنظیم می‌کند. اگر تنظیم نشود، کتابخانه با استفاده از loadLibrary بارگذاری خواهد شد.

پارامترها
CronetEngine.Builder.LibraryLoader loader

LibraryLoader برای بارگذاری کتابخانه بومی استفاده می‌شود.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

تنظیمات پروکسی

public CronetEngine.Builder setProxyOptions(@NonNull ProxyOptions proxyOptions)

رفتار پروکسی را پیکربندی می‌کند. این به روش‌های مختلفی تأثیر می‌گذارد: برقراری اتصالات، UrlRequest و BidirectionalStream ). برای جزئیات بیشتر، به مستندات Proxy مراجعه کنید.

این را نباید با پیکربندی پروکسی که توسط کاربر تنظیم شده است؛ یا برخی پیکربندی‌های پروفایل سازمانی، یا (به احتمال زیاد) برخی پیکربندی‌های خودکار شبکه (مثلاً پروتکل کشف خودکار پروکسی وب) اشتباه گرفت. این معمولاً به عنوان پیکربندی پروکسی "سیستم" شناخته می‌شود. در صورت وجود، رعایت پیکربندی پروکسی سیستم اغلب برای دستیابی به اتصال محلی و/یا اینترنتی الزامی است. CronetEngine از قبل پیکربندی پروکسی سیستم را به صورت داخلی مدیریت می‌کند.

پیکربندی پروکسی تعریف‌شده از طریق این API، پیکربندی پروکسی "برنامه" نامیده می‌شود. پیکربندی پروکسی برنامه و سیستم از هم جدا هستند و مهم‌تر از همه، با هم متفاوتند. در حال حاضر، پیکربندی‌های پروکسی برنامه و سیستم کاملاً منحصر به فرد هستند: تعیین ProxyOptions پیکربندی پروکسی سیستم را در صورت وجود، لغو می‌کند. این ممکن است در برخی سناریوها که پیکربندی پروکسی سیستم وجود دارد، باعث مشکلات اتصال شود. در چنین سناریوهایی، ممکن است کاربران به اینترنت دسترسی نداشته باشند، مگر اینکه ProxyOptions با یک جایگزین نهایی، null ، پیکربندی شده باشد. به مستندات ProxyOptions مراجعه کنید.

پارامترها
@ NonNull ProxyOptions proxyOptions

ProxyOptions برای UrlRequest ، BiridirectionalStream و اتصالات ایجاد شده توسط CronetEngine ایجاد شده توسط این سازنده استفاده می‌شود.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

پرتاب‌ها
java.lang.UnsupportedOperationException

اگر پیاده‌سازی Cronet مورد استفاده برای پشتیبانی از ProxyOptions خیلی قدیمی باشد.

تنظیمات کوئیک

@QuicOptions.Experimental
public CronetEngine.Builder setQuicOptions(QuicOptions.Builder quicOptionsBuilder)
همچنین ببینید
setQuicOptions

تنظیمات کوئیک

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

رفتار Cronet را هنگام استفاده از QUIC پیکربندی می‌کند. برای جزئیات بیشتر، به مستندات QuicOptions و متدهای جداگانه‌ی QuicOptions.Builder مراجعه کنید.

فقط در صورتی مرتبط است که enableQuic فعال باشد.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

تنظیم مسیر ذخیره‌سازی

public CronetEngine.Builder setStoragePath(String value)

دایرکتوری را برای HTTP Cache و Cookie Storage تنظیم می‌کند. این دایرکتوری باید وجود داشته باشد.

نکته: از یک دایرکتوری ذخیره‌سازی با بیش از یک CronetEngine به طور همزمان استفاده نکنید. دسترسی به دایرکتوری ذخیره‌سازی از دسترسی همزمان توسط چندین CronetEngine پشتیبانی نمی‌کند.

پارامترها
String value

مسیر به دایرکتوری موجود.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

اولویت نخ را تنظیم کنید

public CronetEngine.Builder setThreadPriority(int priority)

اولویت نخ داخلی Cronet را تنظیم می‌کند.

پارامترها
int priority

اولویت نخ نخ داخلی Cronet. یک سطح اولویت لینوکس، از -20 برای بالاترین اولویت زمان‌بندی تا 19 برای پایین‌ترین اولویت زمان‌بندی. برای اطلاعات بیشتر در مورد مقادیر، به مقادیر setThreadPriority و THREAD_PRIORITY_* مراجعه کنید.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.

تنظیم عامل کاربر

public CronetEngine.Builder setUserAgent(String userAgent)

هدر User-Agent را برای همه درخواست‌ها لغو می‌کند. یک هدر User-Agent که به طور صریح تنظیم شده باشد (با استفاده از addHeader تنظیم می‌شود) با استفاده از این تابع، مقداری را که تنظیم شده است، لغو می‌کند.

پارامترها
String userAgent

رشته‌ی User-Agent برای استفاده در تمام درخواست‌ها.

بازگشت‌ها
CronetEngine.Builder

سازنده برای تسهیل زنجیره‌سازی.