안녕하세요. 기존 안드로이드 네이티브 앱(매장 POS 연동 B2B 서비스)을 앱인토스 미니앱(React Native)으로 이전하려고 합니다.
기존 앱은 매장 계산대 태블릿에 상시 포그라운드로 띄워두고 동일 LAN의 PC POS 및 결제 단말기와 통신하는 키오스크 형태로 운영되어, 일반적인 사용자 트리거형 미니앱과 운영 방식이 달라 사전에 가능 여부를 확인하고 싶습니다.
이전 후 가정하는 변화는 다음과 같습니다.
-
결제 단말기 역할은 토스 태블릿이 대체, 결제 데이터는 토스에서 직접 전달받음
-
PC POS와의 LAN 통신은 그대로 유지가 필요한 상황
아래 항목별로 가능 여부와 권장 방식을 부탁드립니다.
1. (가장 중요) 외부 PC → 미니앱 방향의 LAN 통신
기존 구조는 다음과 같습니다.
-
동일 LAN 환경에서 PC가 태블릿의 IP:PORT로 TCP 연결 시도
-
태블릿이 TCP 서버로 동작하여 연결 수신·처리
-
앱은 항상 켜져 있어야 하며, 백그라운드에서도 수신 가능해야 함
문의:
-
(1-1) 미니앱(RN) 환경에서 TCP 서버 소켓을 바인딩하여 외부 LAN 클라이언트로부터 직접 연결을 수신하는 것이 가능한가요?
-
(1-2) 가능하다면
react-native-tcp-socket같은 서드파티 라이브러리 사용이 허용되나요? 또는 Java/Kotlin 커스텀 네이티브 모듈을 번들에 포함시킬 수 있나요? -
(1-3) TCP 서버 구현이 가능하다면, 미니앱이 백그라운드/화면 OFF 상태에서도 소켓 서버가 유지될 수 있나요? (Android Foreground Service 수준의 상시 실행 환경을 보장받을 수 있는지)
-
(1-4) 위가 모두 불가능하다면, “외부 PC → 미니앱” 방향의 요청 수신을 구현할 수 있는 권장 아키텍처(WebSocket 클라이언트 + 중계 서버 등)가 있을까요?
2. 운영 방식 (키오스크 / 상시 실행)
-
(2-1) 매장 계산대에서 미니앱을 상시 포그라운드로 띄워둔 채 운영(영업시간 내내 ON)하는 것이 정책상 허용되나요?
-
(2-2) 화면 항상 켜짐(
keepScreenOn류), portrait 고정, 시스템 밝기 제어 등 키오스크 운용에 필요한 디스플레이/전원 제어가 가능한가요?
3. 결제 데이터 수신 인터페이스
-
(3-1) 토스 결제 완료 시 미니앱으로 결제 정보(승인번호·금액·부가세·결제수단 등)가 어떤 방식(JS Bridge / postMessage / Webhook 등)으로 전달되나요?
-
(3-2) 전달 페이로드의 공식 스키마/문서 위치를 알려주실 수 있을까요?
4. 배포 / 업데이트
-
(4-1) 미니앱의 업데이트는 토스 심사·배포 외 경로(예: CodePush 류 OTA)가 허용되나요?
-
(4-2) 기존 앱은 자체 APK 사이드로드 방식으로 업데이트하고 있는데, 이 운영을 미니앱 환경에서는 어떤 방식으로 대체하는 것이 표준인가요?
5. 푸시 알림
-
(5-1) 미니앱에서 FCM을 직접 사용할 수 있나요? 아니면 토스 자체 알림 채널을 거쳐야 하나요?
-
(5-2) 토스 채널을 통해야 한다면 발송 API와 미니앱 진입 딥링크 방식을 안내 부탁드립니다.
6. 네트워크 / 보안 정책
-
(6-1) 임의 도메인 호출, HTTP(cleartext), 자체 암호화된 페이로드 송수신에 제약(도메인 화이트리스트, SSL pinning 강제 등)이 있나요?
-
(6-2) 사업자 식별정보·인증정보 같은 민감 데이터를 단말 내에 저장할 수 있는 보안 저장소(Keychain/EncryptedStorage 류)가 제공되나요?
기존 기능을 최대한 동일하게 유지해야 하는 상황이라, 항목별로 가능 여부만이라도 먼저 확인할 수 있으면 큰 도움이 되겠습니다. 감사합니다.