알림의 내용을 누가 만드는지는 사소해 보이지만 결정이 필요합니다. 사내 공용 알림 플랫폼은 여러 서비스가 함께 쓰므로, 문장을 서비스가 만들어 보내는지 우리가 템플릿으로 갖고 있는지에 따라 운영이 달라집니다.
문장을 보내나 값을 보내나
두 방식이 있습니다.
| 방식 | 서비스가 보내는 것 | 문장을 고칠 때 |
|---|---|---|
| 완성된 문장 | "홍길동님, 결제가 완료되었습니다" | 서비스를 배포해야 한다 |
| 템플릿 이름과 값 | 템플릿 결제완료, 이름 홍길동 | 우리 쪽만 고친다 |
후자를 고릅니다. 이유는 문장 수정 빈도입니다. 오타나 어투 수정은 자주 생기고, 그때마다 20개 서비스가 배포해야 하면 아무도 고치지 않습니다.
더 큰 이유는 채널별 형식 차이입니다. 같은 알림을 푸시와 메일과 문자로 보내면 형식이 전부 다릅니다.
| 채널 | 제약 |
|---|---|
| 푸시 | 제목과 한두 줄. 길면 잘린다 |
| 메일 | 길이 여유가 있다. 서식과 링크를 쓴다 |
| 문자 | 길이에 따라 요금이 달라진다 |
문장을 서비스가 만들면 서비스가 채널 세 개의 형식을 다 알아야 합니다. 템플릿을 우리가 갖고 있으면 채널별 차이가 우리 안에 머뭅니다.
푸시에 무엇을 담나
푸시 알림은 잠금화면에 보입니다. 화면을 켜기만 하면 옆 사람도 봅니다.
나쁨: 홍길동님 계좌에서 43만원이 출금되었습니다
나음: 출금 내역이 있습니다. 확인해 주세요
내용을 담으면 편리하지만 본인이 아닌 사람에게 보이는 경로가 됩니다. 그래서 민감한 알림은 사실만 알리고 상세는 앱에서 보게 합니다.
이 판단은 알림 종류마다 다릅니다. 광고는 내용을 다 담아야 눌리고, 금융 알림은 담지 않아야 합니다. 템플릿에 민감 여부를 표시해 두면 새 알림을 추가할 때 그 결정을 하게 됩니다.
템플릿을 고칠 때 무엇이 깨지나
템플릿과 값을 나누면 새 문제가 생깁니다. 템플릿이 요구하는 값과 서비스가 보내는 값이 어긋날 수 있습니다.
| 어긋남 | 사용자가 보는 것 |
|---|---|
| 값이 빠짐 | 빈 자리가 그대로 나간다 |
| 값 이름이 다름 | 채워지지 않은 문장이 나간다 |
이것은 배포 시점이 다르기 때문에 생깁니다. 우리가 템플릿에 값을 하나 추가하면, 그 값을 보내지 않는 서비스의 알림이 즉시 깨집니다.
그래서 템플릿에 필요한 값을 명시하고, 발송 전에 검사합니다. 값이 없으면 보내지 않고 실패로 남깁니다. 빈 자리가 있는 문장을 사용자에게 보내는 것보다 낫습니다.
새 값을 추가할 때는 없어도 되는 값으로 먼저 넣고, 모든 서비스가 보내기 시작한 뒤에 필수로 바꿉니다. 순서를 바꾸면 그 사이의 알림이 전부 실패합니다.
언제 보낼지도 내용의 일부다
같은 문장이라도 도착 시각에 따라 다르게 받아들여집니다. 사용자의 시간대를 알면 그 지역의 낮에 보내고, 모르면 보수적으로 정해야 합니다.
시간대를 모르면 가입 지역이나 최근 접속 시각으로 짐작한다
짐작이 틀리면 새벽에 알림이 간다
중요한 알림은 시각을 따지지 않고 바로 보냅니다. 마케팅 알림만 시간을 지킵니다. 이 구분은 이미 우선순위에서 나눈 것과 같은 선이므로, 같은 표시를 재사용합니다.