7. 댓글 푸시를 만들고 싶어요.
댓글이 오면 푸시 알람을 받는 법
댓글, 좋아요, 조회 등 다양한 정보들이 데이터 로그, 신고 관리(_docTimeline) 메타에 저장돼요.
이 메타를 활용해 푸시 로직을 만들어 볼게요.
먼저 관리자 웹 > 로직 설정에서 푸시 로직을 하나 만들어요.
If When
등록할 때
Where
데이터 로그, 신고 관리(_docTimeline)
Condition
Data condition
And 조건 1 (해설 : 새 댓글의 형식이 댓글일 때)
newDocument.component
같을 때
_reply
And 조건 2 (해설 : 새 댓글이 달린 곳이(메타가) 커뮤니티 일 때)
newDocument.collectionName
같을 때
community
New data Query
flows
query (해설 : 새 댓글의 documentId와 데이터 로그, 신고 관리 메타의 _id와 일치하는 것을 찾기)
컬렉션 명 : 데이터 로그, 신고 관리(_docTimeline)
조회 조건
And 조건 (해설 : 새 댓글의 documentId와 같은 ID)
ID
같을 때
newDocument.documentId (해설 : documentId는 댓글이 달린 글의 id)
setValue (해설 : query로 가져온 데이터의 첫 번째를 reply라는 키 값에 정의)
reply
원하는 순번의 리스트 데이터를 바인딩
데이터를 추출할 리스트 데이터를 : tmpDocument.findDocument
몇 번째 데이터를 추출하시겠습니까? : 0
if (해설 : reply라는 데이터가 없으면 참, 데이터가 있으면 거짓으로 예외 처리(=로직 종료))
And 조건
Method : 빈 값일 때
Key : tmpDocument.reply
#ifTrue
#ifFalse
@returnException
Message : 답글
Code : -1
해설
답글도 _reply 형식으로 데이터 로그, 신고 관리 (docTimeline) 메타에 저장돼요. 따라서 댓글일 때만 푸시를 보내기 위해 이렇게 설정하는 거에요.
Then
푸시 알람을 발송
To do
메시지 제목 (참고 가이드)
메시지 내용
전송 대상 : 푸시 알람을 받을 유저 _id
parentDocument._createUser._id (해설 : parentDocument는 댓글이 달린 글)
메시지 타입 : 푸시를 눌렀을 때 이동할 화면 (참고 가이드)
아직은 탭 이동만 사용할 수 있어요.
앱 푸시를 누르면 앱으로 접속하고 푸시 히스토리를 눌렀을 때 탭 이동을 해요.
이동할 탭 번호 : 메시지 타입이 탭 이동일 때 사용, 0이 첫 번째 탭
알람 소리
Set after event : 후속 로직을 실행할 때 사용
이렇게 댓글 푸시 알람의 기본 틀을 살펴봤어요.
여기서 어떤 메타에서 글이 달렸을 때, 누구한테 푸시를 보낼지만 응용하면 되겠죠?
24.07.17 Jihwan
Last updated