문서 목차
이 페이지에서목차

런타임 권한과 선택 동의

로그인 후 알림, 위치, 카메라처럼 기기 권한을 요청하는 흐름을 설계할 때 사용한다.

로그인 후 알림, 위치, 카메라처럼 기기 권한을 요청하는 흐름을 설계할 때 사용한다. 권한 요청 위치는 사용자의 작업과 제품 요구에 맞춘다. 로그인 직후 요청은 제품이 그 시점을 선택한 경우의 패턴이며, 모든 권한을 로그인 직후 모아서 요청하는 규칙이 아니다.

요청 순서와 화면#

  1. 인증 성공과 화면 전환이 끝난 뒤, 기능을 사용할 맥락에서 짧은 안내를 보여준다. 로그인 화면·온보딩·다른 모달 위에 겹치지 않게 요청을 직렬화한다.
  2. 제목은 사용자가 얻을 이익을, 본문은 허용할 항목과 사용 목적을 설명한다. 선택 사항이면 거절해도 사용할 수 있다는 점과 나중에 변경할 위치를 함께 적는다.
  3. 기본 동작은 알림 허용하기처럼 결과가 분명한 문구로, 보조 동작은 나중에처럼 건너뛸 수 있는 문구로 둔다. 버튼이 작은 화면·큰 글자에서 잘리면 세로로 배치한다. 안내를 읽는 것, 페이지 진입, 미리 선택된 체크박스를 동의로 기록하지 않는다.
  4. 사용자가 허용 동작을 선택한 다음 실제 OS/브라우저 권한 창을 연다. 앱의 안내 다이얼로그를 OS 권한 창처럼 꾸미거나, 앱의 동의를 OS 허용으로 취급하지 않는다.
  5. 성공은 실제 결과를 확인한 후 안내한다. 서버 저장 실패·권한 거절·토큰 등록 실패는 구분하며, 재시도하거나 서비스를 계속 이용할 경로를 제공한다.

CoUI 프로젝트에서는 현재 설치된 Dialog/Button 기본 스타일과 슬롯을 먼저 사용한다. 기본 스타일을 예전 픽셀값으로 덮어쓰지 않는다. 본문 스크롤, 접근 가능한 제목과 버튼, 오류 live region, 키보드 탐색, RTL, 확대 글자를 실제 렌더링으로 확인한다.

마케팅 동의와 푸시 권한은 별개의 상태#

상태저장·확인 위치판정
마케팅 수신 동의계정 서버, 결정 여부·동의 시각사용자가 명시적으로 동의한 경우만 참
기기 알림 권한현재 OS/브라우저 조회미요청·허용·거부·재요청 불가·미지원 구분
알림 연결계정과 현재 기기 토큰 등록 결과권한 허용만으로 등록 성공을 가정하지 않음
안내를 미룬 이력제품이 정한 계정/기기 범위동의나 OS 거절 값으로 대체하지 않음

계정 동의를 받아도 기기 권한이 거절될 수 있고, 기기 권한을 허용해도 마케팅에는 동의하지 않을 수 있다. 한 상태의 변경으로 다른 상태를 자동으로 바꾸지 않는다. 이벤트·혜택 푸시는 계정의 현재 동의와 유효한 기기 연결이 모두 있을 때만 발송한다. 다른 종류의 알림까지 이 동의로 켜지 않는다. 동의 변경은 관련 필드만 갱신해 다른 알림 설정이나 통화·프로필 설정을 덮어쓰지 않는다.

반복 요청과 복구#

  • 이미 결정한 계정이나 안내를 미룬 기기에서 화면 재빌드·탭 이동·로그인 반복마다 자동 팝업을 재생성하지 않는다. 재안내 주기는 제품 요구로 정하고 설정에서 직접 다시 요청할 경로를 제공한다.
  • OS가 재요청을 막은 상태에서는 계속 권한 창을 띄우려 하지 말고 설정에서 변경할 위치를 알려준다. 기기별 상태 의미는 현재 SDK로 확인한다.
  • 비동기 조회 중 로그아웃·계정 변경·화면 폐기가 일어나면 이전 세션의 결과를 버린다. 열린 요청 모달만 닫고 다른 화면을 pop하지 않는다. 저장 중 중복 탭을 막는다.
  • 토큰 갱신·재설치·다중 기기·계정 전환·로그아웃을 처리한다. 로그아웃 해제 실패를 조용히 성공으로 표시하지 않는다. 마케팅 철회는 발송 시점에도 다시 확인한다.
  • 지원하지 않는 플랫폼이나 발송 구성이 없는 환경에서 활성화되었다고 표시하지 않는다. 클라이언트 코드 완료와 자격증명/APNs/VAPID/서비스 워커 설정, 실기기 수신 검증을 분리해 보고한다. 실제 사용자에게 시험 메시지를 발송하려면 대상과 발송 승인이 필요하다.

확인할 동작#

첫 진입·기존 동의·거절·나중에·저장 실패 후 재시도·권한 허용 뒤 등록 실패·로그아웃 중 응답·계정 전환을 상태 전이로 확인한다. 작은 화면, 다크 모드, 큰 글자, 긴 번역·RTL에서 버튼과 본문이 보이는지 점검한다. 모달 골든은 전환 애니메이션이 끝난 실제 이미지를 열어 확인한다. 캡처 성공만으로 표시 성공이나 기준 이미지 비교 성공을 주장하지 않는다.

푸시는 전경·배경·종료 상태 수신과 클릭 목적지까지 검증한다. 토큰과 발송 자격증명은 테스트 로그·스크린샷·문서에 노출하지 않는다. 구현 범위를 문서에 남기고 미검증한 운영 설정을 완료된 기능으로 표현하지 않는다.

검색어를 입력하면 문서를 찾습니다.

↑ ↓ 이동 · Enter 열기Esc 닫기