@sentry/react-native
Version:
Official Sentry SDK for react-native
52 lines • 1.98 kB
TypeScript
import type { Integration, ReplayRecordingMode } from '@sentry/core';
/**
* Common interface for React Native Replay integrations.
*
* Both browser and mobile replay integrations should implement this interface
* to allow user manually control the replay.
*/
export interface Replay extends Integration {
/**
* Start a replay regardless of sampling rate. Calling this will always
* create a new session. Will log a message if replay is already in progress.
*
* Creates or loads a session, attaches listeners to varying events (DOM,
* PerformanceObserver, Recording, Sentry SDK, etc)
*/
start(): void;
/**
* Start replay buffering. Buffers until `flush()` is called or, if
* `replaysOnErrorSampleRate` > 0, until an error occurs.
*/
startBuffering(): void;
/**
* Currently, this needs to be manually called (e.g. for tests). Sentry SDK
* does not support a teardown
*/
stop(): Promise<void>;
/**
* If not in "session" recording mode, flush event buffer which will create a new replay.
* If replay is not enabled, a new session replay is started.
* Unless `continueRecording` is false, the replay will continue to record and
* behave as a "session"-based replay.
*
* Otherwise, queue up a flush.
*/
flush(options?: {
continueRecording?: boolean;
}): Promise<void>;
/**
* Get the current session ID.
*/
getReplayId(): string | undefined;
/**
* Get the current recording mode. This can be either `session` or `buffer`.
*
* `session`: Recording the whole session, sending it continuously
* `buffer`: Always keeping the last 60s of recording, requires:
* - having replaysOnErrorSampleRate > 0 to capture replay when an error occurs
* - or calling `flush()` to send the replay
*/
getRecordingMode(): ReplayRecordingMode | undefined;
}
//# sourceMappingURL=replayInterface.d.ts.map