1. 웹뷰에 삽입할 자바스크립트 코드를 빌드합니다.
cd usaint-injector/
npm ci
npm run build
mkdir ../assets/js/
cp dist/main.js ../assets/js/common.js
요구 사항: Flutter (Version : 3.27.0, 가능하다면 베타 채널을 따라감)
iOS 빌드를 위해서 macOS에 xcode를 설치해야 합니다. 또한, xcode에서 적절한 설정(개발자 프로필 설정 등)이 필요합니다.
소유하고 있는 key.properties
를 android/
디렉토리에 넣어주세요. (apk를 서명하는 데 사용합니다.)
만약 key.properties
를 소유하고 있지 않다면, 자동 생성된 android/local.properties
를 복사해서 사용할 수 있습니다. (해당 파일은 자동 생성되는 디버깅용 키로써, 배포용으로는 적합하지 않습니다.)
환경 변수를 설정하기 위해 루트 디렉토리에 .env
파일을 생성해주세요.
현재 Sentry와 Firebase를 지원하고 있습니다. .env
파일을 아래와 같은 형식으로 채워주세요.
값이 없다면 빈칸으로 두셔도 됩니다.
SENTRY_DSN=
SENTRY_TRACES_SAMPLE_RATE=
FIREBASE_ANDROID_API_KEY=
FIREBASE_ANDROID_APP_ID=
FIREBASE_ANDROID_MESSAGING_SENDER_ID=
FIREBASE_ANDROID_PROJECT_ID=
FIREBASE_ANDROID_STORAGE_BUCKET=
FIREBASE_IOS_API_KEY=
FIREBASE_IOS_APP_ID=
FIREBASE_IOS_MESSAGING_SENDER_ID=
FIREBASE_IOS_PROJECT_ID=
FIREBASE_IOS_STORAGE_BUCKET=
FIREBASE_IOS_IOS_BUNDLE_ID=
flutter build ios --obfuscate --split-debug-info=./debug/ --dart-define-from-file=.env
flutter build ipa --obfuscate --split-debug-info=./debug/ --dart-define-from-file=.env
flutter build apk --obfuscate --split-debug-info=./debug/ --dart-define-from-file=.env
flutter build appbundle --obfuscate --split-debug-info=./debug/ --dart-define-from-file=.env
ios
는 iOS 빌드, ipa
는 iOS 빌드 후 IPA 파일 생성, apk
는 Android 빌드, appbundle
은 Android App Bundle 빌드입니다.
앱 배포를 위해서는 ipa
또는 appbundle
을 사용하세요. (ipa
빌드를 위해서는 Apple Developer 계정이 필요합니다.)
--obfuscate
옵션은 코드 난독화를 위한 옵션입니다. (선택 사항)
--split-debug-info
옵션은 디버그 심볼을 분리하는 옵션입니다. (선택 사항)
--dart-define-from-file
옵션은 .env
파일을 읽어서 환경 변수를 설정하는 옵션입니다.
다른 서비스와 연동하지 않으려면 이 옵션을 사용하지 않아도 됩니다.
(선택/프로덕션 전용) Sentry에 디버깅 심볼 업로드 방법
SENTRY_AUTH_TOKEN=< token> SENTRY_ORG=< org> SENTRY_PROJECT=< project name> flutter packages pub run sentry_dart_plugin
Play Console에서 사용되는 네이티브 디버그 심볼 위치
build/app/intermediates/merged_native_libs/release/mergeReleaseNativeLibs/out/lib/
에서 찾을 수 있습니다.
SSUrade는 여려분의 기여를 환영합니다!
PRD와 Tech Spec은 SSUrade 문서 에서 확인할 수 있습니다.
SSUrade는 JSON Serialization, Injectable, Auto Exporter 등을 사용하고 있습니다.
해당 어노테이션이 있는 파일을 수정한 경우, 프로젝트 루트 디렉터리에서 다음 명령어를 실행하여 코드를 자동으로 생성하세요.
flutterfire configure --project=< Firebase project id>
생성된 lib/firebase_options.dart
파일의 내용을 기반으로 환경 변수 파일을 채워주세요.
이 README의 환경 변수 파일 스키마를 참고하세요.
이 README의 환경 파일 스키마를 참고하세요.
환경 변수 파일에서 지원하는 Sentry 설정은 다음과 같습니다.
SENTRY_DSN
SENTRY_TRACES_SAMPLE_RATE (0 ~ 1, double)