Skip to content

Feat/in app update#488

Draft
HI-JIN2 wants to merge 2 commits intodevelopfrom
feat/in-app-update
Draft

Feat/in app update#488
HI-JIN2 wants to merge 2 commits intodevelopfrom
feat/in-app-update

Conversation

@HI-JIN2
Copy link
Member

@HI-JIN2 HI-JIN2 commented Mar 4, 2026

Summary

Describe your changes

KakaoTalk_Video_2026-03-05-09-26-48.mp4

Issue

To reviewers

@gemini-code-assist
Copy link
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!

이 PR은 Google Play In-App Update API를 활용하여 앱 내에서 업데이트를 처리하는 기능을 도입합니다. 사용자가 앱을 실행할 때 최신 버전이 있는지 확인하고, 필요한 경우 즉시 업데이트를 요청하여 사용자 경험을 개선하고 앱의 최신 상태를 유지하도록 돕습니다. 이 변경으로 인해 앱의 시작 흐름과 의존성 구성이 업데이트되었습니다.

Highlights

  • 인앱 업데이트 기능 추가: Google Play In-App Update API를 사용하여 앱 내에서 즉시 업데이트를 확인할 수 있도록 구현했습니다.
  • 앱 초기화 로직 변경: 인앱 업데이트 확인 후 앱 초기화가 시작되도록 IntroViewModel의 초기화 로직을 수정했습니다.
  • 의존성 추가: 인앱 업데이트 기능을 위한 라이브러리 의존성을 build.gradle.kts 및 libs.versions.toml에 추가했습니다.

🧠 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.

Changelog
  • app/build.gradle.kts
    • 인앱 업데이트 라이브러리 의존성 추가
  • app/src/main/java/com/eatssu/android/presentation/MainActivity.kt
    • setNavigation 메서드 위치 변경 (리팩토링)
  • app/src/main/java/com/eatssu/android/presentation/intro/IntroActivity.kt
    • 인앱 업데이트 로직 구현 및 관련 클래스 임포트
  • app/src/main/java/com/eatssu/android/presentation/intro/IntroViewModel.kt
    • 앱 초기화 메서드 호출 시점 변경
  • app/src/main/res/values/strings.xml
    • 업데이트 취소 시 표시할 문자열 리소스 추가
  • gradle/libs.versions.toml
    • 인앱 업데이트 라이브러리 버전 및 정의 추가
Activity
  • 활동 없음: 이 PR에 대한 코멘트, 리뷰 또는 진행 상황에 대한 추가 활동이 없습니다.
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.

Copy link
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

안녕하세요. 인앱 업데이트 기능 추가에 대한 코드 변경 사항을 검토했습니다. 전반적으로 Google Play 인앱 업데이트 라이브러리를 사용하여 업데이트 확인 로직을 잘 구현하셨습니다. IntroActivity에서 업데이트 흐름을 처리하고, IntroViewModel의 초기화 로직을 수정하여 제어권을 액티비티로 옮긴 점이 인상적입니다. 다만, IMMEDIATE 타입의 업데이트가 취소되었을 때의 처리 방식에 대해 개선할 점이 있어 리뷰 코멘트를 남겼습니다. 해당 부분을 확인해 주시면 감사하겠습니다.

Comment on lines +169 to +176
showToast(
UiEvent.ShowToast(
UiText.StringResource(R.string.toast_app_update_canceled), ToastType.INFO
)
)
// If the update is cancelled or fails,
// you can request to start the update again.
introViewModel.startAppChecks()
Copy link
Contributor

Choose a reason for hiding this comment

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

high

IMMEDIATE 타입의 인앱 업데이트가 취소되거나 실패했을 때, introViewModel.startAppChecks()를 호출하여 앱의 다음 단계로 진행하는 것은 업데이트의 강제성을 약화시킬 수 있습니다. IMMEDIATE 업데이트는 사용자가 반드시 설치해야 하는 중요한 업데이트에 사용되므로, 사용자가 업데이트를 거부할 경우 앱 사용을 제한하는 것이 일반적입니다.

업데이트를 다시 시도하도록 유도하거나, 앱을 종료하는 것을 고려해 보세요. 예를 들어, finish()를 호출하여 앱을 종료시킬 수 있습니다.

Suggested change
showToast(
UiEvent.ShowToast(
UiText.StringResource(R.string.toast_app_update_canceled), ToastType.INFO
)
)
// If the update is cancelled or fails,
// you can request to start the update again.
introViewModel.startAppChecks()
showToast(
UiEvent.ShowToast(
UiText.StringResource(R.string.toast_app_update_canceled), ToastType.INFO
)
)
// IMMEDIATE 업데이트는 필수적이므로, 사용자가 취소하면 앱을 종료하여 업데이트를 강제하는 것이 좋습니다.
finish()

@HI-JIN2 HI-JIN2 self-assigned this Mar 5, 2026
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.

[Feat] In-app Update

1 participant