본문으로 건너뛰기
sstreamzet/docs
Android SDK 0.2.0-rc.2콘솔 열기
개발자 문서 / Android SDK
API와 연동 가이드 · 수정 2026-09-22

테스트 앱 사용 가이드

업무앱 샘플과 독립 지원 앱을 설치하고, 사용자가 승인한 원격지원을 시작·검증·종료합니다.

1. 두 앱의 차이

앱 / 파일용도
JCI Store · Support sample / jci-sample-debug.apk기존 업무 화면에 SDK를 붙인 예제. 상품 코드·수량·조회 버튼으로 터치와 텍스트를 시험합니다. 실제 재고를 변경하지 않습니다.
Streamzet Support / streamzet-support-debug.apk지원 시작·종료에 집중한 독립 앱. 다른 앱으로 이동해 화면 공유 동작을 확인할 수 있습니다.

두 앱은 applicationId와 등록 정보를 따로 보관하므로 기기 코드도 서로 다릅니다. 한 번에 하나의 앱에서 공유하고, 다른 앱을 시험하기 전에 현재 지원을 종료하세요.

업무앱 샘플의 상품 조회 화면
업무앱 샘플. 화면 문구는 Android 앱 언어를 따르며 웹 문서 언어와 독립적입니다.
독립 지원 앱의 시작 화면
Streamzet Support는 업무 입력란 없이 원격지원 상태와 시작·종료만 제공합니다.

2. 설치하고 처음 실행하기

  1. 전달받은 ZIP의 SHA-256과 내부 SHA256SUMS를 확인합니다. Android 8 이상 테스트 기기, 인터넷, 운영자 대시보드 계정을 준비합니다.
  2. 파일 앱 또는 adb로 두 APK를 설치합니다. 이 APK는 개발용 debug 서명이며 앱스토어 배포용 호스트 앱이 아닙니다. 기존 앱과 서명이 다르면 업데이트할 수 없으므로 관리자에게 맞는 빌드를 받습니다.
  3. 연결 설정이 없다는 오류가 나오면 APK 제공자에게 해당 테스트 환경용 빌드를 요청합니다. 앱에는 URL·키를 입력하는 설정 화면이 없습니다. 소스 빌드 방법은 아래에 있습니다.
sh
adb devices
adb install -r jci-sample-debug.apk
adb install -r streamzet-support-debug.apk
adb shell am start -n com.streamzet.sample.jci/com.streamzet.sample.MainActivity
# Standalone app:
adb shell am start -n com.streamzet.support/com.streamzet.app.MainActivity

4. 운영자 연결과 왕복 확인

  1. 앱에 표시된 8자리 코드를 승인된 운영자에게 전달합니다. 코드를 공개 게시하거나 스크린샷·로그에 포함해 외부 배포하지 않습니다. 코드 표시만으로 공유가 켜진 것은 아닙니다.
  2. 운영자는 대시보드의 Devices → Pair Device에서 해당 앱의 코드를 입력합니다. 테넌트 자동 등록을 사용했다면 관리자 안내에 따라 이미 배정된 기기를 선택합니다.
  3. 앱의 운영자 대기 상태를 확인하고 대시보드에서 원격지원을 시작합니다. 영상이 움직이는지, 연결 상태와 원격 입력 가능 표시가 맞는지 확인합니다.
  4. 업무앱의 상품 입력란을 원격으로 눌러 SDK-TEST-123을 입력하고 수량을 바꾼 뒤 Check product를 누릅니다. 독립 앱은 승인한 테스트 앱으로 이동해 터치·뒤로·홈·문자 입력을 확인합니다. 비밀번호·개인정보는 테스트에 사용하지 않습니다.
  5. 화면만 공유 세션에서는 입력이 차단되어야 합니다. 업무 화면 회전·다른 화면 이동 후 영상이 계속되는지 확인합니다. 업무앱의 상품 조회 결과는 고정된 데모이며 바코드 장비·재고 시스템 검증을 대신하지 않습니다.

5. 종료·재시작·업데이트

앱의 Stop support, 대시보드의 End support, Android 공유 중지 중 하나로 종료합니다. 영상·입력이 중단되고 새 시작 버튼이 나타나는지 확인하세요. 새 세션은 다시 화면공유 승인이 필요합니다. 업무 화면을 닫거나 앱을 백그라운드로 보내는 것만으로 종료되지 않습니다.

동일 서명 업데이트와 앱 재실행 후 기기 코드가 유지되는지 확인합니다. 두 APK의 코드를 서로 바꾸어 사용하지 마세요. 앱 제거나 데이터 삭제를 테스트할 때는 새 등록이 생길 수 있으므로 기존 페어링과 기록의 처리 방식을 관리자와 맞춥니다.

문제 해결

증상확인과 조치
설정 오류 / 시작 불가공개 연결 값이 들어 있는 APK인지 확인하거나 sdk-test.properties를 채워 재빌드합니다.
등록 실패HTTPS 접속, 공개 anon JWT, 프로젝트 주소, 선택적 등록 키의 유효성을 확인합니다. service_role 키를 넣지 않습니다.
운영자 대기승인한 앱과 연결한 기기 코드가 같은지, 계정 페어링·WSS 접속·TURN 허용이 맞는지 확인합니다.
영상은 보이지만 입력 불가보기 전용인지 확인하고 해당 앱의 접근성 항목을 켠 뒤 복귀합니다. 보안 입력란·보호 화면·제조사 제한은 별도입니다.
Enter 검색이 동작하지 않음API 30 이상에서 지원하는 IME 동작만 호출합니다. Android 8~10이나 커스텀 입력란에서는 화면의 검색 버튼을 탭합니다.
서명 불일치 / 설치 실패데이터 보존이 필요하면 앱을 삭제하지 말고 기존 서명으로 빌드된 APK를 받습니다.

소스에서 테스트 앱 만들기

sh
# Inside the delivered ZIP's source directory:
cp sdk-test.example.properties sdk-test.properties
# Set supabase.url, supabase.publicKey and signaling.url.
# Keep sdk.registrationKey empty for redistributable test APKs.
./gradlew :sample:assembleDebug :app:assembleDebug
# Both apps use the ZIP's Maven SDK by default.
# Outputs:
# sample/build/outputs/apk/debug/sample-debug.apk
# app/build/outputs/apk/debug/app-debug.apk