///
Search

Spec: 위치팝업 mvp

Overview

테스트 지역: 서울 내 특정 지역 / 서울 주요 지역 / 서울 전체 / 전국
오프라인 브랜드: 주요 카테고리 TOP 3 or 인기 브랜드 기준

Epic 사용자는, 오프라인에서 빠르게 결제하기 위해, 원하는 부스트를 쉽게 찾을 수 있다.

User story

사용자는 메인의 버튼을 누르면 위치 팝업을 볼 수 있다.

위치 권한 허용한 경우: 팝업 볼 수 있음
Scenario 사용자는 위치 팝업을 볼 수 있다. given 최신 버전 앱에 첫 진입이다. 메인의 버튼 누르면 위치 권한 팝업 노출된다. when '앱 사용 중에만 허용'을 선택한다. then 위치 팝업이 등장한다. given 최신 버전 앱에 첫 진입이다. 메인의 버튼 누르면 위치 권한 팝업 노출된다. when '한 번 허용'을 선택한다. then 위치 팝업이 등장한다. given 최신 버전 앱에 첫 진입이 아니다. 이전에 '앱 사용 중에만 허용'을 선택했다. when 메인의 버튼을 누른다. then 위치 팝업이 등장한다.
Plain Text
복사
위치 권한 허용 안한 경우: 팝업 볼 수 없음
Scenario 사용자는 위치 팝업을 볼 수 없다. given 최신 버전 앱에 첫 진입이다. 메인의 버튼 누르면 위치 권한 팝업 노출된다. when '허용 안함'을 선택한다. then 팝업 닫고 메인이 노출된다. given 최신 버전 앱에 첫 진입이 아니다. 이전에 '한 번 허용'을 선택했다. when 메인의 버튼을 누른다. then 위치 권한 팝업이 노출된다. given 최신 버전 앱에 첫 진입이 아니다. 이전에 '허용 안함'을 선택했다. when 메인의 버튼을 누른다. then os 설정으로 이동한다.
Plain Text
복사

사용자는 위치 팝업에서 부스트를 구매할 수 있다.

Scenario 사용자는 위치 팝업에서 원하는 부스트를 구매할 수 있다. given 위치 팝업이 등장해 있다. when 원하는 부스트를 누른다. then 해당 부스트 상세 모달이 노출된다. given 부스트 상세 모달이 등장해 있다. when '부스트' 버튼을 누른다. then 부스트가 구매된다. 번개가 소진된다.
Plain Text
복사

Policy

부스트 노출 로직

팝업 내에서 부스트가 중복되지 않는다.
사용자 반경 1km 이내 오프라인 부스트를 노출한다.
최대 3개 보여주며, 가까운 순으로 보여준다.
반경 1km 이내 부스트 개수
위치 부스트
설명
1개
1개
2개
2개
3개
3개
4개 이상
가까운 순 3개
총 3개 이상, 같은 거리 부스트가 있을 시 그 중 랜덤 노출한다.
0개
어디서나, 택시
“내 주변 부스트가 보이지 않네요. 이런 부스트는 어떠세요?”

부스트 노출 정책

기존 부스트 정책(사용 가능 횟수, 예산 등)과 동일하게 적용한다.
사용자의 ‘오늘의 리스트’에 있는 부스트만 노출한다.

위치 정보 수집

위치 정보
목적
권한
저장 위치
사용자가 부스트 켠 위치
추후 많은 사용자가 부스트 켠 위치 기반으로 부스트 추천하기 위해 미리 위치 정보 수집.
앱 사용 중 허용
?

Wireframe

부스트 구성 요소

구분*
정의*
DB table* / API path
DB column* / API body
상세 header, search, type ...
history
부스트 이름
브랜드/가맹점 또는 부스트 설정한 명칭
boost_promotion_policy
sub_title
번개 수
부스트 구매에 필요한 번개 수
boost_promotion_policy
bolt_price
스킴
정률부스트: 캐시백율, 최대 캐시백 정액부스트: 캐시백 액수, 최소 결제금액
promotion_policy
discount
유의사항
부스트 상세-유의사항 버튼 누르면 등장하는 페이지
boost_promotion_policy
description
부스트 버튼
버튼 누르면 바로 부스트 구매되는 기능

Mobile Events

Search
New items
Name
Type
Description
Property Value
비고
Event Property
진입 경로
메인: ‘main’ 위치 팝업: ‘location’
User Property
위치 수집 권한 동의 여부
항상 허용: ‘always’ 사용 중 허용 or 한 번 허용: ‘when in use’ 허용하지 않음: ‘false’
Event Property
부스트 온/오프라인 타입
온라인: ‘online’ 오프라인: ‘offline’ 온/오프라인: ‘onoffline’
Search
Event
Property Type
Property
Description
Property Value
Data Type
비고
Event Property
screen_view
화면에 진입했을 때
위치 팝업: ‘location
String
기존 이벤트 프로퍼티인 screen_view 안에 ‘location’이라는 밸류 생성
Event Property
source
진입 경로
메인: ‘main’ 위치 팝업: ‘location’
String
Event Property
on_off_line_status
부스트 온/오프라인 타입
온라인: ‘online’ 오프라인: ‘offline’ 온/오프라인: ‘onoffline’
String
User Property
location_access
위치 수집 권한 동의 여부
항상 허용: ‘always’ 사용 중 허용 or 한 번 허용: ‘when in use’ 허용하지 않음: ‘false’
String
언제 위치를 수집할 건지?
1.
사용자가 부스트를 켠 위치 - 앱 사용 중 허용
2.
사용자가 결제한 위치(부스트 적용) - 백그라운드에서 허용하면 알 수 있나?
위치 데이터는 어디에 저장할 건지?
루커에서는 보기 힘들지 않을까요? - troy
모바일 개발자 분들도 같이 얘기 필요하다
on_offline_status 프로퍼티 추가
부스트 관련 이벤트(30일 이내 쿼리한) 추가하려는데 공수는?
모바일 이벤트 표 가독성? 피드백 받기