로그인 세 개 붙이는 데 사흘이 걸렸다는 얘기를 전에 했는데, 솔직히 저를 더 오래 붙잡은 건 로그인이 아니라 알림이었어요. 로그인은 그래도 한 번 세 개를 다 붙여 놓으니까 그 뒤론 비슷하게 반복되는 느낌이라도 있었는데, 알림은 하나를 겨우 풀어놓으면 또 다른 데서 다른 방식으로 터졌어요. 안 오고, 겨우 오나 싶으면 뱃지가 안 뜨고, 어떤 앱은 켜자마자 죽고, 안드로이드에선 예약해 둔 알림이 아예 안 왔어요. 알림 하나 제대로 뜨게 하는 게 이렇게까지 여러 겹일 줄은 정말 몰랐어요.
처음엔 아예 안 왔어요
가장 먼저 겪은 건 알림이 그냥 아예 안 오는 거였어요. 코드는 넣었는데 폰에 아무것도 안 떠요. 이걸 일주일 가까이 붙잡았어요. 제일 답답했던 게, 안 오는 건지 늦게 오는 건지, 아니면 코드가 아예 안 도는 건지 구분이 안 된다는 거였어요. 그래서 제가 한 게, 알림 시간을 진짜 몇 시간 뒤로 잡는 대신 임시로 1분 뒤, 5분 뒤로 코드를 박아 놓고 계속 눌러보는 거였어요. 1분 뒤에 오나 안 오나 폰 붙잡고 기다리고, 안 오면 뭔가 고치고 또 1분 기다리고. 지금 생각하면 그 짧은 간격 테스트가 코드를 정리하는 데 큰 도움이 됐어요. 오는지 안 오는지를 빨리빨리 확인할 수 있으니까요.
한참 뒤에 클로드가 짚어준 건, 알림 기능을 켜는 초기화 한 줄이 빠져 있었다는 거였어요. 앱이 시작될 때 알림 담당하는 걸 한 번 켜 줘야 하는데, 그 호출이 안 들어가 있으니까 코드는 다 있는데 정작 알림이 살아나지를 않았던 거예요. 그 한 줄을 앱 시작하는 자리에 넣고 나니까 그제야 폰이 울렸어요. 일주일을 헤맨 게 결국 한 줄이었어요.
오긴 오는데 뱃지가 안 떴어요
알림이 오기 시작해서 이제 됐다 싶었는데, 이번엔 뱃지가 안 떴어요. 뱃지라는 게 앱 아이콘 위에 빨갛게 뜨는 숫자 있잖아요. 안 읽은 알림 개수 같은 거요. 알림은 잠금화면에 오는데 아이콘엔 그 빨간 게 안 붙는 거예요. 이것도 일주일을 헤맸어요. 알림이 오는데 왜 뱃지만 안 뜨는지가 도무지 안 잡혔거든요.
이것도 지금 원리까지 또렷이 아는 건 아닌데, 클로드가 풀어준 걸 정리하면 이래요. 알림을 보낼 때 이 알림은 아이콘에 숫자를 하나 붙여라 하고 뱃지 숫자를 따로 지정해 줘야 하는데, 그걸 안 넣으면 알림만 오고 뱃지는 안 붙는대요. 알림 오는 거랑 뱃지 뜨는 거가 저는 당연히 한 세트인 줄 알았는데, 코드에선 그게 따로였던 거예요. 그 숫자 지정을 넣고 나니까 아이콘 위에 빨간 게 떴어요.
iOS에선 켜자마자 죽기도 했어요
한 번은 알림을 붙였더니 앱이 아예 켜자마자 죽었어요. 열자마자 툭 꺼지는 거예요. 이건 좀 무서웠어요. 알림이 안 오는 거야 답답한 정도인데, 앱이 죽어버리면 아무것도 못 하니까요. 알고 보니 앱을 켜는 순간에 알림 권한을 바로 요청하도록 돼 있었는데, 그게 아이폰에서 문제가 됐던 거였어요. 켜자마자 권한부터 달라고 들이대면 안 되고, 앱을 먼저 정상적으로 띄운 다음에 따로 권한을 물어보게 바꿔야 했어요. 그 순서를 바꾸고 나니까 안 죽었어요.
안드로이드에선 예약이 아예 안 왔어요
9시간 늦게 오던 사건을 풀던 밤에 클로드가 마지막에 흘리듯 한 줄을 보탰던 게 기억나요. 같은 알림 문제가 안드로이드 최신 버전에서 또 다른 형태로 나타날 수 있다고요. 그땐 그러려니 하고 넘겼는데, 진짜로 그 뒤 얼마 안 가서 그게 일이 됐어요. 안드로이드 폰에서, 정해진 시간에 오기로 한 예약 알림이 아예 안 오는 거예요. 즉시 보내는 알림은 오는데, 시간 맞춰 예약해 둔 게 안 왔어요.
이건 솔직히 지금도 잘 몰라요. 클로드가 풀어준 걸 제 식으로 옮기면, 안드로이드가 어느 버전 이후로 예약 알림을 다루는 방식이 까다로워져서, 앱 설정 파일 어딘가에 예약 알림을 받아 주는 항목 몇 개를 따로 명시해 둬야 한다는 거였어요. 그게 빠져 있으면 예약은 걸리는데 정작 그 시간에 안 울려요. 클로드가 그 항목들을 설정 파일에 넣어 주고 나서야 예약 알림이 제 시간에 왔어요. 왜 최신 버전부터 그렇게 바뀌었는지, 그 항목들이 정확히 뭘 하는 건지는 저는 아직도 잘 몰라요. 다만 안드로이드에서 예약 알림이 안 오면 그 자리부터 봐야 한다는 것만 알아요.
그래서 알림은 유독 꼼꼼히 적어 뒀어요
알림 하나에 이렇게 여러 겹이 있는 줄 알았으면 처음부터 각오라도 하고 들어갔을 텐데, 저는 알림쯤이야 하고 가볍게 봤다가 매번 일주일씩 잡아먹혔어요. 그래서 알림 관련해서 풀어낸 건 유독 꼼꼼하게 그 실수노트에 적어 뒀어요. 초기화 한 줄 빠뜨리지 말 것, 뱃지 숫자 따로 지정할 것, iOS에선 권한을 켜자마자 묻지 말 것, 안드로이드 예약 알림은 설정 파일 항목을 확인할 것. 새 앱에 알림 붙일 때마다 이 목록을 먼저 한 번 봐요. 그 덕에 요즘은 알림 하나 붙이는 게 일주일이 아니라 반나절이면 돼요. 기도모임에서 그렇게 오래 헤맨 게, 그 뒤 앱들에선 그만큼 빨라진 거죠.

