본문 바로가기

swift32

FCM 푸시알림 사용기2 - 뱃지 카운팅 하기 https://bang-tori.tistory.com/73 FCM 푸시알림 사용기1 - 특정 사용자에게 푸시알림 보내기 프로젝트를 진행하면서 FCM을 이용한 푸시 알림을 구현하게 되었다. 고민했던 부분을 바탕으로 구현 내용을 정리해 참고로 프로젝트는 백엔드 개발 없이 파이어베이스의 firestore 서비스를 이용 bang-tori.tistory.com 이전 게시물에서 푸시 알림을 사용자에게 보내는 것까지 정리해 보았다. 푸시 알림을 보내는 것을 끝으로 할 수 있지만 알림 중요도 강조 사용자에게 관심 유도 등과 같은 이유로 조금 더 나은 사용자 경험을 제공하기 위해 받은 알림 수만큼 뱃지를 표시하기로 결정하였다. 푸시 알림의 뱃지 카운팅을 하기 위해서는 서버에서 카운팅을 계산하고 프론트에서는 전달받은 숫자.. 2024. 2. 21.
FCM 푸시알림 사용기1 - 특정 사용자에게 푸시알림 보내기 프로젝트를 진행하면서 FCM을 이용한 푸시 알림을 구현하게 되었다. 고민했던 부분을 바탕으로 구현 내용을 정리해 참고로 프로젝트는 백엔드 개발 없이 파이어베이스의 firestore 서비스를 이용했다. 또한 파이어베이스 등록 및 인증키 등록 과정은 다른 블로그들에 자세히 나와있어 코드 구현 부분 중심으로 작성할 예정이다. 원격 알림 등록, FCM 토큰 얻기 Notification 서비스 함수에 다음과 같은 등록 함수를 작성하고 func registerRemoteNotification() { if #available(iOS 10.0, *) { let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound] UNUserNotificationCenter.c.. 2024. 2. 21.
Notifiaction Center VS Delegate Pattern 두 가지 방식의 사용법보다는 차이점에 초점을 맞춰 공부를 해보았다. (사용법은 따로 올릴 예정) Delegate ? Notification? 그게 뭔데? Delegates와 Notification 방식은 독립적인 기능을 하는 객체끼리 소통을 하기 위해 사용된다. 즉 A라는 뷰컨트롤러와 B라는 뷰컨트롤러가 있을 때, A에서 B로 알림을 보내 특정 동작을 실행하고 싶을 때 사용하는 것이다. Delegate 패턴 Delegate 패턴이란? delegate = 위임 → 한 객체가 자신의 책임을 다른 객체에게 위임 시키는 디자인 패턴 지정된 객체가 해야하는 메서드들의 원형을 프로토콜 형태로 정해놓는다. 위임을 시키는 객체에서 해당 프로토콜형식의 델리게이트 프로퍼티를 가지고 있고, 프로퍼티 내부 함수를 적절한 위치.. 2024. 2. 13.
weak self 를 사용하지 않아도 되는 경우 결론적으로 클로저에서 weak self를 사용하지 않아도 되는 경우는 다음과 같은 두 가지가 있다. 1. non-escaping 클로저인 경우 2. DispatchQueue.main.asyncAfter 함수를 사용할 경우 escaping 클로저와 non-escaping 클로저 함수 파라미터로 전달된 클로저를 함수 실행이 종료된 후 실행되는 것을 함수를 탈출(escape)한다고 한다. 즉 escaping클로저는 파라미터로 전달된 클로저가 탈출하여 함수 종료 후에 실행되는 클로저를 의미한다. escaping non-escaping 실행 시점 함수 종료 후 함수 내에서 코드 호출 즉시 외부 저장 여부 가능 불가능 두 함수의 차이는 외부 저장 여부에 대해서도 다르다. non - escaping 클로저는 함수 외.. 2024. 2. 7.