iOS 자동 갱신 구독 기능 구현에 대한 회고 - (3) 리뷰 통과, 그 후
긴급 리뷰 요청 승인
애플의 연말 골든위크 휴가 시작 하루 전인 22일 새벽. 긴급 리뷰 요청을 승인한다는 메일이 도착했다. 메일 내용을 한번 보자.
Thank you for contacting App Store Review to request an expedited review. We have made a one-time exception and will proceed with an expedited review of <앱 이름>.
If your app is rejected during this review, it is not necessary to request another Expedited Review when you resubmit. Once you revise and resubmit your binary (or metadata, in the case of a Metadata Rejection), your app will be automatically returned to the expedite queue.
We understand that situations can arise which require more immediate attention and have developed the Expedited Review Process for such situations. We want to remind you that expedited reviews cannot be guaranteed and are provided on a limited basis. Therefore, we may not be able to accommodate additional requests in the future.
요약하자면 “이번 한번만 받아줄게. 이번에 리젝된다 해도 다시 넣으면 긴급 리뷰 큐에 들어갈거야. 그건 그렇고 긴급 리뷰는 정말 긴급할때만 써라. 담부터 안 받아줄지도 모름.” 정도.
하지만 긴급 리뷰 요청만 받아들인거지, 실제 리뷰 통과 여부는 알 수 없었다. 긴급 리뷰 요청을 한번도 진행해보지 못한 나로서는 얼마나 시간이 더 걸릴지 알 수 없는 상황이었다. 그저 iTunes Connect 사이트와 리뷰어용 계정의 접속 기록을 계속 모니터링 하는 것 밖에.
리뷰 통과
22일 오전 11시 15분. 앱 심사가 통과 됐다. 먼저 인앱 아이템이 심사를 통과했고, 30분쯤 지나고 났더니 앱 심사가 통과됐다.
하지만, 아직 끝나지 않은게 하나 있었다. 앱 스토어 릴리즈 후 새로 추가된 인앱 아이템 구매 테스트를 진행하는데 해당 아이템이 구매되지 않는 문제가 있었다. 확인 결과 인앱 아이템을 등록했을때 구매할 수 있을때까지 어느 정도의 시간이 걸린다는 내용이 있었다. [1] 우리 앱의 경우, 4시간 정도 지난 오후 3시 정도에 인앱 아이템을 구매 할 수 있는 상태로 전환되었다.
정상화 되고 몇일 후, 이 문제에 대한 애플측의 답변이 도착했다.
개발자님께,
안녕하세요. 배포한 앱 내 구입을 구매할 수 없는 문제로 Apple 개발자 프로그램 지원팀에 연락해 주셔서 감사합니다. 앱 내 구입이 원활하게 판매되는 것이 개발자님께 중요한 사항인 점 인지하고 있으며 문의하신 사항에 대하여 최선을 다하여 안내해 드리도록 하겠습니다.
개발자님의 앱을 검토해 본 결과, 문의 메일을 보내신 시점에서는 24시간 캐싱 기간이 완료되지 않았기 때문에 앱 내 구입을 구매할 수 없는 문제가 발생하였던 것으로 보입니다.
기존에 Stack Overflow 를 통해 찾은 내용과 거의 같은 내용이었다.
이로써 길고 길었던 자동 갱신 구독 기능 구현 릴리즈가 끝이 났다. 크리스마스 이전에 (한참 늦었지만) 겨우 타 회사와의 이벤트를 진행할 수 있었고, 정상적으로 사용자 유입 & 결제가 이루어 지는 것을 확인했다.
이번 릴리즈에 대한 전체 타임라인을 적어 보자면 다음과 같다.
- 12.15 12:07 - 리뷰 심사 요청 (1차)
- 12.16 02:42 - 리뷰 진행중으로 상태 변경
- 12.16 03:37 - 리뷰 리젝 (1차)
- 12.16 12:06 - 리뷰 심사 요청 (2차) 및 긴급 심사 요청 (1차) 전송
- 12.17 02:54 - 긴급 심사 요청 (1차) 반려
- 12.17 04:45 - 리뷰 진행중으로 상태 변경
- 12.19 03:42 - 리뷰 리젝 (2차)
- 12.19 13:44 - 리뷰 심사 요청 (3차) 및 긴급 심사 요청 (2차) 전송
- 12.20 02:23 - 리뷰 진행중으로 상태 변경
- 12.20 02:42 - 긴급 심사 요청 (2차) 반려
- 12.21 09:44 - 인앱 마케팅 정보 관련 메일 수령, 인앱 아이템 리젝 후 수정
- 12.21 16:38 - 긴급 심사 요청 전송 (3차)
- 12.22 02:22 - 긴급 심사 승인
- 12.22 11:15 - 앱 심사 통과
- 12.22 11:22 - 앱 스토어 릴리즈 완료
결론과 교훈
이빈 업데이트는 우리 회사 마케팅 팀 외에도 다른 회사와 연계된 이벤트가 있었기 때문에 연기된 일정은 큰 문제를 일으켰다. 개인적으로도 속이 상했지만 회사 차원에서도 큰 문제가 됐다. 그래서 다시는 이런 일이 벌어지지 않게 하고자 이 회고를 작성하였다.
이번 일로 몇가지 교훈을 얻었는데,
첫째, 문서를 잘 읽자.
이번 기능 구현은 사실 어려운게 아니었는데, 애플의 자동 갱신 구독과 관련된 규정과 절차에 대한 인지가 부족했기 때문에 일어난 업데이트 지연이었다. 이 규정들은 앱 스토어 심사 지침이나 기타 문서를 읽어봤다면 알 수 있었던 것 이었다. 새로운 기능을 추가하고자 할떄는 수박 겉핥기식으로 문서를 읽지 않도록 해야겠다.
둘째, 출시 일정을 넉넉하게 잡자.
애플 심사가 2주 가까이 걸리던 시절에는 출시 일정을 정말 넉넉하게 잡았지만, 최근 들어 애플의 앱 심사가 빨라지면서 빨리 되겠지 하는 생각에 출시 일정을 긴박하게 잡는 일이 많아졌다. 추후 일정을 잡을때는 리젝을 당하더라도 일정에 문제가 없게끔 일정을 잡는게 필요할 것 같다.
셋째, 앱 리뷰를 올릴때는 성심성의껏 준비하자.
애플의 앱 스토어 심사는 리뷰어의 심기를 달래는 것이 매우 중요하다고 본다. 리뷰어가 기분이 나쁘다 싶으면 정책들을 매우 꼼꼼하게 따져서 리젝을 먹이는 경우가 있다. 이런 일을 방지하기 위해 리뷰 정보는 최대한 리뷰어를 배려하는 내용으로 적어야 하며, 특히 긴급 요청을 보낼때에는 최대한 정중하게 현재의 긴급한 상황을 설명하는게 중요하다는걸 알았다.
다시는 이런 일이 벌어지지 않도록 다음 업데이트에는 대비를 철저히 해야겠다.
참고 링크
App Store 심사 지침
Offering Subscriptions
Working with Subscriptions
In-App Purchase Configuration Guide for iTunes Connect