Skip to content

Conversation

@Hrepay
Copy link
Member

@Hrepay Hrepay commented Sep 16, 2025

#️⃣ 관련 이슈

Resolved #319

💡작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)

  • APNs 생성 후 FCM 토큰 활성화 완료
    • Dev&Prod 둘다 테스트 완료했습니다.

💬리뷰 요구사항(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

  • 서버 연결 가능성을 대비해서 TODO로 남겨놨습니다.

@Hrepay Hrepay requested a review from Funital September 16, 2025 09:52
@Hrepay Hrepay self-assigned this Sep 16, 2025
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @Hrepay, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 Firebase Cloud Messaging (FCM)을 앱에 통합하여 푸시 알림 기능을 활성화하는 것을 목표로 합니다. APNs 환경 설정, FCM 관련 델리게이트 메서드 구현, 그리고 백그라운드 알림 모드 추가를 통해 사용자에게 알림을 보낼 수 있는 기반을 마련했습니다. 개발 및 프로덕션 환경에서 모두 테스트를 완료하여 안정적인 동작을 확인했습니다.

Highlights

  • FCM 활성화: Firebase Cloud Messaging (FCM) 기능을 앱에 통합하여 푸시 알림을 활성화했습니다.
  • APNs 설정: Apple Push Notification Service (APNs) 환경 설정을 추가하고, APNs 토큰을 FCM에 등록하는 로직을 구현했습니다.
  • 백그라운드 알림 지원: 앱이 백그라운드에서도 원격 알림을 받을 수 있도록 UIBackgroundModes를 설정했습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


알림의 불꽃, FCM 타고 날아와, 사용자 깨우네.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

FCM 활성화를 위한 PR 잘 보았습니다. 전반적으로 FCM 설정이 잘 추가되었지만, 몇 가지 중요한 수정이 필요해 보입니다. 특히, 프로덕션 빌드에서 푸시 알림이 동작하지 않을 수 있는 aps-environment 설정은 반드시 수정이 필요합니다. 또한, AppDelegate에서 알림 권한 요청 및 등록 로직이 중복되고 호출 시점이 올바르지 않은 부분이 있어 리팩토링을 제안합니다. 그 외에도 로깅 방식, 주석 명확성, 포그라운드 알림 옵션에 대한 몇 가지 개선점을 리뷰에 남겼습니다.


// FCM: APNS 토큰 등록 실패
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
print("Failed to register for remote notifications: \(error)")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

프로덕션 환경에서 이슈를 추적하고 디버깅하기 위해 print 대신 os.LoggerFirebaseCrashlytics 같은 정식 로깅 시스템을 사용하는 것이 좋습니다. 특히 에러 상황은 원격으로 수집하여 분석할 수 있도록 처리하는 것을 권장합니다. 이 파일의 다른 print 구문들에도 동일하게 적용할 수 있습니다.

Copy link
Collaborator

@Funital Funital left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

생각보다 간단하게 구현이 되었네요!? 고생하셨습니다

@Hrepay Hrepay merged commit 2a9a1ce into develop Sep 16, 2025
@Hrepay Hrepay deleted the feat/#319 branch September 16, 2025 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] FCM 활성화

3 participants