고객웹 · 재방문

웹 고객이 다시 들어오게 만드는 장치 기획서
홈 화면 추가 · 앱 설치 유도 · 웹 푸시(플레어레인)

작성 2026-09-28 · 서현일(CPO) · 대상 www.aboutfishing.kr 모바일 웹 · 동작 데모 /demo/ · 개발 코드 /code/
웹은 다시 들어올 때 주소를 기억하거나 검색해야 한다. 이 수고를 없애는 수단을 홈 화면에 두기 · 앱 받기 · 알림 받기 세 공간으로 나누고, 공간마다 자리와 문구를 따로 둔다. 먼저 띄우는 것은 헤더 아이콘이 한 번 펼쳐지는 캡슐 하나이고, 들어온 경로(광고·검색·직접·카톡 등)에 따라 펼치는 때를 다르게 한다. Android Chrome은 한 번 눌러 설치 창까지 가고, 코드로 홈 화면 추가를 띄울 수 없는 iPhone은 번호 그림 안내로 3~4번에 끝낸다. 고객 페르소나 8명 사용성 평균 93점으로 완료 기준(90점)을 넘었다.

1목표와 지표

목표는 웹 고객의 재방문율을 올리는 것이다. 9/28 론칭 전후 비교에서 결제 전환은 좋아졌지만 리텐션은 변화가 없었다. 웹으로 들어온 고객이 다시 오는 경로를 따로 만들어야 한다.

구분지표정의
주 지표웹 신규 회원 28일 재방문율웹에서 가입한 회원 중 가입일 다음 날부터 28일 안에 세션이 1회 이상 있는 비율. 앱 웹뷰 세션은 제외한다
보조홈 화면 실행 세션 비중전체 웹 세션 중 홈 화면 아이콘으로 시작된 세션(src=home 또는 display_mode = standalone)
보조제안 전환노출 → 누름 → 완료(홈 화면 추가·알림 허용·앱 설치)를 제안 종류와 노출 자리별로
보조웹 푸시 구독률·클릭률구독률 = 알림 허용 수 ÷ 알림 제안 노출 수. 클릭률 = 알림 클릭 ÷ 발송 성공
보조예약 후 앱 설치율첫 예약 완료 회원 중 14일 안에 원링크(pid=web_reentry) 경유 앱 설치 비율
감시이탈 신호제안 노출 직후 10초 안 이탈률, 닫기 비율, 알림 권한 거부 비율. 노출 전보다 이탈률이 오르면 빈도를 낮춘다

효과를 따로 재기 위해 웹 방문자의 10%는 제안을 전혀 보지 않는 비교군으로 둔다(추석 이벤트 홀드아웃과 같은 방식). 기준선은 배포 직전 2주를 GA4 운영 속성 553030050에서 저장한다.

2세 공간을 나눈다

다시 들어오는 수단은 세 가지이고, 권하는 자리와 문구를 서로 섞지 않는다. 한 자리에서는 한 가지만 권한다. 「예약하기」를 누른 뒤부터 결제가 끝날 때까지는 아무것도 띄우지 않는다.

공간정의누구에게쓰는 자리대표 문구
홈 화면에 두기설치 없이 폰 홈 화면에 어바웃피싱 아이콘을 만든다. 주소를 치지 않고 다시 들어오게 하는 것웹으로 둘러보는 모든 고객(앱 설치 고객·홈 화면 아이콘으로 들어온 고객 제외)F1 헤더 아이콘·캡슐, 마이 「홈 화면에 두기」 행, 안내 시트홈에 두기 · 홈 화면에 두기
앱 받기앱스토어에서 네이티브 앱을 설치한다첫 예약을 마친 고객 (9/7 원칙: 새 고객은 웹, 예약 고객은 앱)F3 예약 완료 카드, F6 홈 D-3 카드 보조 줄, F5 예약 내역 끝 줄, 마이 「어바웃피싱 앱」 행출항 전날 안내, 앱으로 받기 ›
알림 받기찜한 배에 빈자리가 나면 알려준다. 이 폰 알림(웹 푸시) → 안 되면 카톡 채널 → 안 되면 앱찜했거나 마감된 날짜를 본 고객F2 찜 직후 칩, 선박 상세 마감 날짜 줄, F5 찜 목록 끝 줄, F4 알림함 한 줄, F7 알림 설정 행빈자리 나면 알려드릴까요?
원터치 홈 화면 추가가 되는 곳과 안 되는 곳

3유입 경로별 정책

먼저 띄우는 제안은 헤더 아이콘이 캡슐로 한 번 펼쳐지는 것 하나다. 들어온 경로에 따라 첫 세션에 펼칠지, 몇 번째 화면부터 펼칠지를 다르게 한다. 접힌 아이콘, 고정 자리(F3~F7), 고객이 누른 것에 대한 응답(찜 직후 칩)은 경로와 관계없이 나온다.

유입 경로판별첫 세션 캡슐이유
광고(기획전·특정 화면·홈 착지 모두)gclid · fbclid · n_media · wbraid, utm_medium이 cpc·paid·display 등펼치지 않음. 그 세션에 예약을 마치면 다음 메인 화면에서 한 번광고 첫 세션은 예약이 목적이다. 기획전 착지면 판매 지면이라 더 조용해야 한다
검색(오가닉)이전 주소가 네이버·구글·다음·빙·줌세 번째 화면부터다시 올 수단이 없는 고객. 둘러볼 시간을 먼저 준다
다른 사이트 링크그 밖의 이전 주소세 번째 화면부터검색과 같다
짧은 링크·QR(선사 블로그 등)utm_id, go.aboutfishing.kr, utm_medium이 qr·blog·card·sns펼치지 않음, 다음 방문부터특정 배를 보러 온 고객. 첫 세션은 찜·빈자리 알림 쪽이 맞다
직접 입력(다이렉트)이전 주소 없음두 번째 화면부터주소를 직접 친 고객이 재진입 수고가 가장 크다
카카오 알림톡·메시지utm이 kakao·alimtalk, 또는 카카오톡 안에서 이전 주소 없음펼치지 않음카카오톡 안에서는 홈 화면 추가가 안 된다. 아이콘은 보이고 누르면 크롬(Safari)으로 옮긴다
웹 푸시src=push펼치지 않음이미 다시 올 수단이 있다
홈 화면 아이콘src=home 또는 앱처럼 열림아무것도 없음이미 홈 화면에 있다

4노출 형태와 문구

새 요소를 화면 위에 띄우기보다 기존 화면 규격 안에 넣는다. 보라 채움 버튼은 화면당 하나, 이모지·딤 배경은 쓰지 않는다. 글자 15px 이상, 누르는 영역 44px 이상.

형태공간모양과 동작문구
F1 헤더 아이콘·캡슐홈 화면검색 아이콘 왼쪽. 아이콘 24px + 10px 글자 「홈에 두기」. 정책이 허용하면 스크롤이 1.2초 멈출 때 연회색 캡슐로 늘어남(높이 36). 스크롤 10px, 다른 곳 누름, 8초 뒤 접힘홈에 두기 → 홈 화면에 두기
F2 찜 직후 칩알림헤더 바로 아래 흰 카드. 딤 없음. 10초 뒤 또는 40px 스크롤하면 조용히 내려감(거절로 세지 않음). 예약 버튼·날짜 목록을 가리지 않음찜했어요 · 빅보스호 빈자리 나면 알려드릴까요? [다음에] [이 폰으로 받기 / 카톡 채널 추가 / 앱으로 받기]
마감 날짜 줄알림선박 상세 날짜 목록의 마감 오른쪽 글자 링크. 누르면 칩과 같은 알림 신청마감 · 빈자리 알림 › / 켜면 회색 「마감 · 빈자리 알림 켜짐」
F3 예약 완료 카드앱예약 요약 아래 흰 카드 높이 88. 앱 아이콘 + 제목·설명 + 글자 링크출항 전날 안내 받기 · 날씨·출항 여부·집결 시간을 앱으로 [앱 받기 ›]. 카카오톡 안은 「출항 전날 안내는 카톡으로」(안내만)
F6 홈 D-3 카드 보조 줄앱구분선 아래 높이 44. 3번 보고 안 누르면 7일 숨김출항 전날 안내, 앱으로 받기 ›
F5 목록 끝 한 줄예약 내역=앱, 찜 목록=알림마지막 카드 아래 높이 44, 회색 글자 + 보라 링크. 목록이 비면 숨김예약 내역: 출항 전날 안내 · 앱으로 받기 › / 찜 목록: 빈자리 나면 알려드릴까요? · 알림 켜기 ›(카톡 채널 추가 · 앱 받기)
F4 알림함 한 줄알림헤더 아래 높이 48, 연회색 배경 + ✕(30일 닫힘)빈자리·예약 소식을 이 폰으로 · 켜기 ›
F7 마이 두 행홈 화면 · 앱설정·고객센터 위 두 행. 공간별로 한 행씩홈 화면에 두기 「설치 없이 아이콘만 생겨요 · 1분」 [방법 보기 / 바로 추가] · 어바웃피싱 앱 「앱스토어 설치 · 빈자리 알림을 앱으로」 [받기 / 열기]
F7 알림 설정 행알림「서비스 알림」 위 새 행빈자리·출항 안내를 이 폰으로 · 꺼짐. 카카오톡 안은 「빈자리 소식도 카톡으로 받기」
안내 시트홈 화면딤 없는 하단 시트. 번호 그림 3~4칸, [닫기][다 했어요]. 다 했어요를 누르면 완료 토스트홈 화면에 두는 법 · 설치 없이 아이콘만 생겨요. 주소를 치지 않아도 바로 열려요
토스트공통헤더 아래 먹색 한 줄, 2.4초홈 화면에 어바웃피싱을 두었어요 / 빅보스호 빈자리 알림을 신청했어요

5화면별 배치와 빈도

고객웹 55개 화면을 모두 검토했다. 노출하는 화면은 9개(1차 7, 2차 2)이고 나머지는 노출하지 않는다. 좌표는 8월통합 확정 목업(393×852) 기준이다.

화면형태공간자리단계
CW-01 새소식 홈F1 · F6홈 화면 · 앱F1: 검색 아이콘 왼쪽. 예정 예약이 있으면 D-3 카드 「내 예약 보기」 아래 F6, 이때 캡슐은 펼치지 않음1차
CW-50 출조 탭F1홈 화면검색 아이콘 왼쪽. 공지 바가 떠 있는 세션에서는 펼치지 않음1차
CW-55 예약 완료F3앱예약 요약 아래(y633~721), 버튼 위1차
CW-61 예약 내역F5앱마지막 카드 아래1차
CW-62 찜 목록F5알림마지막 카드 아래1차
CW-03 알림함F4알림헤더 아래(y112~160)1차
CW-60 마이F7 두 행홈 화면 · 앱설정·고객센터 위1차
CW-30 선박 상세F2 · 마감 줄알림찜 누른 직후 헤더 아래 칩, 마감 날짜 오른쪽 링크2차
CW-68 알림 설정F7알림「서비스 알림」 위2차
노출하지 않는 화면: 예약 상품·예약 접수·결제·결제 실패(결제 구간), 예약 상세·취소 완료·후기 작성, 검색·검색 결과·최근 검색어·어종 도감, 지도와 시트 7종, 조과 등록 4종·조과 상세·내 조과·선박 조황 상세, 신고·차단·댓글, 이벤트 목록·상세·쿠폰 복권·기획전(판매 지면), 공지·약관·고객센터·정보수정, 로그인, 회원탈퇴 3종(절대 금지)

빈도

구분규칙
먼저 띄우는 제안(캡슐 펼침·찜 직후 칩)세션 1회 · 7일 2회 · 28일 4회. 펼쳤는데 누르지 않은 것이 연속 2번이면 30일 쉼. 예약을 마친 세션의 캡슐 1회는 세션 1회 한도에서 빼고, 그 뒤 칩은 띄우지 않음
F1 접힌 아이콘상시. 한 화면 1개 계산에서 뺀다
칩 [다음에]7일, 세 번이면 30일
F4 ✕30일
F63번 보고 누르지 않으면 7일 숨김
한 화면 1개F3~F6이 있는 화면에서는 캡슐을 펼치지 않는다

6OS·브라우저별 홈 화면 추가 절차

한국 모바일 사용 비중은 Android 64.5%, iOS 35.5%, 브라우저는 Chrome 39.5% · Safari 28.6% · 웨일 16.3% · 삼성 인터넷 13.8%다(StatCounter 2026년 8월). iOS는 26.x가 약 70%이고 18.x가 약 15%다. 버전마다 누르는 순서가 달라서 안내 시트가 기기를 판별해 맞는 순서를 보여준다.

iPhone

버전·브라우저순서추가 후알림확인
iOS 27 Safari (9/14 출시)공개 자료로 확정 안 됨. 우선 iOS 26 안내를 보여준다——실기기 확인
iOS 26 Safari · 기본(Compact) 레이아웃주소창 옆 ⋯ → 공유 → 아래로 내려 「홈 화면에 추가」(안 보이면 「더 보기」) → 「웹 앱으로 열기」 켜짐 확인 → 추가웹 앱으로 열림(토글 기본 켜짐)가능한국어 라벨 실기기 확인
iOS 26 Safari · 하단/상단 레이아웃공유 → 아래로 내려 「홈 화면에 추가」 → 「웹 앱으로 열기」 확인 → 추가같음가능같음
iOS 16.4 ~ 18 Safari하단 공유 버튼 → 아래로 내려 「홈 화면에 추가」 → 추가매니페스트 display가 standalone이면 앱처럼 열림가능확인됨
iOS 15 ~ 16.3 Safari같음같음불가확인됨
iOS 16.4+ Chrome(115 이상)·Edge·Firefox주소창 오른쪽 공유 → 「홈 화면에 추가」 → 추가같음가능하다는 자료와 Safari만 된다는 자료(플레어레인 문서)가 엇갈림실기기 확인
iOS 16.3 이하 Chrome 등홈 화면 추가 불가 → Safari로 열어 달라고 안내—불가확인됨
iPad공유 버튼이 오른쪽 위. 26 이후 경로는 자료가 엇갈림——실기기 확인

iOS 판별: Safari 26부터 브라우저 식별 문자열의 OS 표기가 18_6에 고정된다. 그래서 OS 표기가 아니라 Safari 버전(Version/26)으로 iOS 버전을 판단한다(reentry.js에 반영). 26의 레이아웃은 웹에서 구분할 수 없다. 안내 시트는 iOS 26에 ⋯ → 공유 → 홈 화면에 추가 → 추가 4칸을 그리고 「공유 버튼이 화면에 바로 보이면 2번부터 하세요」를 붙인다. iOS 18 이하는 3칸.

Android

브라우저순서한 번 탭 설치알림확인
Chrome우리 버튼을 누르면 Chrome 설치 창 → 「설치」. 창이 안 뜨는 경우 안내: ⋮ → 「홈 화면에 추가」(최신 버전은 「설치 및 바로가기 만들기」) → 설치가능(beforeinstallprompt). 페이지를 한 번 이상 누르고 30초 이상 본 뒤부터가능확인됨
삼성 인터넷하단 ≡ → 「현재 페이지 추가」 → 「홈 화면」 → 추가. 「쉬운 사용 모드」에서는 안 됨지원 기록은 있으나 27.x 이후 안 뜬다는 보고가 있음 → 안내를 기본으로가능실기기 확인
네이버 웨일메뉴 → 「홈 화면에 추가」 → 추가 (경로 자료 없음)미확인미확인실기기 확인

앱 안 브라우저

앱자동 이동안 될 때 안내
카카오톡 Androidkakaotalk://web/openExternal?url= (비공식, 막힐 수 있음)오른쪽 아래 ⋮ → 「다른 브라우저로 열기」
카카오톡 iPhone같은 스킴오른쪽 아래 공유 → Safari 선택
네이버앱·인스타그램·페이스북 Androidintent://…;package=com.android.chrome;S.browser_fallback_url=…⋮ → 다른 브라우저로 열기
그 외 iPhone 앱 안 브라우저강제로 Safari를 열 방법 없음⋯ → Safari로 열기, 안 되면 「주소 복사」 버튼

카카오 알림톡 버튼은 공식 옵션("target":"out")으로 처음부터 외부 브라우저에서 열 수 있다. 예약 알림톡 링크에 이 옵션을 넣는 것이 가장 확실하다.

7웹 푸시 (플레어레인)

구성

언제 묻나

순간제목보낼 알림발송 방식
찜을 누른 직후 · 마감 날짜 누름찜했어요 · 빅보스호 빈자리 나면 알려드릴까요?찜한 배 취소 자리 발생백엔드가 취소 이벤트를 플레어레인에 전달 → 여정으로 발송
예약 완료 직후출항 전날 알림을 받아보세요출항 전날 날씨·출항 여부·집결 시간플레어레인 여정(예약 데이터 연동 필요)
「새 조황 알림 받기」이 배의 새 조황을 알려드릴까요?선장 조황 등록조황 등록 이벤트 전달
홈 화면 앱 첫 실행알림을 켜 둘까요?위 세 가지—

지켜야 할 것

8앱 설치 유도

9측정

GA4 이벤트언제매개변수
reentry_view제안이 화면에 나옴rx_type(add-home · install-app · open-app · escape · push), rx_surface(header-icon · capsule · chip-wish · done · line-wish · line-booked · sub-booked · bar-inbox · my · setting), rx_env(브라우저-OS버전)
reentry_click제안 버튼을 누름
reentry_dismiss닫음
reentry_prompt_resultAndroid 설치 창 결과rx_outcome(accepted · dismissed)
reentry_installed홈 화면 설치 완료(Android appinstalled)—
reentry_guide_view안내 시트가 열림rx_guide(ios26 · ios-safari · ios-other · chrome · samsung · whale)
reentry_push_result알림 권한 결과rx_outcome(granted · denied · default), rx_ctx
reentry_launch_home홈 화면 아이콘으로 실행—

10사용성 검증과 완료 기준

완료 기준: 고객 페르소나가 「쉽게 추가할 수 있었다」고 답하고, 사용성 점수가 100점 만점에 평균 90점 이상, 누구도 85점 아래가 아닐 것.

방법

채점 항목배점기준
발견20필요할 때 홈 화면·앱·알림 방법을 찾을 수 있었나
이해20누르면 무엇이 되는지 바로 알았나
완료 쉬움25끝까지 해낼 수 있나, 누르는 횟수·막힘
방해 없음15둘러보기·예약을 방해하지 않았나
신뢰·고급감10광고 같지 않고 서비스 일부처럼 보였나
유입 맥락 적합10들어온 경로에 맞는 때와 방식이었나

결과

페르소나기기 · 유입1회차2회차3회차
P1 56세 주말 출조 단골, 지난주 첫 예약Android 카카오톡 안 · 알림톡 「예약 확정」678692
P7 64세, 디지털 서툼, 친구 카톡 공유로 첫 방문Android 카카오톡 안 · 공유 링크678390
P2 42세 동호회 총무, 단체 예약 결제Android Chrome · 인스타 광고 → 기획전708789
P4 58세 서해 실속 출조자Android Chrome · 주소 직접 입력578589 (두 번째 방문 93)
P3 45세 정독형 계획 예약자iOS 26 Safari · 네이버 검색 → 선박 상세699193
P6 38세 낚시 입문 1년iOS 18 Safari · 선사 블로그 QR779296
P5 33세 남해·제주 조회만 하는 고객iOS Chrome · 구글 광고 → 선박 상세769399
P3-2 45세, 홈 화면 아이콘으로 다시 옴(예약 1건)iOS 26 홈 화면 앱759598
평균 / 최저69.8 / 5789 / 8393.3 / 89

회차마다 페르소나의 개선 요청(교체 문구·수치)을 반영해 다시 테스트했고, 3회차에 평균 93.3점, 최저 89점으로 기준을 넘었다. 가장 많이 점수를 올린 요소는 번호 그림 안내 시트, 완료 토스트, 칩 위치(예약 버튼·날짜 목록을 가리지 않음), 앱 안 브라우저에서 옮겨 온 뒤 한 번 더 누르게 한 흐름이다.

실제 고객 확인 (개발 전)

11공수와 일정

단위는 사람·일. 제공하는 reentry.js를 그대로 쓰는 기준이다.

단계작업FEBE앱디자인QA·PM
1차매니페스트 보강(display·id·scope·maskable), head 태그0.5——0.3—
도우미 연결, 화면 전환마다 refresh, 결제 구간 차단1.0————
유입 경로 판별·경로별 정책0.5————
F1 헤더 아이콘·캡슐 (새소식·출조)1.0——0.5—
F3 예약 완료 · F6 홈 D-3 카드 · F5 예약 내역·찜 목록1.0——0.3—
F4 알림함 · F7 마이 두 행0.6————
홈 화면에 두는 법 시트(번호 그림, 6종)·완료 토스트1.0——0.7—
크롬(Safari)으로 옮겨 열기 + 도착 시트 + 알림톡 버튼 외부 열기0.50.5———
원링크 파라미터, 앱에서 보던 경로 받기0.3—0.5——
GA4 이벤트·비교군 10%, 실기기 점검, 실제 고객 5명 확인0.5———2.5
2차F2 찜 직후 칩 · 선박 상세 마감 날짜 줄0.8————
플레어레인 웹 SDK 지연 로드·setUserId, 루트 sw.js1.0————
F7 알림 설정 행0.3————
카카오 채널 추가(결정 후)0.51.0——0.5
찜한 배 빈자리 알림 이벤트 · 앱 설치 여부·수신 동의 동기화—3.5——0.5
여정 설정·발송 점검————1.0
합계 (약 21)9.55.00.51.84.5

12결정 필요 · 실기기 확인 필요

번호항목권고
R-01iPhone에서도 홈 화면 공간을 헤더에 둘지둔다. 번호 그림 안내로 3~4번에 끝나고 페르소나 점수 93~99. 앱은 첫 예약 후 앱 공간에서만
R-02카카오톡 안 고객에게 카카오 채널 추가를 쓸지빈자리 알림(알림 공간)에만 쓴다. 채널 메시지 비용·광고성 수신 동의 운영을 정한 뒤 2차. 그 전에는 크롬(Safari)으로 옮겨 열기
R-03먼저 띄우는 제안 한도세션 1 · 7일 2 · 28일 4 · 연속 무시 2번이면 30일
R-04비교군10%, 6주 차 판정
R-05웹 푸시를 앱과 같은 플레어레인 프로젝트에같은 프로젝트. 플레어레인 확인
R-06출항 전날 안내 채널알림톡 유지, 웹 푸시는 빈자리·조황부터. 카카오톡 안 예약 완료 카드의 「출항 전날 안내는 알림톡으로 보내드려요」가 사실과 맞는지 확인
R-08유입 경로별 첫 세션 정책(3장 표)표대로 시작, 2주 차에 경로별 이탈률 보고 조정
R-07찜 빈자리 알림의 정보성 분류법무 확인. 쿠폰이 붙으면 광고성

실기기 확인

13개발 전달물

파일내용
reentry.js재방문 도우미 전체(기기·유입 경로 판별, 경로별 정책, 빈도, 세 공간 F1~F7, 안내 시트, 브라우저 옮겨 열기, GA 이벤트). 외부 라이브러리 없음, 클래스 이름은 afrx- 접두
site.webmanifest현재 파일에 display · id · scope · maskable 아이콘 추가
head-tags.html모든 페이지 공통 head 태그
sw.js루트 서비스워커(플레어레인 한 줄). fetch 캐시 없음
flarelane-init.js플레어레인 SDK 지연 로드·setUserId·태그
<span data-reentry-slot></span>               ← F1 헤더 (검색 아이콘 왼쪽)
<div data-reentry-done></div>                ← F3 예약 완료
<div data-reentry-bar="inbox"></div>          ← F4 알림함
<div data-reentry-line="wish|booked"></div>   ← F5 찜 목록 · 예약 내역
<div data-reentry-sub="booked"></div>         ← F6 홈 D-3 카드
<div data-reentry-row></div>                 ← F7 마이
<div data-reentry-setting></div>             ← F7 알림 설정 (2차)
AFReentry.suggest('wish', { name, top })        ← F2 찜 직후 (2차, top = 헤더 아래 px)
<a data-reentry-soldout="10/12(일)" data-name="배 이름">  ← 마감 날짜 줄 (2차)
AFReentry.bookedNow()                           ← 예약 완료 화면에서 한 번
AFReentry.refresh()                             ← 화면이 바뀔 때마다

AFReentry.init({
  appLink: '원링크 주소', iconUrl: '/icon-192.png',
  isBooked: () => 결제 완료 예약 수 > 0,
  isMainScreen: () => 새소식·출조 화면인지,
  headerHeight: 56, tabbarHeight: 64,
  onKakaoChannel: () => 카카오 채널 추가 (Promise, 2차),
  dayBeforeByKakao: true,           // 출항 전날 안내를 알림톡으로 보내는 중이면
  policy: { /* 유입 경로별 정책 덮어쓰기 (선택) */ },
  onEvent: (name, p) => dataLayer.push({ event: name, ...p }),
  onPushAccepted: (ctx) => AFPush.subscribe(ctx),
});

현재 www 실측(9/28): /site.webmanifest는 있으나 display·scope·id 없음, 아이콘 192·512 있음(maskable 없음), theme-color·apple 메타 없음, 서비스워커 경로 5곳 모두 404, 딥링크 파일 2종 404. HTML의 manifest 연결 태그와 번들 안 푸시 SDK 유무는 확인하지 못했다.

출처