목록로직 (131)
투케이2K
[로직 정리] 정리 로직 : MOBILE (Android / Ios) 상태 : [모바일] 인앱 (In App) 리뷰 (Review) 팝업창 호출 로직 정리 - Android , iOS [설 명] --------------------------------------------------------------------------- [1] : 사용자 앱 로그인 수행 후 >> 이벤트 성 공지사항 팝업창 표시 수행 --------------------------------------------------------------------------- [2] : 사용자가 팝업창 확인 후 닫기 버튼을 클릭 시 >> 하이브리드 앱 자바스크립트 브릿지로 이벤트 알림 전달 -----------------------..
[로직 정리] 정리 로직 : Android 상태 : [Android] 안드로이드 실시간 와이파이 리스트 스캔 및 지속 스캔 요청 제한 로직 - Wifi List Scan [설 명] --------------------------------------------------------------------------- [1] : 특정 와이파이 스캔 리스트 화면 진입 및 wifiManager.startScan 사용해 실시간 와이파이 스캔 시작 >> 스캔 시작 하기 전에) Scan 스캔 카운트 값 체크 실시 >> Scan 스캔 카운트 값이 특정 횟수 이상 (ex : 3회) 인 경우 팝업창 알림 표시 (잠시후 다시 스캔을 시도해주세요) ---------------------------------------..
[로직 정리] 정리 로직 : Android 상태 : [Android] 안드로이드 SMS 문자 수신 시 클립 보드 (clipboard) 기능 사용해 키보드 활성 시 저장 내용 자동 표시 로직 [설 명] --------------------------------------------------------------------------- [1] : SmsRetriever.SMS_RETRIEVED_ACTION 브로드 캐스트 SMS 문자 수신 이벤트 등록 IntentFilter intentFilter = new IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION); registerReceiver(smsReceiver, intentFilter); ---------------..
[로직 정리] 정리 로직 : Android 상태 : [Android] 와이파이 2.4 Ghz 필터링 리스트 표시 - 디바이스 기기 연결 [설 명] [1] : WifiManager 사용해 실시 간 와이파이 리스트 스캔 수행 실시 >> 안내 문구 추가 : 와이파이 2.4 Ghz 만 필터링 표시 됩니다 [2] : 스캔 된 리스트에서 frequency 값을 확인해 와이파이 2.4 , 5 Ghz 구분 실시 [3] : 2.4 Ghz 인 경우에만 와이파이 리스트에 SSID 표시 수행 [4] : 사용자는 특정 2.4 Ghz 와이파이 선택해 비밀번호 입력 수행 실시 [5] : 와이파이 2.4 Ghz SSID , PW 값을 디바이스에 전달해 인터넷 연결 수행 [참고 사이트] https://blog.nave..
[로직 정리] 정리 로직 : Push Server 상태 : [Push Server] FCM 푸시 발송 시 서버에서 토큰 (Token) 유효성 검증 로직 [설 명] [1] : 푸시 서버에서 특정 토큰 지정해 푸시 발송 수행 실시 >> 폴링 방식으로 순차적으로 푸시 발송 (서버 응답 받은 후 >> 5초 대기 후 순차 전송) [2] : 서버 응답에서 유효하지 않은 토큰 및 등록 되지 않은 토큰 인 경우 >> 해당 사용자 정보를 리스트 큐에 저장 수행 [3] : 푸시 서버에서 최종 푸시 발송이 완료 된 경우 >> 유효하지 않은 토큰을 가진 사용자들을 DB 에서 푸시 사용 여부 N 값으로 업데이트 [4] : 사용자가 반드시 푸시를 받아야하는 알림 인 경우 >> 카톡, SMS 등을 통해서 알림 메시지 추가 ..
[로직 정리] 정리 로직 : Android 상태 : [Android] Android 안드로이드 사내 기업 앱 오토 패치 앱 자동 업데이트 프로세스 [설 명] [1] : 안드로이드 앱 실행 시 특정 앱 업데이트 가능 여부 확인 http 통신 수행 >> json 형식으로 특정 앱 버전, 파일 다운로드 url 전달 받음 [2] : 현재 설치 된 앱 버전 최신 앱 버전 비교 수행 [3] : 업데이트할 버전이 있는 경우 >> 알 수 없는 앱 설치 허용 권한 체크 [4] : 알 수 없는 앱 권한이 부여 된 경우 앱 파일 다운로드 및 앱 내부 특정 폴더에 앱 파일 저장 수행 , 정상 앱 업데이트 가능 팝업창 표시 >> 권한 비활성 인 경우 권한 부여 설정창 이동 및 앱 포그라운드 상태에서 앱 권한 부여 상태 ..
[로직 정리] 정리 로직 : Ios 상태 : [Ios] 아이폰 앱슈트 AppSuit (모바일 앱 보안 솔루션) 사용 시 ipa 파일 빌드 방법 [설 명] [1]. AppStoreConnect >> Export (내보내기 ipa 파일) >> Release 모드로 앱 파일 빌드 수행 - build 수행 시 앱 보안 솔루션에서 제공해준 난독화 및 암호화 옵션 적용 필요 [2]. 빌드 된 앱 파일을 [모바일 앱 보안 솔루션] 사이트에서 2 차 Rebuild 수행 실시 - 1차 암호화 적용 된 앱 파일을 다시 분해 >> 암호화 코드 적용 >> 2차 암호화 적용 된 앱 파일 추출 [3]. 2차 암호화 적용 된 앱 파일을 [모바일 앱 보안 솔루션] 업체에서 제공해 준 Resigin 리사인 툴을 사용해 다시 빌..
[로직 정리] 정리 로직 : Android 상태 : [Android] 안드로이드 앱슈트 AppSuit (모바일 앱 보안 솔루션) 사용 시 apk 및 aab 파일 빌드 방법 [설 명] [1]. Release 모드로 앱 파일 빌드 수행 (KeyStore, jks 사용) - build 수행 시 앱 보안 솔루션에서 제공해준 난독화 및 암호화 옵션 적용 필요 [2]. 빌드 된 앱 파일을 [모바일 앱 보안 솔루션] 사이트에서 2 차 Rebuild 수행 실시 - 1차 암호화 적용 된 앱 파일을 다시 분해 >> 암호화 코드 적용 >> 2차 암호화 적용 된 앱 파일 추출 [3]. 2차 암호화 적용 된 앱 파일을 jarsigner (자르 사이너) 를 사용해 다시 앱 서명 인증 수행 (KeyStore, jks 사..
[로직 정리] 정리 로직 : Server 상태 : [Server] OAuth 계정 인증 코드 요청 및 AccessToken , RefreshToken 요청 방법 [설 명] [1] : 구글 클라우드 사이트에서 신규 프로젝트 생성 실시 및 OAuth 사용 설정, 기본 URL, 리디렉션 URL 설정 수행 - URL : https://console.cloud.google.com/ [2] : 구글 클라우드 >> 사용자 인증 정보에서 클라이언트 아이디 및 비밀번호 확인 [3] : 서버 프로젝트에서 [1차] OAuth 인증 코드 요청 http 통신 수행 실시 - 참고 사이트 : https://blog.naver.com/kkh0977/223324549995 [4] : [1차] OAuth 인증 코드를 정상적으로 ..
[로직 정리] 정리 로직 : Server 상태 : [Server] 파이어베이스 단독 푸시 서버 구축 시 참고 고려 사항 정리 - Firebase Push Server [설 명] -------------------------------------------------------------------- 1. FCM 푸시 메시지 발송 후 성공 , 실패에 따른 재전송 정책 >> (ex: 실패 사용자들은 10 분 뒤 다시 메시지 재전송 수행) -------------------------------------------------------------------- 2. FCM 푸시 메시지 발송 후 >> 실패 Case 유효하지 않은 푸시 토큰인 경우 관리 정책 >> 유효하지 않은 푸시 토큰 인 경우 메시지 ..
[로직 정리] 정리 로직 : Android 상태 : [Android] 파이어베이스 Remote Config 리모트 컨피그 원격 알림 공지 적용 [설 명] [1] : 파이어베이스 콘솔에 접속해서 사전) 리모트 컨피그 key , value 등록 수행 [2] : 안드로이드에서 로그인 및 메인 화면에서 Firebase Remote Config 인스턴스 초기화 수행 >> 파이어베이스 Remote Config Fetch 요청 시간은 커스텀 0 초 지정 실시 (즉시 내용 읽기) [3] : 프리퍼런스에 저장된 Remote Config Fetch 페치 요청 시간 확인 및 현재 앱 실행한 시간 비교 수행 >> Remote Config Fetch 시간은 1시간에 5회 이상 요청하지 않게 15분 타임 아웃 필요 [4]..
[로직 정리] 정리 로직 : Android 상태 : [Android] 로그인 요청 수행 시 서버 단절 및 장애 시 분기 처리 요청 로직 - 릴레이 서버 역할 [설 명] ------------------------------------------------------------------------------ [요 건] 1. 로그인 요청을 수행하는 서버 경로가 login1, login2 나눠져 있는 상태 2. 서버 작업 시 login1, login2 순서로 서버 작업 및 점검 수행 ------------------------------------------------------------------------------ [로직 정리] 1. 로그인 요청 시 login1 쪽으로 먼저 http 요청 수행..
[로직 정리] 정리 로직 : Android 상태 : [Android] App Crash Report Log : 앱 크래시 발생 시 리포트 로그 자동 저장 로직 [설 명] [1] : 앱 실행 라이프 사이클 관리 Application 클래스에서 ActivityLifecycleCallbacks 상속 받은 후 액티비티 라이프 사이클 확인 [2] : Application 클래스에서 onActivityCreated 액티비티 생성 라이프 사이클이 수행 된 경우 UncaughtException 알 수 없는 에러 발생 핸들러 감지 등록 : Thread.setDefaultUncaughtExceptionHandler(new S_Crash(activity)); >> S_Crash 클래스에서는 Thread.Uncaugh..
[로직 정리] 정리 로직 : Android 상태 : [Android] 파이어베이스 FCM Notification 푸시 알림 적용 시 앱 화이트 아이콘 및 채널 생성 분기 처리 로직 [설 명] [1] : build.gradle 파일에서 파이어베이스 FCM 적용 라이브러리 추가 [2] : FirebaseMessagingService 서비스 클래스에서 onMessageReceived 실시간 메시지 수신 부분에서 안드로이드 build 버전 확인 [3] : 안드로이드 빌드 버전이 오레오 이상 인 경우 앱 화이트 아이콘 적용 및 채널 생성 수행 >> 안드로이드 Oreo 이상 버전에서는 푸시 알림 표시에서 흰색 로고 디자인이 된 앱 아이콘 적용이 필요합니다 >> 채널 설정 : NotificationManage..
[로직 정리] 정리 로직 : Android 상태 : [Android] App To App Data Transfer 서로 다른 앱 간 데이터 교환 로직 - QR 스캔 데이터 [설 명] [1] : (A = 자체 개발 : 일반앱) 에서 >> (B = 자체 개발 : 카메라 스캔 앱) 으로 intent 이동 수행 (이동 수행 전에 A 앱에서 Date 타임 시간 저장) [2] : B 앱에서 카메라 활성 후 스캔 된 결과물 확인 및 JSON 형식으로 포맷 수행 및 클립 보드에 데이터 저장 실시 { "ScanTime" : "2023-11-15 09:50:32", "ScanData" : "Hello Twok" } [3] : B 앱에서 자체 앱 종료 수행 실시 (B 앱은 액티비티 1개 = Only 카메라 뷰 화면)..
[로직 정리] 정리 로직 : Android 상태 : [Android] 앱 파일 다운로드 및 업데이트, TCP/IP 통신 수행 시 절전 모드 방지 로직 [설 명] [1] : 앱 최초 로그인 수행 후 >> 앱 화이트 리스트 등록 요청 (배터리 절전 모드 예외 대상 앱) >> 필요 퍼미션 : >> 요청 인텐트 : Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); intent.setData(Uri.parse("package:" + mContext.getPackageName())); >> 참고 사항 : 구글 플레이스토어 등록 시 정책 상 업로드가 거절 될 수 있습니다 (메신저 및 특정 앱 만 허용됨 / 사내 관..
[로직 정리] 정리 로직 : Android 상태 : [Android] 마스터 관리자 앱 제작 시 로그인 수행 시 필요 초기 퍼미션 권한 요청 로직 [설 명] [1] : 로그인 화면 접속 시 >> checkSelfPermission 을 사용해서 요청 할 수 있는 권한 요청 수행 [2] : 로그인 화면 버튼 클릭 이벤트 발생 >> 시스템적으로 추가로 부여할 권한 체크 (ex : 파일 액세스, 절전 모드 제외) [3] : 시스템적으로 [필요] 권한이 부여되어 있지 않은 경우 >> 관리자 앱은 모든 권한 부여가 필요합니다. [필요] 권한을 모두 설정해주세요. [팝업창] 표시 [4] : [리스트 팝업창] 에서 특정 [필요] 권한 인덱스 클릭 시 >> 시스템 권한 부여 설정 창 Intent 이동 수행 [5]..
[로직 정리] 정리 로직 : Android 상태 : [Android] [출처 알 수 없는 앱 설치 허용] 앱 업데이트 여부 판단 및 앱 업데이트 수행 실시 - vnd.package-archive [설 명] [1] : 알수 없는 앱 설치 권한 부여 상태 확인 : REQUEST_INSTALL_PACKAGES [2-1] : [IF] : 알수 없는 앱 설치 권한이 부여 되어 있는 경우 : 앱 업데이트에 필요한 변수 선언 : String PackageName : AndroidManifest.xml 파일에 queries 등록 필요 [2-2] : [ELSE] : 알수 없는 앱 설치 권한이 부여 되지 않는 경우 권한 허용 창 Intent 이동 : ACTION_MANAGE_UNKNOWN_APP_SOURCES [3..
[로직 정리] 정리 로직 : Ios 상태 : [Ios] PG 사 연동 시 웹뷰 간 쿠키 및 세션 공유 방법 [설 명] [1] : 부모 A 웹뷰에서 WKWebsiteDataStore.default 설정 및 WKProcessPool 사용해 쿠키 및 세션 공유 설정 지정 [2] : 부모 A 웹뷰 PG 사 오픈 웹뷰 열기 전에 기존에 저장 된 WKWebsiteDataStore 쿠키 값을 변수에 저장 후 PG 사 오픈 웹뷰 이동 [3] : PG 사 웹뷰에서 필요한 로직 처리 후 >> 화면 닫기 >> 부모 A 웹뷰 복귀 시 기존에 저장된 WKWebsiteDataStore 저장소 쿠키 및 세션 값 체크 [4] : 기존에 저장된 WKWebsiteDataStore 값이 날아간 경우 >> 변수에 담아 둔 쿠키 및 ..
[로직 정리] 정리 로직 : Android 상태 : [Android] App 앱 로딩 화면 접속 및 메인 화면 이동 시 NEW_TASK , LAUNCHER 새로운 태스크 적용 로직 [설 명] ------------------------------------------------------------------------------- [Step] : [1] : 외부 스키마 접속 및 일반 앱 실행 접속 여부 체크 실시 >> getIntent()!=null >> Uri uri = getIntent().getData(); ------------------------------------------------------------------------------- [Step] : [2] : 외부 스키마 접..