프로젝트 깃헙
https://github.com/DeveloperAcademy-POSTECH/2024-NC2-M44-Notification

Nano Challenge 2

목표: Local Notification과 Remote Notification으로 적절한 알림 보내기

Use case: 적절한 알림을 주어 학생은 일정한 시간에 일기를 작성하고, 선생님은 학생이 제출한 일기를 확인하게 하자.

내가 집중한 부분:

  • Trigger: Local Notification의 경우 시간, 공간을 Trigger 로 사용하여 알림을 줄 수 있다. 그 중 시간이 계획과 밀접하기도 하고, 시간이더라도 타이머, 특정 날짜, 특정 시간 등에 따라 달리 알람을 설정할 수 있어서 앱의 use case의 적절한 알림을 구현하고자 했다.
  • Notification Action: 알림을 받고 단순히 앱으로 접근하는 것이 아니라, 앱에 들어오지 않아도 미리 설정한 과정을 실행할 수 있게 하여 사용자의 편리성을 높이고 목적에 부합하는 알림을 보내고자 했다.
  • Text Input Action: Notification action 중에 버튼을 클릭하는 것에서만 끝나는 게 아니라 바로 필요한 텍스트를 입력할 수 있는 것으로, use case에 적절한 알림을 구현하고자 했다.

구현 과정

  1. Use case에 적합한 View를 MVP 형태로 최소 필요한 부분만 구현했다.
  2. Notification에 대한 기술 조사를 공식 자료 위주로 진행했다.
  3. 공식 자료의 코드와 다른 예제들을 참고해서 버튼을 누르면 시간을 trigger로 활용한 알림을 보내고 확인했다.
  4. 3에서 테스트한 알림을 실제 앱의 알림으로 적용했다.
  5. text input action을 구현하고 데이터 입력을 확인했다.
  6. UserDefaults나 onAppear, onActive로 입력된 데이터를 저장하고 전달했다.
  7. 의도한 대로 알림이 전달되고, 알림을 받았을 때 action의 동작도 정상적으로 되는지 확인하고 마무리했다.

참고 자료 모음(이전 글)

Prototype(Local Notification)

기본 View

알림 설정 및 text input action(H/W 키보드로 입력)

피드백

뿌듯한 점:

  • 기본 기능이고 활용도가 높으면서 좋은 효과를 낼 수 있는 Notification을 이번 기회로 목표한 만큼 공부해서 좋다.
  • 공식 문서로 Notification을 이해하고, 구현에 필요한 문서를 적절히 찾아 활용했다.
  • HIG를 통해 Notification의 지향점을 배웠고, 앞으로 사용자에게 필요한 알림을 주는 것을 할 수 있다.
  • 짝과 각자의 목표를 존중하며 배려하며 분업했다!

아쉬운 점:

  • watchOS만의 다른 인터페이스를 설정하는 것까지 해보고 싶었는데, 마지막 발표에 시간을 쓰고자 iOS대로 설정된 알림을 확인하고 수정하진 않았다.
  • 짝의 Remote Notification 공부를 공유하는 시간이 적었다.
  • 짝과 서로의 코드에 대해 리뷰하는 시간이 적었다.

앞으로 할 일:

  • 다음 프로젝트에서 필요하다면 Notification을 자신있게 맡겠다.
  • Back-end 개발을 담당하지 않더라도 구조와 방식을 배우고 알림의 내용이나, 카테고리, action 등을 함께 구현해볼 것이다.
profile
계속 해보자

0개의 댓글

관련 채용 정보