registerScreenguardPartially 새로움 ✨
전체 화면이 아닌 화면의 특정 뷰 영역에 대해 스크린샷 및 화면 녹화에서 screenguard를 활성화합니다. (iOS 전용)
Available from v2.0.2+
v2.0.0+ 요구 사항
이 함수를 사용하기 전에 반드시 initSettings()를 호출해야 합니다.
매개변수
다음 매개변수를 포함하는 JS 객체를 받습니다:
| 이름 | 필수 여부 | 타입 | 기본값 | 설명 |
|---|---|---|---|---|
| viewRef | 예 | React.RefObject<any> | 마운트된 컴포넌트를 가리키는 React ref. measureInWindow()를 통해 화면 위치와 크기가 측정됩니다. | |
| backgroundColor | 아니요 | string | '#000000'(BLACK) | 스크린샷에서 영역을 채우거나 마스킹하는 데 사용되는 Hex 색상 문자열. |
경고
이 함수는 콘텐츠나 크기 변경이 거의 없는 정적 화면만 지원합니다. 위치가 자주 변경되는 컴포넌트나 ScrollView가 포함된 화면은 지원하지 않습니다.
예제 코드
import React, { useRef } from 'react';
import { View, Text, Button } from 'react-native';
import ScreenGuardModule from 'react-native-screenguard';
const App = () => {
const sensitiveRef = useRef<View>(null);
const enablePartialGuard = async () => {
// 먼저 초기화 (v2.0.0+에서 필수)
await ScreenGuardModule.initSettings();
// 민감한 뷰 영역만 마스킹
await ScreenGuardModule.registerScreenguardPartially({
viewRef: sensitiveRef,
backgroundColor: '#000000',
});
};
return (
<View>
<View ref={sensitiveRef}>
<Text>이 콘텐츠는 스크린샷에서 마스킹됩니다</Text>
</View>
<Button title="가드 활성화" onPress={enablePartialGuard} />
</View>
);
};
데모
iOS