앱 강제 업데이트
손님 폰에 깔린 앱은 깔린 그날의 판이에요. 앱이 열릴 때 판 번호를 확인해서, 너무 낡은 판이면 업데이트로 안내하는 장치예요. 사장님 폰에서는 재현되지 않는 오류가 여기서 끊겨요.
쉽게 말하면
작년에 메뉴판을 받아 간 손님이 오늘 그 메뉴판을 들고 왔어요. 없는 메뉴를 주문하고, 바뀐 가격을 못 받아들여요. 손님이 무례한 게 아니라 손에 든 종이가 낡은 것이죠. 앱도 똑같아요. 손님 폰에 깔린 앱은 깔린 그날의 판이라서, 사장님이 고쳐 올린 것은 사장님 폰에만 반영돼요. 앱 강제 업데이트는 문 앞에서 메뉴판 날짜를 확인하고, 낡은 손님에게 새 메뉴판을 받아 가라고 안내하는 장치예요.
석 달 전 판을 쓰는 손님이 계속 남아요. 그 손님만 오류가 나고, 사장님 폰에서는 재현이 안 돼요.
같은 문의가 끊겨요. 어느 판을 쓰는 손님이 몇 명인지도 함께 보여요.
이 문서는 스토어에 올린 앱을 가진 사장님에게 필요해요. 링크로 여는 웹사이트만 있다면 훨씬 가벼운 처방으로 끝나요. 그 경계는 아래에서 따로 정리할게요.
왜 옛 버전 손님만 오류가 나나
앱은 손님 폰에 복사되어 설치된 프로그램이에요. 사장님이 고쳐서 새로 올려도, 이미 깔린 앱이 저절로 바뀌지는 않아요. 웹사이트와 결정적으로 다른 대목이 이거예요.
자동 업데이트를 켜 둔 손님은 며칠 안에 새 판으로 넘어가요. 그런데 자동 업데이트를 꺼 둔 손님, 저장 공간이 꽉 찬 손님, 데이터를 아끼려고 와이파이에서만 받는 손님은 몇 달씩 옛 판에 남아요.
- 1서버 쪽을 고쳐요. 예를 들어 주문서에 칸 하나를 더 받기로 정했어요. 좋은 개선이에요.
- 2새 판 앱은 그 칸을 채워 보내요. 옛 판 앱은 그런 칸이 있는 줄 모르니 안 보내요.
- 3서버가 칸이 빈 주문을 거절해요. 옛 판 손님에게만 "주문에 실패했어요"가 떠요.
- 4사장님 폰은 새 판이라 아무 문제가 없어요. 재현이 안 되니 원인을 찾을 실마리가 없어요.
- 5손님은 이유를 설명하지 못하고 그냥 떠나요. 별점 하나와 짧은 후기가 대신 남아요.
제일 비싼 대목은 재현이 안 되는 것
답이 안 나오는 오류 문의는 유독 여기에 몰려 있어요. "제 폰에서는 되는데요"로 끝난 문의를 모아 보면 판 번호가 같은 경우가 많아요. 그래서 첫 번째 처방은 막는 장치가 아니라 문의 창구에서 앱 판 번호를 함께 받는 것이에요. 이것만으로 원인 파악 시간이 확 줄어요.
세기를 셋으로 나눠서 써요
이름에 강제가 붙어 있지만 실제로는 세기를 골라 쓰는 장치예요. 처음부터 막는 쪽으로 가는 건 거의 항상 손해예요.
| 세기 | 손님이 겪는 것 | 어떤 때 쓰나 |
|---|---|---|
| 알림 | 화면 위에 "새 판이 나왔어요" 띠가 뜨고, 그냥 쓸 수 있어요 | 화면이 나아졌거나 기능이 늘었을 때. 손해 볼 게 없어요 |
| 권함 | 안내 창이 뜨고 "지금 업데이트"와 "다음에"가 함께 있어요 | 불편한 오류를 고쳤을 때. 대부분의 경우가 여기예요 |
| 막음 | 안내 창만 뜨고 업데이트 말고는 나아갈 길이 없어요 | 돈이 잘못 계산되거나 손님 정보가 잘못 저장되는 판일 때 |
| 되돌림 | 손님은 아무것도 못 느껴요. 방금 켠 막음이 즉시 풀려요 | 최소 판 번호를 잘못 적어서 정상 손님까지 막혔을 때 |
순서를 지키는 게 요령이에요. 알림으로 2주, 권함으로 2주를 지나면 옛 판에 남는 손님은 아주 적어져요. 그 적은 수만 막음으로 넘겨요. 반대로 처음부터 막으면, 아직 새 판을 못 받은 다수를 한꺼번에 문 앞에 세우게 돼요.
막음은 손님을 문 앞에서 세우는 일이에요
급한 순간에 앱을 열었는데 업데이트부터 하라고 하면, 통신이 느린 자리에서는 그냥 포기해요. 그래서 막음은 돈과 정보가 걸린 판에만 쓰고, 안내 문구에 왜 막았는지 한 줄을 반드시 적어요. 이유 없는 막음은 손님에게 협박처럼 읽혀요.
증상을 알아보고 AI에게 말하기
아래 왼쪽 증상이 반복되면 판 확인 장치를 넣을 때예요. 오른쪽 문장은 다듬지 않고 그대로 스튜디오 채팅에 붙여 쓰면 돼요.
| 이런 증상이면 | AI에게 이렇게 말하면 돼요 |
|---|---|
| 저는 되는데 손님만 오류가 나요 | 앱이 열릴 때 서버에 현재 판 번호를 물어보게 해 주세요. 서버가 정한 최소 판보다 낮으면 업데이트 안내 화면을 먼저 띄워 주세요 |
| 옛 판 손님이 몇 명인지 모르겠어요 | 문의하기와 오류 기록에 앱 판 번호와 기기 종류를 자동으로 함께 남겨 주세요 |
| 안내는 띄우되 막지는 않고 싶어요 | 업데이트 안내 창에 지금 하기와 다음에 하기 두 버튼을 넣어 주세요. 다음에를 누르면 하루 동안 다시 묻지 않게 해 주세요 |
| 지난 판에서 금액 계산이 틀렸어요 | 최소 판 번호를 서버 설정 한 곳에서 정하게 해 주세요. 그 값보다 낮은 판은 업데이트 화면에서 더 나아가지 못하게 막아 주세요 |
| 막음을 켰는데 되돌릴 방법이 없어요 | 막음을 서버 설정으로 켜고 끌 수 있게 해 주세요. 앱을 다시 올리지 않고 바꿀 수 있어야 해요 |
| 업데이트 버튼을 눌러도 아무 일이 없어요 | 업데이트 버튼이 각 스토어의 제 앱 페이지로 바로 열리게 해 주세요. 스토어 앱이 없는 기기에서는 브라우저로 열어 주세요 |
| 고쳤다는데 손님 화면은 옛 화면이에요 | 새 판을 올리면 손님 브라우저가 옛 화면을 붙들지 않게 해 주세요. 새 판을 발견하면 새로고침 안내 띠를 띄워 주세요 |
| 서버를 고치자 옛 판이 전부 멈췄어요 | 옛 판이 보내던 형식도 당분간 같이 받아 주세요. 빠진 칸은 기본값으로 채우고, 옛 형식 요청이 하루에 몇 건인지 기록으로 남겨 주세요 |
| 업데이트하라고 미리 알리고 싶어요 | 다음 달부터 옛 판을 지원하지 않는다는 안내를 앱 첫 화면 띠와 알림으로 함께 내보내 주세요. 날짜를 문구에 넣어 주세요 |
직접 해보기
판 확인부터 붙여 보세요
막음까지 갈 필요 없어요. 판 번호를 확인해서 안내 띠를 띄우는 것까지가 첫걸음이에요. 위 표의 첫 줄과 둘째 줄을 그대로 붙여 보세요. 앱을 아직 안 냈어도, 문의에 판 번호가 함께 오는 것만으로 이득이에요.
스튜디오 열기웹으로 만든 서비스는 사정이 달라요
바이브캠퍼스에서 만드는 결과물은 대개 브라우저에서 열리는 웹 형태예요. 웹은 스토어를 안 거치니 옛 판 문제가 훨씬 가벼워요. 손님이 다시 접속하면 대개 새 판을 받아요.
그래도 옛 화면이 남는 경우가 있어요. 손님 브라우저가 화면 파일 사본을 들고 있는 경우와, 손님이 탭을 며칠째 안 닫은 경우예요. 앞쪽은 캐시 이야기이고, 처방이 완전히 달라요.
| 형태 | 옛 판이 남는 기간 | 처방 |
|---|---|---|
| 브라우저로 여는 웹사이트 | 대개 다음 접속까지 | 캐시 설정을 손보고, 새로고침 안내 띠를 띄워요 |
| 홈 화면에 추가한 웹앱 | 다음 실행에서 조용히 교체돼요 | 새 판을 감지하면 "새로고침하면 반영돼요" 안내를 띄워요 |
| 스토어에 올린 앱 | 손님이 업데이트할 때까지, 몇 달도 가요 | 판 번호 확인과 안내 화면. 이 문서가 필요한 줄이에요 |
| 며칠째 열려 있는 탭 | 손님이 닫을 때까지 | 서버와 판 번호를 주기적으로 맞춰 보고 안내 띠를 띄워요 |
정리하면, 이 문서가 정말 필요한 건 세 번째 줄이에요. 스토어에 앱을 올린 적이 없다면 새로고침 안내 하나로 충분하고, 업데이트 안내 창은 만들 이유가 없어요.
지금은 신경 쓰지 않아도 되는 때
솔직하게 말할게요. 이 문서를 읽는 사장님 대부분은 강제 업데이트를 만들 필요가 없어요. 필요 없는데 만들면 손님을 막는 스위치만 하나 늘어나요.
| 내 상황 | 강제 업데이트는 |
|---|---|
| 링크로 여는 웹사이트만 있어요 | 필요 없어요. 새로고침 안내 하나면 끝이에요 |
| 스토어 앱이 있는데 손님이 스무 명이에요 | 아직이에요. 문의 창구에 판 번호만 함께 받아 두세요 |
| 화면 색과 문구만 바꿨어요 | 알림 띠도 필요 없어요. 자동 업데이트가 알아서 해요 |
| 지난 판에서 금액이 잘못 계산됐어요 | 지금 필요해요. 막음까지 켜는 몇 안 되는 경우예요 |
| 손님 정보가 잘못 저장되는 판이 나갔어요 | 지금 필요해요. 망가진 기록을 되돌리는 게 훨씬 비싸요 |
| 서버가 주고받는 형식을 바꿀 계획이에요 | 바꾸기 전에 넣어 두세요. 바꾼 뒤에 넣으면 이미 멈춘 손님에게는 안내가 안 닿아요 |
| 앱을 외주로 맡겼어요 | 지금 확인하세요. 최소 판 번호를 서버에서 바꿀 수 있는지 물어보세요 |
가장 흔한 낭비
앱이 없는데 업데이트 안내 창을 만드는 일이에요. 웹에서는 그 버튼을 눌러도 갈 곳이 없어요. 스토어에 내 앱 페이지가 있을 때만 이 장치가 뜻을 가져요.
켜기 전에 준비할 다섯 가지
- 1판 번호를 사람이 셀 수 있게 정해요. 올릴 때마다 하나씩 오르는 숫자면 돼요. 화면에 보이는 이름과 기계가 비교하는 번호를 둘 다 남겨 두면 나중에 비교가 쉬워요.
- 2최소 판 번호는 서버 한 곳에 둬요. 앱 안에 적어 두면 그 값을 바꿀 때마다 새 판을 올리고 앱 심사를 다시 기다려야 해요. 서버에 두면 사장님이 오늘 바꿀 수 있어요. 이게 이 장치의 핵심이에요.
- 3되돌릴 스위치를 같이 만들어요. 최소 판을 잘못 적으면 정상 손님까지 문 앞에서 막혀요. 끄는 방법이 앱을 다시 올리는 것뿐이면 며칠 동안 장사를 못 해요.
- 4문구를 미리 써 둬요. 왜 막았는지, 얼마나 걸리는지, 안 되면 어디로 연락하는지 세 줄이면 충분해요. 사고가 난 날에는 문구를 다듬을 시간이 없어요.
- 5옛 판을 잠시 받아 주는 기간을 정해요. 서버가 옛 형식을 함께 받아 주는 동안이 손님이 업데이트할 시간이에요. 이 기간이 없으면 강제 업데이트가 아니라 영업 중단이 돼요.
심사 대기 시간을 계산에 넣어요
급하게 새 판을 올려도 스토어 검토가 끝나야 손님이 받을 수 있어요. 걸리는 시간과 절차, 예외로 빨리 처리해 주는 창구는 스토어마다 다르고 자주 바뀌니 각 스토어 정책 문서에서 확인하세요. 그래서 사고 당일에는 막음보다 서버 쪽 임시 처방이 먼저인 경우가 많아요. 순서는 사고 대응에 있어요.
옛 판이 얼마나 남아 있는지는 감으로 알 수 없어요. 판 번호별 접속 수를 남겨 두면 "지난주에 8퍼센트, 이번 주에 3퍼센트"처럼 줄어드는 모양이 보여요. 그 숫자를 보고 막을 날짜를 정하는 게 정확해요. 무엇을 남길지는 기록 보기에 있어요.
안내 문구가 기술보다 중요해요
손님이 보는 건 판 번호가 아니라 갑자기 앞을 막은 창 하나예요. 그 창에 무엇이 적혀 있느냐가 손님이 업데이트를 누를지, 앱을 지울지를 갈라요. 필요한 건 세 가지예요. 무엇을 고쳤는지, 얼마나 걸리는지, 안 될 때 어디로 연락하는지.
왜 막혔는지 모르니 손님은 앱이 고장 났다고 읽어요. 급한 순간이면 그 자리에서 다른 가게로 가요.
이유와 시간과 사람이 다 있어요. 손님은 막혔다고 느끼지 않고 챙겨 받았다고 느껴요.
막지 않고 권하는 창이라면 "다음에" 버튼을 반드시 남겨 두세요. 그리고 그 버튼을 누른 손님에게 같은 창을 몇 분 뒤에 또 띄우지 않게 해 주세요. 하루 한 번이면 충분해요. 창을 자주 띄우는 것과 손님이 업데이트하는 것은 관계가 없고, 짜증만 늘어요.
실제로 겪는 장면
장면 1 · 외주 개발자가 말했다
“최소 지원 버전을 앱에 박아 뒀어요. 옛 버전은 못 들어옵니다.”
절반만 좋은 소식이에요. 막는 장치는 생겼지만 기준값이 앱 안에 있으면 기준을 바꿀 때마다 새 판을 올리고 심사를 다시 기다려야 해요. "그 값을 서버에서 바꿀 수 있게 해 주세요. 그리고 막음을 끄는 스위치도 서버에 둬 주세요"라고 되물으세요.
장면 2 · 같은 문의가 세 번 왔다
“결제를 누르면 아무 일도 안 일어나요. 다른 폰에서는 된다는데요.”
판 번호를 물어봤더니 세 사람 모두 두 달 전 판이었어요. 고장이 아니라 옛 판이 서버 규약을 못 따라간 거예요. 문의 답변에 판 번호를 묻는 한 줄을 넣는 것만으로 이런 문의의 절반이 그 자리에서 풀려요.
장면 3 · 막음을 켠 날 후기가 쏟아졌다
“업데이트 안 하면 아무것도 못 쓰게 만들어 놨네요.”
막은 것 자체가 아니라 이유를 안 적은 것이 문제였어요. "결제 금액이 잘못 계산되는 문제를 고쳤어요. 안전한 결제를 위해 업데이트가 필요해요. 1분 걸려요" 이 세 줄이 있으면 반응이 완전히 달라져요.
자주 묻는 것
- Q. 요즘은 자동 업데이트를 켜 두는 손님이 많잖아요. 그래도 필요해요?
- 많이 줄지만 0은 되지 않아요. 자동 업데이트는 대개 와이파이에 연결됐을 때 돌아서, 데이터만 쓰는 손님이나 저장 공간이 꽉 찬 손님은 계속 남아요. 돈과 정보가 걸린 판이면 그 남은 몇 퍼센트가 문제를 거의 다 만들어요.
- Q. 사장님이 손님 폰의 앱을 대신 바꿀 수도 있나요?
- 없어요. 할 수 있는 건 "옛 판으로는 더 나아가지 못하게 하고 스토어로 안내하는 것"까지예요. 실제 업데이트는 손님이 눌러야 해요. 그래서 안내 문구가 기술보다 중요해요.
- Q. 예고 없이 바로 막아도 되나요?
- 기술로는 되는데 손님 반응이 나빠요. 알림과 권함 단계를 거치면 막을 때 남는 인원이 훨씬 적어요. 스토어 정책상 걸리는 대목이 있는지는 각 스토어 정책 문서에서 확인하세요.
- Q. 앱에서 결제를 받는데, 잘못된 판이 나갔으면 더 급한가요?
- 금액이 잘못 계산되는 판은 가장 급한 경우예요. 다만 이미 받은 결제를 취소하고 돌려주는 절차는 스토어 규정을 따라야 하고, 규정과 수수료는 자주 바뀌어요. 절차와 기한은 각 스토어 정책 문서에서 확인하고, 손님에게 알릴 내용은 환불 정책에 맞춰 정하세요.
- Q. 웹인데 손님이 옛 화면을 본다고 해요. 같은 문제예요?
- 아니에요. 그건 업데이트가 아니라 사본 문제예요. 캐시 문서를 보세요. 처방이 완전히 달라요.
- Q. 옛 판을 얼마나 오래 받아 줘야 하나요?
- 정해진 답은 없어요. 판 번호별 접속 수가 줄어드는 모양을 보고 정하는 게 맞아요. 규모가 작으면 몇 주로 짧게 잡아도 되고, 손님이 많으면 다음 두 판까지는 받아 주는 식으로 여유를 둬요.
- Q. 업데이트 안내 화면도 심사에서 볼까요?
- 심사에서는 앱이 정상적으로 열리는지를 봐요. 안내 화면이 조건 없이 항상 떠서 아무것도 못 쓰게 되면 문제가 될 수 있어요. 제출 전에 새로 설치한 상태에서 처음부터 끝까지 한 번 써 보세요. 앱 심사에 점검 목록이 있어요.
확인해 보세요
지난 판에서 결제 금액이 잘못 계산되는 것을 발견했어요. 옛 판 손님이 아직 남아 있어요. 무엇을 고를까요?
하나 더
최소 지원 판 번호를 앱 코드 안에 적어 두면 어떤 일이 생기나요?
더 깊이 (안 읽어도 괜찮아요)
판 번호를 두 개 쓰는 이유 · 손님에게 보이는 이름과 기계가 비교하는 번호를 따로 두는 관례가 있어요. 보이는 이름은 사람이 읽기 좋게 짓고, 비교는 하나씩 오르는 정수로 해요. 보이는 이름만으로 크고 작음을 따지려 하면, 열 번째 판과 아홉 번째 판 중 어느 쪽이 최신인지 기계가 헷갈리는 문제가 생겨요. 앱을 맡길 때 "비교용 번호가 따로 있나요"라고 한 번 물어보면 이 함정을 미리 피해요.
옛 판을 받아 주는 기간이 실은 업데이트 정책의 본체예요 · 서버가 옛 형식을 언제까지 받아 줄지가 진짜 결정이에요. 짧게 잡으면 손님이 문 앞에서 막히고, 길게 잡으면 서버 안에 옛 형식 처리가 층층이 쌓여요. 규모가 커지면 이 기한을 어딘가에 적어 두고, 기한이 지난 것은 실제로 걷어내야 해요. 안 걷어내면 몇 년 뒤에 아무도 이유를 모르는 예외 처리가 남고, 남에게 맡길 때 그것부터 설명해야 해요.
비유가 어긋나는 지점 · 메뉴판은 손님이 받아 들면 그 자리에서 바뀌지만 앱은 그렇지 않아요. 스토어 검토, 통신 상태, 저장 공간, 오래된 기종처럼 사장님이 손댈 수 없는 것들이 사이에 끼어 있어요. 그래서 "새 메뉴판을 쥐어 준다"보다 "새 메뉴판을 가져가라고 안내하고, 옛 메뉴판 손님도 당분간 받아 준다"가 실제에 가까워요. 강제라는 이름이 실제보다 세게 들리는 이유이기도 해요.
이것만 기억하세요
- ·손님 폰의 앱은 깔린 그날의 판이에요. 고쳐 올려도 저절로 바뀌지 않아요
- ·세기는 알림, 권함, 막음 셋이에요. 처음부터 막음으로 가지 않아요
- ·최소 판 번호는 앱이 아니라 서버에 둬요. 그래야 오늘 바꾸고 오늘 되돌려요
- ·막음은 돈과 정보가 걸린 판에만 쓰고, 이유 한 줄을 꼭 적어요
- ·스토어 앱이 없다면 새로고침 안내 하나로 충분해요