Skip to content

위치 공유를 언제 시작하고 종료할 수 있도록 할까?

류대현 edited this page Dec 15, 2022 · 1 revision

위치 공유를 언제 시작하고 종료할 수 있도록 할까?

  • 위치 공유를 시작할 때: 약속 시간 30분 전부터, 사용자가 원하는 때에 공유를 시작할 수 있다.
  • 위치 공유를 종료할 때: 약속 시간이 지나면 무조건 종료되고, 그 전에도 사용자가 원하는 때에 공유를 종료할 수 있다.
  • 약속 시간이 수정되거나 삭제되는 경우 FCM으로 모든 멤버들에게 전송 후 Service에 알려줄 수 있도록 한다.

약속 별로 위치공유를 설정할까? 아니면 공유한 위치가 모든 약속에 적용될까?

1. 무조건 1개의 약속에서만 위치를 공유할 수 있도록 한다.

  • 같은 시간에 여러 약속이 예정되어 있다면 문제가 생길 수 있다.

2. 사용자가 원하는 약속을 선택해서 위치 공유를 설정할 수 있다.

data class Member(
    val promiseId: String,
    val userCode: String, 
    val isAcceptLocation: Boolean
)
  • 어느 약속에 어느 멤버가 약속 공유를 켰는지를 저장하는 클래스를 만든다.
data class User(
    val userCode: String,
    val userName: String,
    val userToken: String
    //val geoLocation: GeoLocation? //원래 User가 갖고있던 Location 삭제
)

    data class UserLocation(
    val userCode: String, 
    val geoLocation: GeoLocation?
)
  • 유저의 위치만을 저장하는 클래스를 별도로 만들고, 위치공유를 켠 멤버에 한해서 사용자의 위치를 다시 요청한다.
  • 사용자 입장에선 편리하나, 개발하는 관점에서는 현재의 코드에서 많은 수정이 필요하다.

3. 위치 공유를 설정하면 모든 약속에서 볼 수 있다.

  • 구현이 상대적으로 쉽다.
  • 하지만 사용자 입장에서는 원하지 않는 약속에도 위치 공유가 되기 때문에 적절하지 않다.

-> 사용자가 원하는 약속을 선택해서 위치를 공유할 수 있도록 구현하는 방향으로 결정

Clone this wiki locally