Skip to content

Conversation

@sohyun127
Copy link
Collaborator

@sohyun127 sohyun127 commented Oct 22, 2025

✅ 𝗖𝗵𝗲𝗰𝗸-𝗟𝗶𝘀𝘁

  • merge할 브랜치의 위치를 확인해 주세요(main❌/develop⭕)
  • 리뷰가 필요한 경우 리뷰어를 지정해 주세요
  • P1 단계의 리뷰는 필수로 반영합니다.
  • Approve된 PR은 assigner가 머지하고, 수정 요청이 온 경우 수정 후 다시 push를 합니다.

📌 𝗜𝘀𝘀𝘂𝗲𝘀

📎𝗪𝗼𝗿𝗸 𝗗𝗲𝘀𝗰𝗿𝗶𝗽𝘁𝗶𝗼𝗻

  • 요청한 facebook sdk 설정

📷 𝗦𝗰𝗿𝗲𝗲𝗻𝘀𝗵𝗼𝘁

image

💬 𝗧𝗼 𝗥𝗲𝘃𝗶𝗲𝘄𝗲𝗿𝘀

로컬프로퍼티에 추가된 값 있습니다! 아래 노션 페이지 확인해주셔요~~
🔗

Summary by CodeRabbit

  • Chores
    • Facebook 연동 준비: Facebook SDK 추가 및 연동 설정 반영
    • 애플리케이션 매니페스트 업데이트: Facebook 관련 메타데이터/제공자 등록
    • 개인정보 관련 권한 정리: 광고 ID 권한 제거

@sohyun127 sohyun127 requested a review from chanubc October 22, 2025 14:03
@sohyun127 sohyun127 added 🛠️ [CHORE] 버전 코드 수정, 패키지 구조 변경, 타입 및 변수명 변경 등의 작은 작업 🐱 소현 리나 labels Oct 22, 2025
@coderabbitai
Copy link

coderabbitai bot commented Oct 22, 2025

Walkthrough

Facebook SDK를 프로젝트에 추가하고, 로컬 속성으로부터 facebook.app.idfacebook.client.token을 읽어 매니페스트 플레이스홀더로 주입하며, 매니페스트에 Facebook 메타데이터 및 FacebookContentProvider 를 추가하고 AD_ID 권한을 제거합니다.

Changes

Cohort / File(s) 변경 요약
버전 카탈로그
gradle/libs.versions.toml
[versions]facebook = "18.0.3" 추가, [libraries]facebook = { module = "com.facebook.android:facebook-android-sdk", version.ref = "facebook" } 등록.
빌드 스크립트 통합
app/build.gradle.kts
로컬 프로퍼티에서 facebook.app.idfacebook.client.token을 읽어 따옴표를 제거하고 manifestPlaceholdersfacebookAppId, facebookClientToken 주입. Facebook SDK 의존성(libs.facebook) 추가.
안드로이드 매니페스트
app/src/main/AndroidManifest.xml
uses-permission에서 com.google.android.gms.permission.AD_ID 항목 제거(tools:node="remove"). 매니페스트에 메타데이터 com.facebook.sdk.ApplicationId, com.facebook.sdk.ClientToken 추가 및 com.facebook.FacebookContentProvider provider 등록(권한(android:authorities)에 ${facebookAppId} 플레이스홀더 사용, android:exported="true").

Sequence Diagram(s)

sequenceDiagram
  participant Gradle as Gradle (build)
  participant Local as Local Properties
  participant Manifest as AndroidManifest.xml
  participant App as App Runtime
  participant FB as Facebook SDK

  Note over Gradle,Local: 빌드 시
  Gradle->>Local: read facebook.app.id / facebook.client.token
  Local-->>Gradle: trimmed values
  Gradle->>Manifest: inject manifestPlaceholders\nfacebookAppId, facebookClientToken
  Gradle->>Gradle: add dependency (libs.facebook)

  Note over App,FB: 앱 실행 흐름
  App->>FB: init via Manifest meta-data\n(com.facebook.sdk.ApplicationId / ClientToken)
  FB-->>App: ContentProvider 등록 및 SDK 초기화
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 분

변경은 빌드 설정, 버전 카탈로그, 매니페스트에 걸쳐 있으며 매니페스트의 export된 Provider 및 권한 제거는 보안·배포 영향 검토가 필요합니다.

Poem

🐰 새 빌드를 씩씩히 굴리며 뛰어왔네,
앱 아이디 쏙, 토큰도 쏙 — 매니페스트에 담겼네.
프로바이더는 문을 열고, AD_ID는 손 흔들며,
디펜던시 하나로 친구가 늘었구나! 🎉

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Title Check ✅ Passed PR 제목 "[Chore] : facebook sdk 설정"은 변경 사항의 핵심 내용을 명확하게 반영하고 있습니다. 변경 사항이 Facebook SDK 설정 추가를 중심으로 진행되었으며, 제목도 이를 정확하게 요약하고 있습니다. 제목은 간결하고 구체적이어서 히스토리에서 스캔할 때 주요 변경 사항을 이해하기에 충분합니다.
Linked Issues Check ✅ Passed 연결된 이슈 #189는 "Facebook SDK 설정"을 목표로 하며, PR의 코드 변경 사항이 이 목표를 달성합니다. gradle/libs.versions.toml에서 Facebook SDK(버전 18.0.3) 의존성 추가, app/build.gradle.kts에서 라이브러리 통합, app/src/main/AndroidManifest.xml에서 Facebook 메타데이터 및 프로바이더 선언 추가 등 모든 변경 사항이 Facebook SDK 통합 목표와 일치합니다.
Out of Scope Changes Check ✅ Passed 모든 코드 변경 사항이 이슈 #189의 Facebook SDK 설정 목표와 직접적으로 관련이 있습니다. AD_ID 권한 제거는 Facebook SDK 통합 시 일반적인 실행 방식이며 SDK 구성의 일부입니다. 매니페스트의 미미한 줄바꿈 제거도 서식 정리일 뿐 범위를 벗어나지 않습니다. 목표 달성을 위해 필요한 변경 사항들로만 구성되어 있습니다.
Description Check ✅ Passed PR 설명이 제공된 템플릿의 모든 필수 섹션을 충실히 따르고 있습니다. ✅ 체크 리스트, 📌 이슈(#189 링크), 📎 작업 설명(요청된 facebook sdk 설정), 📷 스크린샷(이미지 포함), 💬 리뷰어에게 전하는 말(로컬 프로퍼티 추가 안내 및 노션 링크 제공)이 모두 적절하게 작성되어 있습니다.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/#189-facebook-sdk

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 27f3782 and 74ca7e4.

📒 Files selected for processing (1)
  • app/src/main/AndroidManifest.xml (3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: PR Checker
🔇 Additional comments (3)
app/src/main/AndroidManifest.xml (3)

14-16: AD_ID 권한 제거 사유 확인 필요

com.google.android.gms.permission.AD_ID 권한이 제거되었습니다. 이 권한이 앱의 광고 또는 분석 기능에 영향을 미치지 않는지 확인해주세요.


46-51: Facebook SDK 메타데이터 추가 승인

Facebook SDK 메타데이터가 올바르게 플레이스홀더를 사용하여 추가되었습니다. ApplicationId와 ClientToken이 빌드 타임에 build.gradle.kts에서 주입되는지 확인이 필요합니다.


61-64: Facebook SDK ContentProvider 플레이스홀더 사용 승인

이전 리뷰에서 지적된 하드코딩 문제가 해결되었습니다. 이제 ${facebookAppId} 플레이스홀더를 사용하여 빌드 타임에 Facebook App ID가 동적으로 주입됩니다. ContentProvider 설정이 올바릅니다.

build.gradle.kts에서 다음이 정의되어 있는지 확인해주세요:

manifestPlaceholders = [
    facebookAppId: project.findProperty("facebook.app.id") ?: "",
    facebookClientToken: project.findProperty("facebook.client.token") ?: ""
]

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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 227af97 and 27f3782.

📒 Files selected for processing (3)
  • app/build.gradle.kts (2 hunks)
  • app/src/main/AndroidManifest.xml (3 hunks)
  • gradle/libs.versions.toml (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: PR Checker
🔇 Additional comments (4)
gradle/libs.versions.toml (1)

63-63: 변경 사항이 좋습니다.

Facebook SDK 버전 카탈로그 항목이 올바르게 추가되었습니다. 기존 항목들과 일치하는 형식을 따르고 있으며, 이후 app/build.gradle.kts에서 libs.facebook으로 참조할 수 있도록 설정되었습니다.

Also applies to: 167-167

app/build.gradle.kts (2)

36-42: 로컬 프로퍼티 설정 필요 확인하세요.

Facebook App ID와 Client Token이 local.properties에서 읽혀 Manifest 플레이스홀더로 주입됩니다. PR 설명에서 언급했듯이 개발자가 로컬 프로퍼티에 이 값들을 추가했는지 확인해야 하며, 누락 시 빌드 단계에서 런타임 오류가 발생할 수 있습니다.


104-104: 변경 사항이 좋습니다.

Facebook SDK 라이브러리가 버전 카탈로그를 통해 올바르게 추가되었습니다.

app/src/main/AndroidManifest.xml (1)

14-16: Firebase Analytics와의 영향 범위 검증이 필요합니다.

com.google.android.gms.permission.AD_ID 권한 제거는 Firebase Analytics가 해당 권한을 사용하기 때문에 주의가 필요합니다. 앱이 Firebase Analytics를 사용하고 있으므로, 이 권한 제거로 인해 분석 데이터 수집이 영향을 받을 수 있습니다.

권장사항: 권한 제거 대신 Application 태그 내에 google_analytics_adid_collection_enabled를 false로 설정하여 분석용 AD_ID 수집만 선택적으로 비활성화하는 방식을 고려해보세요.

Copy link
Member

@chanubc chanubc left a comment

Choose a reason for hiding this comment

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

고생많으셨습니다~!~!

@sohyun127 sohyun127 merged commit 0011c97 into develop Oct 22, 2025
2 checks passed
@sohyun127 sohyun127 deleted the feature/#189-facebook-sdk branch October 22, 2025 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐱 소현 리나 🛠️ [CHORE] 버전 코드 수정, 패키지 구조 변경, 타입 및 변수명 변경 등의 작은 작업

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] : Facebook SDK 설정

3 participants