Skip to content

[feat] #10 - onboarding#14

Open
ghi512 wants to merge 5 commits intomainfrom
feat/#10-onboarding
Open

[feat] #10 - onboarding#14
ghi512 wants to merge 5 commits intomainfrom
feat/#10-onboarding

Conversation

@ghi512
Copy link
Member

@ghi512 ghi512 commented Dec 6, 2024

Pull request

⛳️ 작업한 브랜치

👷 작업한 내용

  • 스크린 타임 접근 허용 로직 구현 (FamilyControls)
  • onboarding welcome 화면 구현
  • onboarding setting 화면 구현

스크린샷

기능 스크린샷
최초 접속 시
온보딩 시작 (OnboardingWelcom) 팝업 스크린 타임 접근 허용 암호 입력 접근 승인됨 일일 목표 설정 (OnboardingSetting)

🚂 참고할 내용 1. 시뮬레이터 이용
  • 직접 실행해 확인할 때 꼭 시뮬레이터를 이용해주세요 ! 권한 요청 기능(스크린타임)은 프리뷰에서 보이지 않는다고 합니다 :)
  • onboarding은 앱 설치 후 최초 실행 시에만 처리되므로 시뮬레이터에서 한 번 확인하고 앱에 재접속하면 보이지 않습니다. 다시 확인해야 하는 경우 시뮬레이터에서 캐시를 지운 후 재실행 부탁드립니다 🙇‍♀️ 제가 확인한 방법은 아래 사진에서 erase 인데 혹시 다른 방법을 아신다면 공유 부탁드려요 🤧
image
+) 핸드폰 연결해서 개발자모드로 실행해보려 했는데,, 안되더라구요,,? 아마 스크린타임 권한을 요구하는 앱은 보안 이슈 때문에 애플 개발자 등록을 해야해서 같아요 ㅠㅠ 이 점도 참고 부탁드립니당




🚂 참고할 내용 2. FamilyControls API이란?

iOS에서 제공하는 스크린타임 API는 총 3가지입니다.

  1. Family Controls: 부모가 자녀의 기기 사용을 관리하고 제한하는 API로, 앱 사용 시간, 사용 가능한 앱 등을 설정할 수 있음
  2. Managed Settings: 기업 환경에서 IT 관리자가 기기 설정을 제어하는 API로, 앱 사용 및 기기 설정을 제한할 수 있음
  3. Device Activity: 사용자의 기기 활동을 모니터링하고 보고하는 API로, 하루 동안의 앱 사용 시간 및 기기 사용 패턴을 분석할 수 있음

-> 이 중 스크린 타임 권한을 요청하기 위해 Family Controls를 추가했습니다 !

image




🚂 참고할 내용 3. 온보딩 표시

모달로 구현하였고, 흐름은 아래와 같습니다.

모달1(OnboardingWelcome) ➡️ 허용 버튼 클릭 ➡️ 스크린 타임 접근 허용 로직 ➡️ 허용 완료 후 모달1로 돌아감과 동시에 모달1 내려감 + 모달2 올라옴 ➡️ 모달2(OnboardingSetting) 완료 버튼 클릭 ➡️ 홈 화면

온보딩 수행 여부는 hasSeenOnboarding로 관리하여 최초 실행 시에만 온보딩이 수행되도록 합니다 :)


🧚🏻 추후 필요한 작업

  • 일일 목표 설정 기능은 이번 이슈에서 끝내기에 규모가 커서 완료하지 못했습니다 😢 제 다음 이슈인 screetime 기능 개발에 동일한 기능이 있어 해당 이슈에서 해결해보고자 합니다 !!!

관련 이슈

@ghi512 ghi512 requested a review from jjinleee December 6, 2024 22:46
@ghi512 ghi512 linked an issue Dec 6, 2024 that may be closed by this pull request
3 tasks
@jjinleee
Copy link
Member

jjinleee commented Dec 7, 2024

에뮬레이터 돌려봤습니다! 고생하셨어요..👏🏻

  1. 스크린타임 접근이 승인되었을시 paw 이미지를 넣을 수 있을까요?
paw image
  1. iOS에서 제공하는 스크린타임 API 중 FamilyControl만을 선택하신 이유가 있을까요?
    이는 부모가 자녀의 스크린타임을 제한하거나 자녀의 디지털 활동을 관리하는 부모 중심의 UX설계라고 하는데요!
    저희는 본인이 직접 자신의 스크린타임을 관리해야하고 디지털 활동을 개선하며 이에 관한 데이터가 필요하므로 Device Activity로�가 필요하다고 생각됩니다.

Device Activity API의 특징과 단독 사용의 장점

•	기능 초점:
•	사용자의 기기 및 앱 사용 패턴을 추적.
•	하루 또는 특정 시간대의 앱 사용 시간을 제공.
•	디지털 웰빙 목표를 설정하고 사용 데이터를 기반으로 피드백 제공.
•	LazyCat에 적합한 경우:
•	앱이 부모-자녀 관계를 다루지 않고, 개인 사용자의 디지털 웰빙 추적과 개선에만 초점을 맞춘다면 적합.
•	예시: 루틴 기반 디지털 활동 추적, 개인화된 데이터 기반 피드백 제공.

Device Activity API의 단독 사용 장점

  1. 개인화 기능 강화
  • 사용자의 앱 사용패턴, 특정 앱 사용 시간, 하루의 기기 사용습관을 분석하여 맞춤형 루틴 추천이 가능합니다.
  • 개인 사용자의 데이터만 처리하기 때문에 프라이버시 문제 관련 단순화가 가능합니다.
  1. 적합한 주요기능
  • 앱 사용 시간 모니터링
  • 사용 습관 분석
  • 루틴 개선 피드백

Device Activity 단독 사용의 한계

  1. 제어 기능 부족:
  • Family Controls가 제공하는 앱 제한이나 기기 사용 시간 제한과 같은 직접적인 제어 기능이 없습니다.
  • 사용자가 앱 사용 데이터를 확인할 수는 있지만, 이를 기반으로 즉각적인 행동 제어는 불가능.
  1. 루틴 관리 기능 한계:
  • 앱 사용 습관 데이터를 루틴 관리와 직접적으로 연결하려면 추가적인 로직과 사용자 인터페이스 설계가 필요합니다.
  • 예를 들어, 사용자가 “매일 1시간 이하로 SNS 사용”이라는 목표를 설정하면, 이를 위한 사용자 알림 및 데이터 시각화 구현이 필요.
  1. 제약된 사용자 대상:
  • Family Controls는 부모와 자녀 간의 관리 관계를 포함하지만, Device Activity는 주로 개인 사용자만을 대상으로 합니다.
  • 만약 앱이 부모와 자녀 간의 관계를 관리하는 기능을 고려했다면, 이를 구현할 수 없습니다. 하지만 저희는 이를 목적으로 한 것이 아니기 때문에 이는 상관없을 듯 합니다!

따라서 사용자가 하루동안 사용한 앱과 시간을 기록하고 시각화하며 이 데이터를 기반으로 루틴 피드백, 앱 사용시간을 초과했을때 알림을 전송, 사용 목표 설정 및 알림, 분석을 하기 위해서 Device Activity 사용이 필요합니다. 하지만 이를 단독 사용한다면 시간제한이나 특정 앱 차단 기능이 없기 때문에 이 기능을 제공하는 FamilyControl과 함께 사용해야할 것 같습니다.

@ghi512
Copy link
Member Author

ghi512 commented Dec 7, 2024

해당 부분은 앱 로고 이미지가 들어갈 부분입니다 ! 🐾

현재 이슈는 스크린타임의 권한을 요구하고 받아오는 부분까지만 필요해서 family controls만 가져왔습니다 !!
추후 기능 개발에서 다른 api들을 함께 이용하면 될 듯 합니다 🙌

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] onboarding

2 participants