저장과 공유
결정 기록시청 이력과 저장을 분리하면서 일반 공유와 구독자 선물의 차이를 어떻게 전달할까?
상황과 시작 조건
- 전제
- 로그인 사용자가 EP.1을 시청한 작품을 아직 Saved에 추가하지 않았고 재생 화면의 Save·Share를 사용할 수 있는 상태
- 행동
- Save 선택, My List의 Saved 확인, Share 또는 Send Gift 선택, 저장 목록 편집 진입
앱에서 확인한 안내
Save 직후 완료 토스트와 아이콘 변경이 나타났고 Saved 목록에 같은 작품이 반영됐다. 일반 Share와 멤버십 전용 Send Gift는 별도 탭으로 구분된다.
앱 내 문구 확인 · 실제 집행은 미검증우리 서비스 제안
Save는 즉시 아이콘 상태를 바꾸되 동기화 중 상태를 짧게 표시하고 서버 확인 뒤에만 완료 토스트를 확정한다. Watch History, Saved, Purchased, 알림 목록을 권한과 의도가 다른 별도 컬렉션으로 유지한다. Share는 일반 딥링크 공유로, Send Gift는 멤버십 자격·남은 패스·만료·수신 조건을 확인한 뒤 발급하는 별도 흐름으로 설계한다.
Saved 상태가 앱 재실행, 로그아웃·재로그인, 다른 기기에서도 유지되는지는 확인하지 않았다.
관찰과 근거
직접 관찰
- Watch History에는 조사 작품이 EP.1 / 47과 Watched 2026.10.01로 표시됐고, 화면 하단의 작은 재생 썸네일로 작품에 복귀할 수 있었다.
- 저장 전 Saved 탭은 No saved content yet과 Explore Trending CTA를 표시해 시청 이력과 저장 목록을 분리했다.
- 플레이어에서 Save를 누르자 아이콘이 채워지고 Saved to your list 토스트가 표시됐다.
- 이후 My List의 Saved 탭에 같은 작품이 제목과 EP.1 / 47 정보로 실제 노출돼 같은 계정의 화면 간 저장 반영을 확인했다.
- Share 시트는 Instagram, X, Facebook, Copy Link, More를 제공했다. 외부 앱 전송과 링크 복사는 실행하지 않았다.
- 같은 시트의 Send Gift 탭은 비구독자에게 구독해야 무료 시청 패스를 선물할 수 있다고 안내하고 Start Membership을 제공했다.
- Saved 편집에 들어가자 작품 선택 원형과 취소 수단이 나타났으며 선택 전 Delete는 비활성 상태였다. 삭제는 실행하지 않았다.
- Explore 피드에서도 Save, Episodes, Share를 재생 맥락 안에 유지하고 Watch all episodes로 본편 진입을 제공했다.
앱 내 안내 · 집행 미검증
- 저장 동작 직후 앱은 Saved to your list 토스트로 완료를 알린다.
- Saved 빈 상태는 Start what you want to watch라는 설명과 Explore Trending을 제공한다.
- Send Gift는 Subscribe to gift free viewing passes to friends라고 안내해 일반 공유와 멤버십 선물을 구분한다.
- 저장 목록 편집은 항목 선택 전 Delete를 비활성화한다.
관찰 범위는 조사 기록을 기준으로 합니다. 앱 안내는 실제 집행·스토어 공식 정책·법적 효력을 별도로 검증한 결과가 아닙니다.
미확인
- Saved 상태가 앱 재실행, 로그아웃·재로그인, 다른 기기에서도 유지되는지는 확인하지 않았다.
- Save 직후 토스트가 서버 저장 완료를 뜻하는지 낙관적 UI 반영인지 화면만으로 알 수 없다.
- 공유 링크의 대상 화면, 설치하지 않은 수신자의 웹·스토어 경로, 지역 제한과 딥링크 복구는 검증하지 않았다.
- 비구독자의 Send Gift 게이트만 확인했으며 구독자의 발급 한도, 링크 만료, 수신자 자격과 사용 완료 처리는 실행하지 않았다.
- Saved 삭제 확인, 네트워크 오류, 여러 항목 일괄 삭제와 Watch History에 미치는 영향은 확인하지 않았다.
- New release alerts의 설정·해제와 OS 알림 권한의 관계는 검증하지 않았다.
대안 비교 · 우리 서비스의 선택지 3개
아래는 우리 서비스에 적용할 대안입니다. 다른 앱의 정책을 비교한 결과가 아닙니다.
| 선택지 | 장점 | 비용·제약 |
|---|---|---|
| 즉시 저장 후 백그라운드 동기화 | 플레이어에서 흐름을 끊지 않고 즉각적인 완료 피드백을 제공할 수 있다. | 서버 저장 실패 시 롤백·재시도·오프라인 충돌을 처리하지 않으면 토스트와 실제 목록이 어긋날 수 있다. |
| 서버 확인 후 저장 완료 | 토스트와 목록 상태가 실제 저장 결과를 가리켜 여러 기기에서 일관성을 설명하기 쉽다. | 네트워크가 느리면 저장 반응이 늦고 재생 화면에서 대기 상태를 보여 줘야 한다. |
| 일반 공유와 선물 공유 분리 | 무료 링크 공유와 구독 혜택인 시청 패스의 자격·만료·사용 규칙을 각각 명확히 안내할 수 있다. | 공유 시트의 선택지가 늘고 사용자가 두 행동의 차이를 이해해야 한다. |
제안의 근거 · 해석
Vigloo에서는 Save 직후 토스트와 Saved 목록 반영이 연속으로 확인됐고, 일반 공유와 구독자 선물이 한 시트의 별도 탭으로 나뉘었다. 우리 서비스도 즉각적인 피드백을 유지하되 실제 저장 성공과 권한이 필요한 선물 발급을 각각 검증 가능한 상태로 남기는 편이 안전하다.
효과는 검증 전 가설입니다. 고객·출시 지역·개발 여건에 맞춰 검토해야 합니다.
정해야 할 정책 값
- Save 낙관적 반영과 완료 토스트 시점
- 저장 동기화 실패·재시도·충돌 규칙
- Watch History·Saved·Purchased의 데이터 경계
- 일반 공유 딥링크와 비설치 복귀 경로
- Send Gift 자격·주기별 한도·만료·수신 조건
- 저장 목록 삭제 확인과 일괄 편집
- 서비스 종료 콘텐츠의 목록 보존 정책
예외 처리와 출시 QA
| 예외 조건 | 제안 처리 |
|---|---|
| Save 요청 중 네트워크가 끊기거나 서버 저장에 실패함 | 아이콘을 동기화 실패 상태로 표시하고 자동 재시도와 다시 시도를 제공한다. 완료 토스트를 취소하고 로컬 임시 상태가 실제 Saved처럼 보이지 않게 한다. |
| 같은 작품을 여러 화면이나 기기에서 동시에 저장·해제함 | 사용자·작품 ID의 단일 저장 상태와 변경 버전으로 중복 요청을 한 번만 처리하고 최신 서버 상태를 각 화면에 반영한다. |
| 공유받은 링크의 작품이 지역·연령·권리 조건으로 이용 불가함 | 앱 설치와 로그인 전에 가능한 범위에서 이용 조건을 안내하고, 접근 불가 이유와 대체 작품 탐색 경로를 제공한다. |
| 비구독자 또는 패스 한도를 소진한 구독자가 Send Gift를 선택함 | 발급을 생성하지 않고 필요한 자격, 남은 한도, 다음 충전 시점과 멤버십 선택지를 보여 준다. |
| 저장 작품이 서비스에서 삭제되거나 권리 종료됨 | 목록에서 조용히 사라지게 두지 말고 이용 불가 상태와 제거 이유를 일정 기간 안내한 뒤 사용자가 정리할 수 있게 한다. |
검증 조건 · 미실행
- Given
- Saved가 비어 있고 EP.1을 시청 중인 상태
- When
- 플레이어에서 Save를 한 번 누름
- Then
- 중복 요청 없이 아이콘이 저장 상태로 바뀌고 서버 확인 뒤 완료 토스트와 Saved 목록의 작품·EP.1 정보가 일치하는 것이 기획 완료 기준이다.
- Given
- Save 요청 직후 네트워크가 끊긴 상태
- When
- My List로 이동하거나 앱을 다시 실행함
- Then
- 동기화 실패가 실제 저장 완료처럼 표시되지 않고 재시도 후 한 개의 저장 항목으로 수렴하는 것이 기획 완료 기준이다.
- Given
- 비구독자가 Share 시트를 연 상태
- When
- 일반 Share와 Send Gift를 각각 선택함
- Then
- 일반 공유는 멤버십 구매 없이 진행되고 Send Gift만 자격·패스 한도 확인 또는 멤버십 안내로 분기하는 것이 기획 완료 기준이다.
- Given
- Saved 편집 화면에서 아무 작품도 선택하지 않은 상태
- When
- Delete 영역을 누르거나 항목을 선택·해제함
- Then
- 미선택 상태에서는 삭제가 실행되지 않고 선택 수와 Delete 활성 상태가 항상 일치하는 것이 기획 완료 기준이다.
- Given
- 작품이 Watch History와 Saved에 함께 있는 상태
- When
- Saved에서 작품을 삭제함
- Then
- 저장 의도만 제거되고 시청 이력과 구매 권한은 각 정책에 따라 독립적으로 유지되는 것이 기획 완료 기준이다.
검증할 지표 · 실제 값 미보유
- Save 시도 대비 서버 저장 완료율
- Save 완료 후 Saved 목록 확인률
- 저장 상태 화면 간 불일치율
- 공유 채널 선택 대비 링크 열기·재생 도달률
- Send Gift 진입 대비 자격 충족·발급·수령·사용률
- Saved 삭제 후 시청 이력 오삭제율
- 저장 작품 재시청률
흐름도
시청·저장·공유·선물 구분
저장 후 Saved 목록 반영까지 확인했다. 삭제·외부 공유·선물 발급은 실행하지 않았다. 실선은 관찰한 이동, 점선은 안내 또는 실행하지 않은 단계다.
범위: 관찰 · 안내 · 미확인 · 근거