7. 댓글 푸시를 만들고 싶어요.
댓글이 오면 푸시 알람을 받는 법
Last updated
댓글이 오면 푸시 알람을 받는 법
Last updated
댓글, 좋아요, 조회 등 다양한 정보들이 데이터 로그, 신고 관리(_docTimeline) 메타에 저장돼요.
이 메타를 활용해 푸시 로직을 만들어 볼게요.
먼저 관리자 웹 > 로직 설정에서 푸시 로직을 하나 만들어요.
등록할 때
데이터 로그, 신고 관리(_docTimeline)
And 조건 1 (해설 : 새 댓글의 형식이 댓글일 때)
newDocument.component
같을 때
_reply
And 조건 2 (해설 : 새 댓글이 달린 곳이(메타가) 커뮤니티 일 때)
newDocument.collectionName
같을 때
community
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) 메타에 저장돼요. 따라서 댓글일 때만 푸시를 보내기 위해 이렇게 설정하는 거에요.
푸시 알람을 발송
메시지 제목 (참고 가이드)
메시지 내용
전송 대상 : 푸시 알람을 받을 유저 _id
parentDocument._createUser._id (해설 : parentDocument는 댓글이 달린 글)
메시지 타입 : 푸시를 눌렀을 때 이동할 화면 (참고 가이드)
아직은 탭 이동만 사용할 수 있어요.
앱 푸시를 누르면 앱으로 접속하고 푸시 히스토리를 눌렀을 때 탭 이동을 해요.
이동할 탭 번호 : 메시지 타입이 탭 이동일 때 사용, 0이 첫 번째 탭
알람 소리
Set after event : 후속 로직을 실행할 때 사용
이렇게 댓글 푸시 알람의 기본 틀을 살펴봤어요.
여기서 어떤 메타에서 글이 달렸을 때, 누구한테 푸시를 보낼지만 응용하면 되겠죠?
24.07.17 Jihwan