Open Play SDK API başvurusu
    Preparing search index...

    Interface RealtimeClientOptions

    Realtime client kurulumu.

    interface RealtimeClientOptions {
        authTimeoutMs?: number;
        autoReconnect?: boolean;
        baseUrl: string;
        clock?: RealtimeClock;
        commandTimeoutMs?: number;
        csrfExchange?: RealtimeCsrfExchange;
        environmentId: string | EnvironmentId;
        fetch?: {
            (input: URL | RequestInfo, init?: RequestInit): Promise<Response>;
            (input: string | URL | Request, init?: RequestInit): Promise<Response>;
        };
        getCsrfToken?: () => Promise<string | undefined>;
        getSession: () => RealtimeSession | null;
        heartbeatMs?: number;
        maxFrameBytes?: number;
        maxPendingInputs?: number;
        maxReconnectAttempts?: number;
        maxSubscriptions?: number;
        onAuthFailure?: () => void;
        onCsrfToken?: (token: string) => void;
        onIdleClose?: (info: RealtimeCloseInfo) => void;
        random?: () => number;
        reconnectBaseMs?: number;
        refreshCsrfToken?: () => Promise<string | undefined>;
        webSocket?: RealtimeWebSocketFactory;
        webSocketFactory?: RealtimeWebSocketFactory;
    }
    Index

    Properties

    authTimeoutMs?: number

    Auth deadline; backend 5 saniye üst sınırına göre default 5 saniye.

    autoReconnect?: boolean

    İlk bağlantı sonrası network recovery açılsın mı?

    baseUrl: string

    HTTPS API kökü; WS URL'i bunun path'ine eklenir.

    Timer/random test injection.

    commandTimeoutMs?: number

    Durable realtime command deadline; cevap kaybında unknown outcome üretir.

    csrfExchange?: RealtimeCsrfExchange

    Ticket isteğini çağıranın CSRF mutation şeridinde çalıştıran kanca (SPEC-0370); verilirse getCsrfToken/refreshCsrfToken/onCsrfToken yerine kullanılır. PlayerClient bunu kendisi bağlar.

    environmentId: string | EnvironmentId

    Sabit environment header değeri.

    fetch?: {
        (input: URL | RequestInfo, init?: RequestInit): Promise<Response>;
        (input: string | URL | Request, init?: RequestInit): Promise<Response>;
    }

    Ticket HTTP isteği için Fetch injection.

    Type Declaration

      • (input: URL | RequestInfo, init?: RequestInit): Promise<Response>
      • Parameters

        • input: URL | RequestInfo
        • Optionalinit: RequestInit

        Returns Promise<Response>

      • (input: string | URL | Request, init?: RequestInit): Promise<Response>
      • Parameters

        • input: string | URL | Request
        • Optionalinit: RequestInit

        Returns Promise<Response>

    getCsrfToken?: () => Promise<string | undefined>

    Ticket endpoint CSRF istiyorsa güncel token'ı sağlar (bağımsız kullanım; kilit yoktur). csrfExchange verilirse kullanılmaz.

    getSession: () => RealtimeSession | null

    Güncel authenticated scope'u döndürür; null ise connect reddedilir.

    heartbeatMs?: number

    Heartbeat aralığı; default 15 saniye.

    maxFrameBytes?: number

    Client frame bütçesi; host'un 16 KiB sınırından genişleyemez.

    maxPendingInputs?: number

    Subscription başına ACK beklemeden uçuşta tutulabilecek strict input sayısı (pipelining penceresi).

    Tamsayı 1..8, varsayılan 4 (Open Play SPEC-0146 D1: 150 ms RTT'de 20 Hz için en az 3, jitter payıyla 4). Etkin derinlik min(maxPendingInputs, descriptor.burst ?? maxPendingInputs)'tur. Pencere doluysa input.send sıra numarası harcamadan Backpressure ile reddeder; soket tamponu dolu Backpressure, frame boyutu Contract ve soket gönderim hatası da sırayı ve bucket token'ını geri verir. 1, eski "ACK gelmeden ikinci input yok" davranışıdır. Aralık dışı veya tamsayı olmayan değer Configuration hatasıdır.

    maxReconnectAttempts?: number

    Backoff denemesi üst sınırı; sonsuz timer zinciri yoktur.

    maxSubscriptions?: number

    Pending subscriptions için açık kapasite.

    onAuthFailure?: () => void

    Host auth rejection'ı session façade'ına bildirir.

    onCsrfToken?: (token: string) => void

    HTTP response'tan dönen rotate edilmiş CSRF token'ı geri verir; csrfExchange verilirse kullanılmaz.

    onIdleClose?: (info: RealtimeCloseInfo) => void

    Sunucu soketi AFK (boşta) kesmesiyle kapattığında bir kez çağrılır (SPEC-0181 K9): 4100 / idle_timeout. İstemci idleClosed durumuna geçer ve OTOMATİK yeniden bağlanmaz; uygulama "Devam et" gösterip kullanıcı onayında connect() çağırır (abonelikler cursor'larıyla kurtarılır). Hata fırlatan geri çağrı yutulur. Durum yoklayan uygulama state.status === "idleClosed" ve lastClose (isIdleClose) ile aynı bilgiyi okur.

    Park durumu bu geri çağrıya bağlıdır (opt-in, SPEC-0181 inceleme F3): geri çağrı VERİLMEZSE 4100 kapanışı sıradan bir soket düşmesi gibi işlenir (backoff, SDK kendisi yeniden bağlanır; lastClose yine kaydedilir). Terminal durumu ele almayan bir tüketici sürüm yükseltince sessizce takılı kalmasın diye böyledir; yalnız durumu yoklayan uygulama da boş bir işlev verebilir.

    random?: () => number

    Jitter için [0,1) random kaynağı.

    reconnectBaseMs?: number

    Yeniden bağlanma merdiveninin ilk gecikmesi (ms); n. deneme min(reconnectBaseMs · 2^(n−1), 30 000) + [0, base) jitter. Varsayılan 1000 (eski davranış). 100..10 000; dışı Configuration. Oyunlar (20 Hz street) ilk denemeyi 250 ms'e çeker: tek soket düşmesi 1–2 s yerine ~0,3 s, üç deneme 7–14 s yerine ~2–4 s sürer (SPEC-0373).

    refreshCsrfToken?: () => Promise<string | undefined>

    Bağımsız kullanımda ticket 403'ü sonrası stale grant'i yeniler; aynı ticket isteği yalnız bir kez tekrar edilir (SPEC-0362, kilitsiz). csrfExchange verilirse kullanılmaz.

    Native/fake WebSocket factory.

    webSocketFactory?: RealtimeWebSocketFactory

    İsimlendirme uyumluluğu için factory alias'ı.