useSGScreenRecord
버전
v2.0.0+부터 사용 가능
화면 녹화 이벤트를 감지하기 위한 React 훅입니다. v1.x의 registerScreenRecordingEventListener를 대체합니다.
플랫폼 지원:
- iOS 13+
- Android 15+ (API 35+)
Core Function
function useSGScreenRecord(
listener?: (event: ScreenGuardScreenRecordDataObject) => void
): {
recordingData: ScreenGuardScreenRecordDataObject | null;
activationStatus: ScreenGuardHookData | null;
}
매개변수
| 이름 | 필수 여부 | 타입 | 설명 |
|---|---|---|---|
| listener | 아니요 | function | 녹화 상태가 변경될 때 호출될 선택적 콜백 함수 |
반환 값
| 이름 | 타입 | 설명 |
|---|---|---|
| recordingData | object | null | 현재 녹화 상태에 대한 데이터 |
| activationStatus | object | null | ScreenGuard의 현재 활성화 상태 |
recordingData 객체
interface ScreenGuardScreenRecordDataObject {
isRecording?: boolean;
}
| 필드 | 타입 | 설명 |
|---|---|---|
isRecording | boolean | undefined | 화면 녹화가 시작되면 true, 중단되면 false입니다. 스크린 녹화 이벤트가 발생하기 전까지는 undefined입니다. |
activationStatus 객체
interface ScreenGuardHookData {
method: string;
isActivated: boolean;
}
| 필드 | 타입 | 설명 |
|---|---|---|
method | string | 현재 활성화된 방지 방법. 가능한 값: 'blur', 'image', 'color', '' (비활성화 시 빈 문자열) |
isActivated | boolean | ScreenGuard가 현재 활성화되어 있으면 true, 아니면 false |
예제 코드
기본 사용 예제:
import React from 'react';
import { View, Text } from 'react-native';
import ScreenGuardModule, { useSGScreenRecord } from 'react-native-screenguard';
function App() {
const { recordingData, activationStatus } = useSGScreenRecord();
React.useEffect(() => {
ScreenGuardModule.initSettings();
}, []);
return (
<View>
<Text>활성화 여부: {activationStatus?.isActivated ? '예' : '아니요'}</Text>
<Text>
녹화 상태: {recordingData?.isRecording ? '🔴 녹화 중...' : '⚪ 녹화 안 함'}
</Text>
</View>
);
}