Skip to content

오늘뭐임 iOS Amplitude 적용#211

Merged
baekteun merged 2 commits intomasterfrom
feature/ios-amplitude
Mar 14, 2026
Merged

오늘뭐임 iOS Amplitude 적용#211
baekteun merged 2 commits intomasterfrom
feature/ios-amplitude

Conversation

@baekteun
Copy link
Copy Markdown
Member

@baekteun baekteun commented Mar 13, 2026

💡 개요

오늘뭐임 iOS Amplitude 적용

Summary by CodeRabbit

릴리스 노트

  • 신규 기능

    • 사용자 분석 및 이벤트 추적을 위한 Amplitude 통합 추가
    • 사용자 속성 데이터를 정확한 형식(숫자, 부울, 배열)으로 전송
  • Chores

    • 분석 의존성 업데이트 및 구성 설정 추가
    • GitHub 리포지토리 URL 업데이트

@github-actions
Copy link
Copy Markdown
Contributor

🛠️ 이슈와 PR의 Labels 동기화를 스킵했어요.

@github-actions
Copy link
Copy Markdown
Contributor

✅ PR의 Assign 자동 지정을 성공했어요!

@baekteun

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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!

This pull request introduces Amplitude analytics to the iOS application, enhancing the app's ability to monitor user engagement and gather data-driven insights. It includes adding the Amplitude Swift package, configuring API keys, and updating logging mechanisms to integrate with Amplitude. Additionally, it refactors some user property settings to improve data accuracy and consistency.

Highlights

  • Amplitude Integration: This PR integrates Amplitude, a product analytics platform, into the iOS app to track user behavior and gain insights into app usage.
  • User Property Tracking: The PR updates user property tracking to use boolean values directly instead of converting them to strings, and modifies how allergy information and widget data are handled.
  • Dependency Updates: The PR adds AmplitudeSwift as a dependency and updates the TWLog module to include Amplitude for logging events.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Activity
  • Added AmplitudeSwift package as a dependency.
  • Configured Amplitude API key in Info.plist files for both iOS and macOS.
  • Updated TWLog module to include Amplitude for event tracking and user property setting.
  • Refactored user property settings in AppDelegate and AllergySettingCore to use boolean values directly and handle allergy information more effectively.
  • Corrected a typo in SettingsCore to link to the correct GitHub issue tracker.
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.

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.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 13, 2026

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

Amplitude 분석 라이브러리 의존성이 추가되고 TWLog 모듈이 Amplitude 통합으로 확장됩니다. 사용자 속성 로깅 호출들이 String 기반 값에서 네이티브 Swift 타입(Bool, Int, 배열)으로 변경되며, 이벤트와 사용자 ID가 Analytics 외에도 Amplitude로 전송됩니다.

Changes

Cohort / File(s) Summary
의존성 선언
Package.resolved, Package.swift, Plugin/DependencyPlugin/ProjectDescriptionHelpers/Dependency+SPM.swift
Amplitude-Swift, AmplitudeCore-Swift, analytics-connector-ios 패키지 추가 및 Swift Package 매니페스트 업데이트. SPM 의존성 헬퍼에 AmplitudeSwift 상수 추가.
설정 파일
Projects/App/iOS/Support/Info.plist, Projects/App/macOS/Support/Info.plist
AMPLITUDE_API_KEY 환경 변수를 Info.plist에 추가하여 런타임 구성 지원.
TWLog 분석 통합
Projects/Shared/TWLog/Sources/TWLog.swift, Projects/Shared/TWLog/Project.swift
Amplitude 싱글톤 추가, setUserProperty/setUserID/event 메서드 확장으로 Amplitude 추적 기능 통합. 사용자 속성 값 매개변수를 Any 타입으로 변경하여 네이티브 타입 지원. TWLog.Level에 error 케이스 추가.
사용자 속성 로깅 타입 변경
Projects/App/iOS/Sources/Application/AppDelegate.swift, Projects/Feature/SettingsFeature/Sources/SettingsCore.swift, Projects/Feature/AllergySettingFeature/Sources/AllergySettingCore.swift
String 기반 값에서 네이티브 Swift 타입으로 변환: 부울 값(activeWatch, isSkipWeekend, isSkipAfterDinner)을 Bool로, 위젯/알레르기 정보를 배열/정수로 전달. SettingsFeature에서 GitHub 이슈 URL도 업데이트.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • 🔀 :: [#187] 리뷰 넛지 추가 #188: Plugin/DependencyPlugin/ProjectDescriptionHelpers/Dependency+SPM.swift에서 TargetDependency.SPM에 새로운 정적 의존성 상수 추가 (이 PR의 AmplitudeSwift와 유사한 패턴).
  • Add Widget Analytics #192: TWLog 분석 API 호출을 추가하는 위젯 분석 기능이 이 PR의 변경된 TWLog 동작과 상호작용.
  • 주간 시간표 #200: 공유 TWLog 분석 인터페이스를 수정하고 TWUserProperty 케이스를 추가하는 변경이 이 PR의 setUserProperty 재설계와 연관.

Suggested labels

✨ Feature


🐰 분석 요정이 날아와서
Amplitude의 마법을 심어두고,
사용자들의 발자국을 Bool과 Int로 변환하여
더 명확히 추적하게 되었네요!
네이티브 타입의 춤을 추며 데이터는 흐르고
TWLog는 이제 두 개의 길을 따라갑니다. ✨📊

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목이 변경사항의 주요 내용을 명확하게 요약하고 있습니다. PR 전체가 Amplitude 분석 도구를 iOS 앱에 통합하는 것이며, 제목도 이를 정확하게 반영하고 있습니다.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/ios-amplitude
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can use OpenGrep to find security vulnerabilities and bugs across 17+ programming languages.

OpenGrep is compatible with Semgrep configurations. Add an opengrep.yml or semgrep.yml configuration file to your project to enable OpenGrep analysis.

Copy link
Copy Markdown
Contributor

@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

이 PR은 Amplitude 분석 SDK를 통합하는 것을 목표로 하며, 이는 사용자 행동 추적을 개선하는 데 중요한 단계입니다. 대부분의 변경 사항은 Amplitude 종속성을 추가하고, 초기화하며, 기존 TWLog 호출을 Amplitude로 데이터를 전송하도록 조정하는 것입니다. AppDelegate.swift, AllergySettingCore.swift, SettingsCore.swift 파일에서 TWLog.setUserProperty에 전달되는 값의 유형을 문자열에서 기본 유형(Bool, Int, [String])으로 변경한 것은 데이터 무결성을 위한 좋은 개선입니다. 전반적으로 잘 구현되었지만, 몇 가지 개선 사항을 제안합니다.

Comment thread Projects/Shared/TWLog/Sources/TWLog.swift
Comment thread Package.swift Outdated
Comment thread Projects/Shared/TWLog/Sources/TWLog.swift
Comment thread Projects/Shared/TWLog/Sources/TWLog.swift
Base automatically changed from feature/allergy-freeze to master March 14, 2026 04:19
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@baekteun baekteun merged commit 081b712 into master Mar 14, 2026
2 of 3 checks passed
@baekteun baekteun deleted the feature/ios-amplitude branch March 14, 2026 04:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant