| 요약 | 자체 앱을 통해 iOS 또는 Android에 Discourse 푸시 알림 전송 | |
| 저장소 링크 | GitHub - Sprachprofi/discourse-fcm-notifications: Send Discourse push notifications through FCM to any custom app · GitHub | |
| 설치 가이드 | Discourse에 플러그인 설치 방법 |
기능
Discourse 포럼을 탐색할 수 있는 앱이 있다면, 이 플러그인을 통해 포럼이 해당 앱을 경유하여 푸시 알림을 보낼 수 있습니다. (아직 앱이 없지만 하나를 가지고 싶다면 이 미니멀리스트 솔루션을 확인해 보세요.)
사용자에게 편리함: 사용자가 개인 메시지에 대한 푸시 알림을 받으면, 해당 알림을 탭하면 앱이 열리며 해당 개인 메시지가 바로 표시됩니다. 이는 Discourse Pushover Notifications를 사용하는 것보다 큰 장점입니다. 후자의 경우 푸시 알림은 Pushover 앱을 열며 메시지에 어떻게 도달하는지 명확하지 않기 때문입니다. 반면, 앱 없이 푸시 알림을 원한다면 Pushover Notifications가 적합합니다.
범용성: Google Firebase를 메시지 계층으로 사용하므로, 해당 국가에서 Google이 금지되지 않았기만 하면 모든 iOS 및 Android 장치가 이러한 푸시 알림을 받을 수 있습니다.
설정
- 플러그인을 설치하고 활성화합니다.
- 앱을 위한 무료 Google Firebase 프로젝트를 생성합니다. Firebase 프로젝트 ID, 토큰 및 JSON(OAuth 데이터 포함)을 Discourse의 플러그인 설정에 추가합니다.
- 앱 코드를 조정합니다:
-
기기의 토큰을 YOUR_FORUM.com/fcm_notifications/automatic_subscribe?token=… 로 전송하여 활성 사용자를 푸시 알림에 구독합니다. 기기 토큰이 변경될 때마다 이 호출을 수행하도록 하세요.
-
YOUR_FORUM.com/fcm_notifications/automatic_subscribe?token=REMOVE를 호출하여 활성 사용자의 구독을 해제합니다.
-
푸시 알림은 다음과 같은 형태를 가집니다:
'data': { "linked_obj_type" => 'link', "linked_obj_data" => <메시지에서 참조된 게시물/메시지의 URL>, }, 'notification': { title: <"USERNAME이/가 TOPIC에서 개인 메시지를 보냈습니다"와 같은 내용>, body: <메시지의 시작 부분>, }
따라서 제목/본문으로 푸시 알림을 표시하고, 이를 탭하면 linked_obj_data의 URL이 인앱 브라우저에서 열리도록 해야 합니다. 이는 앱 코드에서 정의해야 할 부분입니다.
구현 예시
이 플러그인과 함께 작동하는 미니멀하지만 완전히 기능적인 앱의 코드는 여기에서 가져갈 수 있습니다. (우리가 이 플러그인이 필요했던 프로덕션 앱을 만든 화이트라벨 버전입니다.) 포럼 표시, 푸시 알림 전송, 사용자의 로그인/마지막으로 읽은 주제 기억 기능만 필요한 앱이라면, 브랜딩만 변경하고 앱 스토어에 제출하면 됩니다. 그렇지 않다면 이 코드를 기반으로 사용할 수 있습니다.
이 앱에서 발생하는 수익은 플러그인의 유지보수와 추가 개발에 사용됩니다.
