Route Guard2 React Native 통합 앱에서 프로파일별 딥링크와 푸시 라우팅 안전하게 검증하기 하나의 코드베이스로 여러 브랜디드 앱이나 프로파일을 빌드하는 통합 앱을 운영하다 보면, 딥링크와 푸시 알림 처리가 생각보다 까다로워집니다. 어떤 앱(프로파일)에서는 지도 상세 화면이 잘 열려야 하지만, 다른 앱에서는 지도 기능 자체가 아예 빠져 있을 수 있기 때문입니다.저의 경우도 처음에는 단순히 외부 URL을 파싱해서 화면 이동만 시켜주면 끝날 줄 알았는데, 이래저래 운영을 하다 보니 특정 프로파일에서 열리면 안 되는 화면이 열리거나 params 타입이 안 맞아 앱이 뻗는 문제가 발생하곤 했습니다.외부에서 들어오는 값은 언제든 바뀔 수 있고 오류가 섞이기 쉽기 때문에, 무작정 navigation.navigate()에 던지면 위험합니다. 나중에 또 까먹을까 봐 안전하게 라우팅을 검증하는 흐름을 정리해 둡.. 2026. 5. 20. React Native 통합 앱 프로파일별 화면 접근 제어 (Route Guard 구현하기) React Native로 여러 앱(프로파일)을 하나의 코드베이스로 묶어서 운영하다 보면, 앱마다 보여줘야 하는 화면과 막아야 하는 화면이 달라지는 경우가 자주 생깁니다. 예를 들어 어떤 앱은 지도 기능이 필요하고, 어떤 앱은 공지만 보여주면 되는 식입니다.처음에는 단순히 메뉴에서 버튼만 숨기면 끝날 줄 알았습니다. 하지만 실제로 서비스를 운영해보니 사용자가 화면에 진입하는 경로는 생각보다 훨씬 다양하더군요.메뉴 및 탭 버튼 클릭딥링크(Deep Link)를 통한 외부 진입푸시 알림(Push Notification) 클릭내부 코드 내 navigation.navigate 직접 호출앱 재실행 시 기존 화면 상태 복원메뉴만 대충 숨겨두면, 메뉴에는 없는 화면인데 딥링크나 푸시 알림을 타고 비활성화된 화면으로 쓱 .. 2026. 5. 20. 이전 1 다음