개발 slecs

재설치 후 통계 복원·자동 수령 깜빡임 해소·접근성 음성 안내 추가

목차

v1.0.3 릴리즈 정리

이번 릴리즈는 세 갈래로 나뉨. 통계 동기화, 자동 수령 흐름 개선, 접근성 알림. 하나씩 정리.

서버 통계 동기화

  • 그동안 로컬 카운터만 보고 화면에 그렸음. 디바이스 재설치하면 숫자가 0 으로 리셋되는 게 거슬렸음
  • 이번엔 진입 시점에 서버에서 누적치를 한 번 받아오고, 이벤트 발생할 때마다 증분만 보내는 구조로 바꿈
항목 이전 변경 후
저장소 로컬 캐시만 서버 누적 + 로컬 캐시
재설치 시 0 리셋 마지막 누적치 복원
네트워크 호출 없음 진입 1회 + 증분
suspend fun syncStats(): Result<Stats> {
    val remote = api.fetchStats()
    cache.update(remote)
    return Result.success(remote)
}

서버에서 받아오는 건 한 번뿐이고 이후엔 증분만 올리니 트래픽 부담도 거의 없음. 재설치 후 첫 진입 화면에 누적치가 그대로 떠 있는 걸 처음 보고 잠깐 만족감 들었음.

자동 수령 UI 개선

  • 자동 수령은 사용자가 깨우지 않아도 백그라운드에서 도는 흐름. 그동안 토글 상태가 화면 진입할 때마다 깜빡거리는 문제가 있었음
  • 상태를 스트림으로 묶고, 화면이 다시 그려질 때 마지막 값을 즉시 보여주도록 수정. 초기값을 미리 박아둔 게 핵심이었음
  • 자동 수령 사용 중일 때 상단에 작은 인디케이터 표시. "지금 동작 중" 이라는 신호. 사용자가 "꺼진 줄 알고 다시 켰다" 같은 문의 보내던 게 이거 때문이었던 듯함

접근성 알림 추가

  • 시각 장애가 있는 사용자가 자동 수령 결과를 놓치는 제보가 있었음. 화면 변화 없이 백그라운드에서 결과만 바뀌니까 알 수 없었던 것
  • 스크린 리더로 읽히도록 수령 완료 시점에 announce 호출 추가. 화면 변화가 없어도 음성으로 안내됨
  • contentDescription 누락 영역도 일괄로 채움. 그동안 미루던 숙제였는데 이번에 같이 처리

빌드 정리

  • 모듈 의존성 정리. 안 쓰는 라이브러리 4개 제거하고 버전 카탈로그로 통합
  • 결과적으로 APK 가 1.2MB 줄었음. 작은 차이지만 저사양 단말 사용자 입장에선 의미 있음

릴리즈 후 며칠 모니터링했는데 통계 불일치 리포트는 안 들어왔고, 깜빡임 문의도 잠잠. 접근성 쪽은 유저 한 명이 직접 "고맙다" 라고 메시지 줘서 그게 이번 릴리즈에서 제일 기뻤음.

다음

댓글 0

첫 댓글 달아줘.