docs(main): 로그인 가드 후속 진행을 기록한다
This commit is contained in:
@@ -9,6 +9,7 @@ v2 메인 홈/콘텐츠 페이지에서 상세 화면, 외부 링크, 채팅방
|
||||
비로그인 상태 또는 성인 콘텐츠 접근 조건을 만족하지 않은 상태에서도 `HomeMainFragment`와 `ContentMainFragment`의 일부 화면 이동이 바로 진행될 수 있다.
|
||||
|
||||
- 홈 추천/팔로잉/랭킹 영역에서 크리에이터 프로필, 오디오 상세, 커뮤니티 글, 채팅방, 라이브 목록 등으로 이동하기 전에 로그인 확인이 일관되게 적용되지 않는다.
|
||||
- 홈 팔로잉 탭은 로그인 사용자 전용 콘텐츠 영역이지만, 탭 전환 전에 로그인 가드가 적용되지 않아 비로그인 상태에서도 팔로잉 탭 화면으로 먼저 전환될 수 있다.
|
||||
- 콘텐츠 추천/랭킹/전체 영역에서 배너, 오디오 상세, 시리즈 상세 이동 전에 로그인 확인이 일관되게 적용되지 않는다.
|
||||
- 성인 콘텐츠로 판별 가능한 콘텐츠 이동에서 접속 국가와 본인인증 여부, 성인 콘텐츠 표시 설정이 일관되게 확인되지 않는다.
|
||||
- v2 메인 화면에서는 기존 `MainV2Activity.showLoginActivity()` 진입점이 있으나 Fragment 이동 지점에서 공통으로 사용되지 않는다.
|
||||
@@ -17,6 +18,7 @@ v2 메인 홈/콘텐츠 페이지에서 상세 화면, 외부 링크, 채팅방
|
||||
|
||||
## 3. Goals
|
||||
- `HomeMainFragment`에서 발생하는 모든 실제 화면 이동 전에 로그인 여부를 확인한다.
|
||||
- `HomeMainFragment`에서 팔로잉 탭을 터치하면 팔로잉 탭 화면으로 전환하기 전에 로그인 여부를 확인한다.
|
||||
- `ContentMainFragment`에서 발생하는 모든 실제 화면 이동 전에 로그인 여부를 확인한다.
|
||||
- 미로그인 상태에서는 기존 `MainV2Activity.showLoginActivity()`를 호출하고 원래 이동은 실행하지 않는다.
|
||||
- 로그인 상태에서는 기존 이동 동작과 Intent extra를 유지한다.
|
||||
@@ -44,6 +46,7 @@ v2 메인 홈/콘텐츠 페이지에서 상세 화면, 외부 링크, 채팅방
|
||||
|
||||
## 6. User Stories
|
||||
- 비로그인 사용자는 홈/콘텐츠 페이지에서 상세 화면으로 이동하려 할 때 로그인 화면으로 안내받고 싶다.
|
||||
- 비로그인 사용자는 홈 팔로잉 탭을 터치할 때 팔로잉 탭으로 전환되기 전에 로그인 화면으로 안내받고 싶다.
|
||||
- 한국 접속 미인증 사용자는 성인 콘텐츠로 이동하려 할 때 본인인증이 필요하다는 안내를 받고 싶다.
|
||||
- 성인 콘텐츠 표시 설정이 꺼진 사용자는 성인 콘텐츠로 이동하려 할 때 설정 화면으로 안내받고 싶다.
|
||||
- 로그인 사용자는 기존처럼 탭, 카드, 배너, 랭킹 아이템을 눌렀을 때 해당 화면으로 이동하고 싶다.
|
||||
@@ -87,6 +90,10 @@ v2 메인 홈/콘텐츠 페이지에서 상세 화면, 외부 링크, 채팅방
|
||||
- `openAudioContentDetail`
|
||||
- `openPopularCommunityPost`
|
||||
- 위 이동 지점에 로그인 가드를 적용한다.
|
||||
- 팔로잉 탭 선택 시 실제 팔로잉 화면으로 전환하기 전에 로그인 가드를 적용한다.
|
||||
- 팔로잉 탭 선택 시 로그인되어 있으면 기존처럼 팔로잉 탭 화면으로 전환하고, 필요한 경우 기존 `homeFollowingViewModel.loadFollowing()` 흐름을 실행한다.
|
||||
- 팔로잉 탭 선택 시 미로그인 상태이면 기존 `MainV2Activity.showLoginActivity()`를 호출하고, 팔로잉 탭 화면 전환 및 팔로잉 데이터 로드는 실행하지 않는다.
|
||||
- 팔로잉 탭 선택 시 미로그인 상태이면 로그인 화면 진입 전후로 홈 탭 선택 상태와 화면은 팔로잉 탭 선택 전 상태를 유지한다.
|
||||
- 성인 콘텐츠 여부를 판단할 수 있는 홈 이동 지점이 있으면 성인 콘텐츠 가드도 함께 적용한다.
|
||||
- 현재 `Unit`으로 남아 있는 클릭 handler는 화면 이동이 아니므로 신규 이동을 만들지 않는다.
|
||||
|
||||
@@ -94,6 +101,8 @@ v2 메인 홈/콘텐츠 페이지에서 상세 화면, 외부 링크, 채팅방
|
||||
- route 또는 id가 유효하지 않아 기존에 return하던 경우에는 로그인 가드 호출 전에 그대로 return한다.
|
||||
- `ChatRoomType.AI`, `ChatRoomType.DM` 분기별 기존 Intent 생성을 유지한다.
|
||||
- 현재 홈 v2 모델에 성인 콘텐츠 여부 필드가 없는 이동은 로그인 가드만 적용하고, 임의로 adult 판정을 만들지 않는다.
|
||||
- 추천 탭과 랭킹 탭 전환은 로그인 가드 대상이 아니며 기존 동작을 유지한다.
|
||||
- 미로그인 사용자가 팔로잉 탭을 터치한 뒤 로그인하지 않고 돌아와도 추천/랭킹 등 이전 홈 탭 상태가 유지된다.
|
||||
|
||||
### Feature C: ContentMainFragment 이동 가드 적용
|
||||
`ContentMainFragment`의 실제 `startActivity` 이동 지점을 helper로 감싼다.
|
||||
@@ -118,7 +127,9 @@ v2 메인 홈/콘텐츠 페이지에서 상세 화면, 외부 링크, 채팅방
|
||||
- 한국 접속 미인증 사용자는 성인 콘텐츠 이동 시 기존 앱 패턴과 동일한 본인인증 안내를 받는다.
|
||||
- 성인 콘텐츠 표시 설정이 꺼진 사용자는 `ContentSettingsActivity`로 이동하며 민감 콘텐츠 안내 Toast가 표시될 수 있다.
|
||||
- 로그인 사용자의 화면 이동 UX는 기존과 동일하다.
|
||||
- 탭 전환, 리스트 렌더링, 정렬 팝업, pagination 등 화면 이동이 아닌 동작은 로그인 가드 대상이 아니다.
|
||||
- 홈 팔로잉 탭 전환은 로그인 사용자 전용 콘텐츠 진입으로 간주해 로그인 가드 대상이다.
|
||||
- 홈 팔로잉 탭 로그인 가드에서 미로그인으로 차단되면, 팔로잉 탭이 선택된 것처럼 표시되지 않고 이전 탭 상태가 유지된다.
|
||||
- 그 외 탭 전환, 리스트 렌더링, 정렬 팝업, pagination 등 화면 이동이 아닌 동작은 로그인 가드 대상이 아니다.
|
||||
|
||||
---
|
||||
|
||||
@@ -137,6 +148,7 @@ v2 메인 홈/콘텐츠 페이지에서 상세 화면, 외부 링크, 채팅방
|
||||
|
||||
## 10. Metrics
|
||||
- 구현 후 `HomeMainFragment`와 `ContentMainFragment`의 모든 실제 `startActivity` 이동 지점이 v2 메인 이동 guard helper를 통과한다.
|
||||
- 구현 후 `HomeMainFragment`의 팔로잉 탭 선택은 팔로잉 탭 화면 전환 전에 v2 메인 이동 guard helper를 통과한다.
|
||||
- 성인 콘텐츠로 판별 가능한 이동은 login -> country/auth -> adult setting 순서로 guard를 통과한다.
|
||||
- source test가 helper 사용, token 기준, `MainV2Activity.showLoginActivity()` 호출, `countryCode`/`isAuth`/`isAdultContentVisible` 기준, `ContentSettingsActivity` 이동을 검증한다.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user