Web Analytics
Nhảy tới nội dung

initSettings MỚI ✨

Phiên bản

Khả dụng từ v2.0.0+

Khởi tạo ScreenGuard với các cài đặt mong muốn của bạn. Hàm này phải được gọi trước khi sử dụng bất kỳ API ScreenGuard nào khác.

Tham số

Nhận một đối tượng JS với các tham số sau:

TênBắt buộcKiểuMặc định
enableCaptureKhôngbooleanfalse
enableRecordKhôngbooleanfalse
enableContentMultitaskKhôngbooleanfalse
displayScreenGuardOverlayKhôngbooleanfalse
displayScreenguardOverlayAndroidKhôngbooleantrue
timeAfterResumeKhôngnumber1000
getScreenshotPathKhôngbooleanfalse
limitCaptureEvtCountKhôngnumbernull
trackingLogKhôngbooleanfalse

enableCapture

Kiểuboolean
Mặc địnhfalse
Nền tảngiOS, Android

Bật để cho phép chụp màn hình hoặc tắt để chặn. Mặc định là false (đã chặn).


enableRecord

Kiểuboolean
Mặc địnhfalse
Nền tảngiOS 13+, Android 15+ (API 35+)

Bật để cho phép quay video màn hình hoặc tắt để chặn. Mặc định là false (đã chặn).

Hạn chế trên Android

Phát hiện quay màn hình trên Android chỉ khả dụng trên API 35+ (Android 15+). Trên các phiên bản cũ hơn, cài đặt này sẽ bị bỏ qua.


enableContentMultitask

Kiểuboolean
Mặc địnhfalse
Nền tảngChỉ iOS

Khi đặt thành true, nội dung ứng dụng của bạn sẽ vẫn hiển thị trong Trình chuyển đổi ứng dụng (chế độ đa nhiệm). Khi đặt thành false, nội dung sẽ bị ẩn hoặc làm mờ dựa trên kiểu đăng ký (màu, làm mờ, hoặc hình ảnh).


displayScreenGuardOverlay

Kiểuboolean
Mặc địnhfalse
Nền tảngChỉ iOS

Khi đặt thành true, một lớp phủ sẽ hiển thị khi người dùng chụp ảnh hoặc quay màn hình (hiển thị cho đến khi người dùng dừng quay) và biến mất sau một khoảng thời gian timeAfterResume. Lớp phủ sử dụng cùng kiểu với kiểu bạn đã đăng ký (màu, làm mờ, hoặc hình ảnh). Chỉ hoạt động khi Screenguard đang hoạt động.

Lưu ý: Chỉ sử dụng nếu nó không ảnh hưởng đến chức năng ứng dụng của bạn, và tự chịu rủi ro khi sử dụng!


displayScreenguardOverlayAndroid

Kiểuboolean
Mặc địnhtrue
Nền tảngChỉ Android

Khi đặt thành true, một lớp phủ sẽ hiển thị khi người dùng quay lại ứng dụng từ màn hình nền (background). Mặc định là true (bật). Chỉ hoạt động khi Screenguard đang hoạt động.


timeAfterResume

Kiểunumber (miligiây)
Mặc định1000
Nền tảngiOS, Android

Khoảng thời gian tính bằng miligiây để hiển thị lớp phủ sau khi chụp (iOS) hoặc sau khi quay lại từ màn hình nền (Android). Yêu cầu displayScreenGuardOverlay hoặc displayScreenguardOverlayAndroid phải là true.

Ví dụ: Đặt thành 2000 để hiển thị lớp phủ trong 2 giây.


getScreenshotPath

Kiểuboolean
Mặc địnhfalse
Nền tảngiOS, Android

Khi đặt thành true, dữ liệu sự kiện chụp màn hình sẽ bao gồm đường dẫn đến tệp ảnh chụp màn hình, có thể lấy được từ thuộc tính screenshotData.path của hook useSGScreenShot.


limitCaptureEvtCount

Kiểunumber | null
Mặc địnhnull
Nền tảngiOS, Android*

Giới hạn số lượng sự kiện chụp màn hình được kích hoạt.

  • null hoặc 0: Kích hoạt mọi lúc (không giới hạn)
  • > 0: Chỉ kích hoạt cho N lần chụp màn hình đầu tiên.
Hạn chế trên Android

Trên Android, việc phát hiện chụp màn hình có thể không hoạt động khi screenguard đang hoạt động (FLAG_SECURE chặn các nỗ lực chụp màn hình tiêu chuẩn).

Demo thử nghiệm với limitCaptureEvtCount = 3:

iOS

Android


trackingLog

Kiểuboolean
Mặc địnhfalse
Nền tảngiOS, Android

Bật ghi log hoạt động để phục vụ mục đích gỡ lỗi. Khi được bật, ScreenGuard sẽ ghi lại tất cả các sự kiện (kích hoạt, hủy kích hoạt, phát hiện chụp màn hình, v.v.), có thể lấy được từ getScreenGuardLogs.


Code mẫu

Khởi tạo cơ bản:

import ScreenGuardModule from 'react-native-screenguard';

// Khởi tạo với các cài đặt mặc định
await ScreenGuardModule.initSettings();

Với các cài đặt tùy chỉnh:

import ScreenGuardModule from 'react-native-screenguard';

await ScreenGuardModule.initSettings({
displayScreenGuardOverlay: true,
timeAfterResume: 2000,
getScreenshotPath: true,
trackingLog: true,
});