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