7. [Event] 약속 회신하기
Last updated
Was this helpful?
Last updated
Was this helpful?
번에는 생성한 약속에 대해서 상대방이 가능한 시간을 회신하는 시나리오를 개발하도록 합니다. 링크로 보낸 약속이 열리고 가능한 시간을 선택하면 보낸이에게 메일로 알려주는 기능까지 만들어 봅니다.
약속회신 시나리오를 생성하지 않았다면 0. 시나리오 생성하기를 따라서 약속 회신하기 시나리오를 만든 후에 아래 실습을 따라 해 주세요.
약속회신 시나리오를 작업하기 전에 테스트용으로 회신할 약속을 정합니다.
1. [Data] Firestore 준비에서 생성한 FIrestoreDatabase로 들어갑니다.
Meet 컬렉션을 선택하고
생성한 약속 Document(데이터) 중에 테스트용을 하나 선택합니다.
_SUID의 값을 선택해서 복사 해둡니다.
약속회신 시나리오를 열어서 편집을 시작합니다.
시나리오가 시작시에 특정 약속 데이터를 조회해 오는 이벤트를 추가합니다.
Step5 선택
스텝 이벤트 사용 체크
이벤트 발생 시점을 최초 시작 전(init) 으로 선택
이벤트명에 약속열기 입력
시나리오를 개발하기 위해 임시로 필요한 조회될 시나리오의 정보를 가져오도록 합니다.
약속 열기 이벤트 선택
스크립트 추가
스크립트에 아래 내용을 입력합니다.
위 스크립트를 복사해서 붙여넙니다.
<등록한약속의 _SUID으로 대체> 영역을 1번 에서 복사한 _SUID 값으로 대체합니다.
새 서비스 호출을 생성하고 시스템명에 Firestore를 선택합니다.
링크로 전달된 SUID에 해당하는 약속을 조회해 오도록 서비스를 설정합니다.
Firestore 콜렉션 명에 Meet 를 입력
보내는 데이터에 Meet 카테고리 추가
받는 데이터의 카테고리명에 Meet 카테고리 추가
덮어쓰기 선택
고급설정 클릭
검색 체크
해당 SUID 의 약속을 조회하는 검색조건 입력
필드 명 : _SUID
연산자 : ==
필드 값 콜렉션키 : _SUID
해당 약속의 옵션들도 조회해오는 서비스를 추가 합니다. 약속옵션과 약속의 데이터 관계에 대해서는 1. [Data] Firestore 준비 를 참조하세요.
새 서비스 호출을 생성
시스템명에 Firestore를 선택합니다.
해당 약속의 약속시간들을 조회해 오도록 서비스를 설정합니다.
Firestore 콜렉션 명에 MeetOption 를 입력
보내는 데이터에 Meet 카테고리 추가
받는 데이터의 카테고리명에 MeetOption 카테고리 추가
덮어쓰기 선택
고급설정 클릭
검색 체크
해당 SUID 의 약속을 조회하는 검색조건 입력
필드 명 : MeetId
연산자 : ==
필드 값 콜렉션키 : _SUID
첫 화에 데이터를 연결합니다.
Step5>Group1 을 선택해서
데이터 연결을 체크하고
카테고리에 “Meet” 를 입력해 주세요.
"플렉스튜디오 사용성 조사" 에 Title 컬렉션 키를 넣고 적용 해주세요.
"이은진님! 박혜지님과....." Text 컨트롤을 선택해서 아래 텍스트로 바꿔주세요.
"박혜지" Text 컨트롤을 선택해서 아래 텍스트로 바꿔주세요.
약속 확정하는 스텝의 데이터를 연결합니다.
Step7 > topWrap 레이아웃을 선택
데이터 연결 체크
카테고리명에 Meet를 입력
아래와 같이 매핑합니다.
플렉스튜디오 사용성조사 : Title
플렉스튜디오 워크스페이스 사용... : Detail
16F K-StudioRoom : Place
약속 옵션을 선택하는 영역의 데이터를 연결합니다.
시간이 속한 Group1을 선택
데이터 연결을 체크
용도를 “조회” 로 선택
카테고리명을 MeetOption을 입력
아래와 같이 각 시간에 해당하는 컬렉션키를 "h[시간]" 으로 매핑합니다.
날짜(2024년 6월27일..) 을 선택해서 텍스트를 아래 스크립트로 변경합니다.
시간을 약속잡기 생성할 때 가능한 시간으로 선택한 옵션만 나오도록 합니다. 해당 옵션들은 값이 1로 존재하기 때문에 값이 존재할 대만 나오게 하여서, 등록된 옵션만 선택가능하게 합니다.
시간단위 “08:00”를 선택
조건별 속성 설정 을 체크
비교기준에 값이 존재할 때 를 선택
컨트롤 상태를 보이기 로 선택해서 값이 있는 경우만 보이도록 합니다.
체크시 저장할 값에 2 를 입력
체크해제 시 저장할 값에 1 을 입력 (입력하지 않을 경우 해제시에 아무 값이 없어지면서 해당 시간이 나타나지 않게 됩니다.)
위 내용을 모든 시간을 나타내는 체크박스들에 동일하게 적용합니다.
Step7의 “선택 완료하기” 스텝버튼에 “선택완료” 이벤트를 추가합니다.
선택완료시 선택한 약속일/시간을 약속작성자에게 메일을 발송하는 기능을 추가합니다.
선택완료 이벤트에 새 스크립트를 추가
아래 스크립트를 복사하여 붙여넣습니다.