패키지, 저장소 및 앱 카테고리 검색

패키지 상세v1.5.3

screen_protector

앱 백그라운드 스크린샷을 통한 안전한 데이터 유출 및 안드로이드와 iOS용 스크린샷 방지.

AndroidiOS
30일 다운로드
12.8만
좋아요
326
Pub 점수
150

패키지 설치

flutter pub add screen_protector

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

스크린 프로텍터는 Android 및 iOS에서 앱이 백그라운드에서 실행될 때 비승인된 스크린샷을 방지함으로써 민감한 데이터를 보호하는 Flutter 패키지입니다. 플랫폼별 메커니즘을 활용하여 스크린샷 시도를 감지하고 차단함으로써 데이터 유출 위험을 줄입니다. 은행, 헬스케어 또는 안전한 메시징과 같은 기밀 정보를 다루는 앱에 적합하며, 복잡한 구현 없이도 보안을 강화합니다. 이 패키지는 간단한 pub add 명령어를 통해 Flutter 프로젝트에 원활하게 통합됩니다.

사용 사례

  • 금융 앱에서 민감한 사용자 데이터 보호
  • 의료 애플리케이션에서 화면 캡처 방지
  • 기밀 통신 보호
  • 앱 백그라운드 실행 중 스크린샷 차단
  • 기업용 모바일 솔루션에서의 프라이버시 향상

주요 기능

  • Android 및 iOS에서 백그라운드 스크린샷을 방지합니다
  • 신뢰할 수 있는 탐지에 네이티브 플랫폼 API 사용
  • Flutter와의 통합 노력 최소화
  • Android 및 iOS 플랫폼을 모두 지원합니다
  • 앱이 최소화될 때 자동 스크린샷 차단

적합한 대상

  • 민감한 개인 정보를 처리하는 앱
  • 기업급 보안 요구사항
  • 개인정보 보호 중심 애플리케이션
  • 모바일 뱅킹 및 결제 플랫폼
  • 보안 메시징 및 통신 도구

고려 사항

  • 운영 체제 제한으로 인해 모든 기기에서 작동하지 않을 수 있습니다
  • 적절한 권한 처리가 필요합니다
  • 물리적 카메라 캡처에 대한 효과가 제한적
  • 과도하게 사용할 경우 사용자 경험에 미치는 잠재적 영향
  • 엔드 투 엔드 암호화의 대체가 아님

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

screen_protector

Safe Data Leakage via Application Background Screenshot and Prevent Screenshot for Android and iOS.

Important (Breaking Change)

Versions 1.4.4 through 1.4.13 may cause crashes on some devices. Please use version 1.4.3 or earlier, or upgrade to version 1.5.1 or later.

Feature

Import
import 'package:screen_protector/screen_protector.dart';
iOS
Protect Data Leakage Background Screenshot
  • Protect data leakage with image
await ScreenProtector.protectDataLeakageWithImage('LaunchImage');
  • Protect data leakage with color ON
await ScreenProtector.protectDataLeakageWithColor(Colors.white);
  • Protect data leakage with color OFF
await ScreenProtector.protectDataLeakageWithColorOff();
  • Protect data leakage with blur ON
await ScreenProtector.protectDataLeakageWithBlur();
  • Protect data leakage with blur OFF
await ScreenProtector.protectDataLeakageWithBlurOff();
Prevent Screenshot
  • ON
await ScreenProtector.preventScreenshotOn();
  • OFF
await ScreenProtector.preventScreenshotOff();
Check Screen Recording
final isRecording = await ScreenProtector.isRecording();
Android
Protect Data Leakage Background Screenshot and Prevent Screenshot
  • ON
await ScreenProtector.protectDataLeakageOn();

or

await ScreenProtector.preventScreenshotOn();
  • OFF
await ScreenProtector.protectDataLeakageOff();

or

await ScreenProtector.preventScreenshotOff();
Protect Data Leakage for Android 12+ (Optional)

https://github.com/prongbang/screen-protector

import com.prongbang.screenprotect.AndroidScreenProtector

class MainActivity : FlutterFragmentActivity() {

    private val screenProtector by lazy { AndroidScreenProtector.newInstance(this) }

    // For Android 12+
    override fun onWindowFocusChanged(hasFocus: Boolean) {
        super.onWindowFocusChanged(hasFocus)
        screenProtector.process(hasFocus.not())
    }
}

Usage

Android
  • Protect Data Leakage Background Screenshot and Prevent Screenshot.
import 'package:screen_protector/screen_protector.dart';

class _PreventScreenshotPageState extends State<MyApp> {

  void _preventScreenshotOn() async => await ScreenProtector.protectDataLeakageOn();

  void _protectDataLeakageOff() async => await ScreenProtector.protectDataLeakageOff();

  @override
  void initState() {
    _preventScreenshotOn();
    super.initState();
  }

  @override
  void dispose() {
    _protectDataLeakageOff();
    super.dispose();
  }

}
iOS
  • Prevent Screenshot
import 'package:screen_protector/screen_protector.dart';

class _PreventScreenshotPageState extends State<MyApp> {

  void _preventScreenshotOn() async => await ScreenProtector.preventScreenshotOn();

  void _preventScreenshotOff() async => await ScreenProtector.preventScreenshotOff();

  @override
  void initState() {
    _preventScreenshotOn();
    super.initState();
  }

  @override
  void dispose() {
    _preventScreenshotOff();
    super.dispose();
  }

}
  • Protect data leakage with color
import 'package:screen_protector/screen_protector.dart';

class _ProtectDataLeakagePageState extends State<MyApp> {

  void _protectDataLeakageWithColor() async => await ScreenProtector.protectDataLeakageWithColor(Colors.white);

  @override
  void initState() {
    _protectDataLeakageWithColor();
    super.initState();
  }

}
  • Protect data leakage with image

image01.png

import 'package:screen_protector/screen_protector.dart';

class _ProtectDataLeakagePageState extends State<MyApp> {

  void _protectDataLeakageWithImage() async => await ScreenProtector.protectDataLeakageWithImage('LaunchImage');

  @override
  void initState() {
    _protectDataLeakageWithImage();
    super.initState();
  }

}
  • Protect data leakage with blur
import 'package:screen_protector/screen_protector.dart';

class _ProtectDataLeakagePageState extends State<MyApp> {

  void _protectDataLeakageWithBlur() async => await ScreenProtector.protectDataLeakageWithBlur();

  @override
  void initState() {
    _protectDataLeakageWithBlur();
    super.initState();
  }

}

💖 Support the Project

If you find this package helpful, please consider supporting it:

"Buy Me A Coffee"

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트