혼자 앱 여러 개를 만들고 있는 개발자입니다.
휴대폰으로 긴 글을 읽을 때 줄을 자꾸 놓쳐서, 종이책 읽을 때 자를 대고 읽는 것처럼
화면 위에 띠를 띄우는 앱을 만들었습니다. 지금은 사용자분들 의견을 받아 계속 고치고 있습니다.




만들면서 고민했던 것들:
1) 접근성 서비스를 쓰지 않기
이런 류의 앱은 접근성 서비스로 만들면 편하지만, 사용자 입장에서 "화면을 다 읽을 수 있는 권한"은 부담스럽습니다.
그래서 SYSTEM_ALERT_WINDOW(다른 앱 위에 표시) 하나로만 띠·마스크·조작 버튼을 그립니다.
2) 마스크 모드는 창 두 개
위·아래 어두운 창 두 개 사이의 틈이 읽는 영역입니다. 노치(컷아웃) 있는 기기에서 위쪽 창이 컷아웃 높이만큼 밀려
틈이 좁아지는 버그가 있었는데, LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS 로 해결했습니다.
화면 회전 때 옛 화면 크기로 마스크가 남던 문제도 onConfigurationChanged 에서 다시 계산하게 고쳤습니다.
3) 무료 / 유료 선
무료로 두 모드 다 쓰게 하고, 세션 60분 제한 + 광고. 광고를 한 번 보면 유료 기능 하나를 24시간 풀어 줍니다.
정말 필요한 사람이 결제 없이도 쓸 수 있게 하려고 이렇게 나눴습니다.
4) Windows 판
노트북으로 논문·강의자료를 읽을 때도 쓰려고 Windows 판도 만들었습니다(광고 없음).
Windows: https://apps.microsoft.com/detail/9NMSHKKX3R5C?cid=community-clien-dev
비슷한 오버레이 앱 만들어 보신 분들, 배터리·권한 안내 화면이나 제조사별 이슈에서 겪으신 경험 있으면 나눠 주세요.