Liên kết (Linking)
React Native 0.68+
Từ React Native v0.68 trở lên, việc liên kết là tự động thông qua Autolinking. Không cần thực hiện liên kết thủ công.
iOS
Sau khi cài đặt, hãy di chuyển đến thư mục ios và cài đặt các phụ thuộc CocoaPods:
cd ios && pod install
Android
Không cần thực hiện thêm bước nào. Thư viện sẽ được tự động liên kết trong quá trình build.
Không còn sử dụng (Deprecated)
Các phần sau đây chỉ dành cho các phiên bản cũ. Nếu bạn đang sử dụng React Native 0.68+ và react-native-screenguard v1.0.8+, bạn có thể bỏ qua toàn bộ phần này.
React Native 0.59 trở xuống (Liên kết thủ công)
React Native 0.59 trở xuống không còn được hỗ trợ trong v2.0.0. Vui lòng nâng cấp lên React Native 0.68+ để sử dụng phiên bản mới nhất.
Liên kết thủ công iOS
- Trong Xcode, nhấp chuột phải vào
Librariestrong trình điều hướng dự án - Chọn Add Files to [tên dự án của bạn]
- Di chuyển đến
node_modules/react-native-screenguardvà thêmScreenGuard.xcodeproj - Chọn dự án của bạn trong trình điều hướng, đi tới Build Phases → Link Binary With Libraries
- Thêm
libScreenguard.a
Liên kết thủ công Android
- Mở
android/app/src/main/java/[...]/MainActivity.java:
import com.screenguard.ScreenGuardPackage; // Thêm import này
// Thêm vào phương thức getPackages():
new ScreenGuardPackage()
- Thêm vào
android/settings.gradle:
include ':react-native-screenguard'
project(':react-native-screenguard').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-screenguard/android')
- Thêm vào dependencies của
android/app/build.gradle:
implementation project(':react-native-screenguard')
Android Sau khi cài đặt (v1.0.6 trở xuống)
Bắt đầu từ v1.0.8, activity được tự động khai báo trong AndroidManifest.xml của thư viện và được merge trong quá trình build. Bước này chỉ bắt buộc đối với v1.0.6 trở xuống.
Đối với phiên bản v1.0.6 trở xuống, bạn phải khai báo ScreenGuardColorActivity thủ công trong AndroidManifest.xml của mình để bật hiệu ứng màu nền và làm mờ.
Bước 1: Cập nhật AndroidManifest.xml
Mở android/app/src/main/AndroidManifest.xml và thêm activity:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application ...>
<activity android:name=".MainActivity" ...>
...
</activity>
<!-- Thêm activity này -->
<activity
android:name="com.screenguard.ScreenGuardColorActivity"
android:theme="@style/Theme.AppCompat.Translucent"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
android:windowSoftInputMode="stateAlwaysVisible|adjustResize"
android:exported="false"
/>
</application>
</manifest>
Bước 2: Thêm Translucent Theme
Mở android/app/src/main/res/values/styles.xml và thêm theme:
<resources>
<style name="AppTheme">
<!-- Theme hiện tại của bạn -->
</style>
<!-- Thêm theme này -->
<style name="Theme.AppCompat.Translucent">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowSoftInputMode">adjustResize</item>
</style>
</resources>