참고로 아직도 제대로 작동하지 않는다
성경통독 기능을 만들면서, 언젠가는 알림이 필요하겠다는 생각이 들었다. 매일 같은 분량을 읽는 통독이다 보니, 잊지 않게 한 번쯤 알려주는 게 좋겠다고 생각했다. 그래서 성경통독에 알림을 설정하는 기능을 마련했다.
문제는 그 다음부터였다.
알림은 단순히 화면에 메시지를 띄우는 게 아니었다. Firebase를 통해 메시지를 보내는 구조였고, 그걸 각 기기로 전달해야 했다. 이런 방식의 알림은 처음이었다. API를 받아오는 것과는 전혀 다른 영역이었다. 뭔가 한 번 더 복잡한 세계로 들어온 느낌이었다.
게다가 로컬에서 Firebase 문서를 만들어서 올려야 했다. 생각해보면 나는 로컬 환경에서 본격적으로 개발해본 적이 거의 없었다. 늘 웹에서, 보이는 화면 위주로만 만지작거리던 사람인데, 로컬에서 설정 파일을 만들고, 그걸 다시 배포하는 과정이 생각보다 너무 어려웠다. 지금도 솔직히 완전히 이해하고 있다고 말하긴 어렵다.
어쨌든 알림은 뜨긴 뜬다. 그런데 이상했다. 알림이 한 번이 아니라 두 번씩 왔다. 태블릿과 휴대폰에 각각 토큰이 발행돼 있어서 그런 것 같았다. 한 계정으로 로그인했을 뿐인데, 기기마다 토큰이 따로 생기다 보니 알림도 두 번씩 오는 상황이었다. 이 문제는 아직도 해결하지 못했다.
더 당황스러웠던 건 최근에 발견한 문제였다. 계정을 삭제했는데도 알림이 계속 오는 걸 알게 됐다. 내가 실수로 계정을 하나 삭제하면서 알게 된 사실이었다. 아이디는 지웠는데, 기기에 발행된 토큰 정보는 그대로 남아 있었던 거다. 그래서 그룹을 나가도, 심지어 계정을 삭제해도 알림이 계속 왔다.
그제야 깨달았다. 지금 구조에서는 알림이 ‘통독일정’이 아니라 ‘기기’에 묶여 있었다는 걸.
그래서 또 수정해야 할 게 생겼다. 앞으로는 기기 기준이 아니라, 성경통독 플랜에 맞춰서 알림 토큰이 발행되도록 구조를 바꿔야 한다. 누가 어떤 플랜에 참여하고 있는지, 그 플랜이 끝나면 알림도 같이 정리되도록. 말로 쓰면 간단한데, 실제로 어떻게 고쳐야 할지는 아직 정리 중이다.
알림 하나 붙였을 뿐인데, 생각보다 많은 게 엮여 있었다. 사용자, 기기, 토큰, 플랜, 그룹. 그동안은 대충 넘어가도 됐던 것들이, 알림 하나 때문에 전부 연결되기 시작했다.
그래도 이상하게, 포기하고 싶다는 생각은 들지 않았다. 다만 확실해진 게 하나 있다. 이건 아직 완성된 기능이 아니라는 것. 그리고 이 프로젝트는 여전히 진행 중이라는 사실이다.
아이디를 삭제했다가 알림이 계속 오는 경험에 대해서는, 다음에 따로 한 번 더 써보려고 한다. 그때는 또 다른 이야기가 나올 것 같다.
어쨌든, 또 하나의 수정사항이 생겼다.
이만하면 됐지 싶었는데, 역시 아직은 아니다.