푸시 알림은 모바일 앱을 사용하는 모든 사람에게 필수적인 마케팅 도구입니다.
사용자의 휴대폰으로 긴급 메시지를 보내 사용자와 소통할 수 있는 가장 좋은 방법입니다.
모바일 앱은 사용자에게 앱이 열려 있지 않은 경우에도 스마트폰에 나타나는 간단한 팝업 메시지인 푸시 알림을 보낼 수 있습니다.
이러한 알림에는 미리 알림, 업데이트, 할인 등이 포함될 수 있습니다.
사용자의 시선을 사로잡기 위해 만들어졌습니다. 제목, 메시지, 사진 및 URL은 모두 푸시 알림의 가능한 구성 요소입니다. 이모티콘, 로고 및 기타 항목도 그 일부가 될 수 있습니다.
Apple OS 및 Google Android와 같은 운영 체제에는 푸시 알림을 위한 다양한 인터페이스가 있습니다.
푸시 알림을 사용하여 참여를 촉진하고, 앱 사용을 늘리고, 전환에 영향을 주는 등의 작업을 수행할 수 있습니다.
옵션은 정말 무한합니다.
모바일 장치용 푸시 알림이라고도 하는 모바일 장치용 푸시 알림은 이메일, SMS 및 온라인 푸시 알림과 같은 채널 사용을 여러 가지 특별한 이점으로 보완할 수 있습니다.
이 게시물에서 알림 서비스에 대한 간략한 설명과 목표, 높은 수준의 디자인, 특수 기능 등에 대한 정보를 받게 됩니다.
목표
다양한 채널을 통해 제품에서 사용자에게 메시지를 효율적으로 전달할 수 있는 알림 서비스 개발
요구조건 니즈:
- Sending API: 모든 백엔드 및 마이크로서비스가 알림 전달을 시작할 수 있도록 승인된 엔드포인트를 게시합니다.
- 호환 가능한 채널: 이메일, 문자 메시지 및 푸시와 같은 API를 게시하는 모든 채널에 알림 전달을 지원합니다.
- 사용자 기본 설정: 사용자가 각 채널 및 알림에 대한 사용자 기본 설정을 선택할 수 있습니다.
- 다운스트림 서비스 규정 준수 제한: 이메일 또는 SMS 서비스가 제한되거나 중지되었습니다.
- 확장 가능: (이론적으로) 무한한 수평 확장을 허용합니다.
높은 수준의 아키텍처
코드가 누군가에게 알려야 한다고 가정해 보겠습니다.
- POST /send 끝점은 코드에 의해 호출됩니다. 사용 가능한 각 채널에 대해 요청에는 수신자의 사용자 ID, 알림 유형 및 내용이 포함됩니다.
- OAuth2 클라이언트 자격 증명 흐름은 /send 끝점에서 요청을 인증하는 데 사용됩니다.
- 그러면 사용자의 알림 선택이 데이터베이스에서 요청됩니다. 기본 설정은 사용자가 특정 채널 및 알림을 구독하는지 여부를 보여줍니다.
- 데이터베이스에서 이메일 주소 및 전화번호와 같은 사용자 특성을 읽습니다.
- 이 끝점은 사용자 특성, 채널 및 채널별 콘텐츠를 포함하는 메시지 개체를 생성합니다. 그러나 비활성화된 채널은 포함되지 않습니다. 그런 다음 메시지는 팬아웃 서비스로 전달됩니다.
- 들어오는 메시지는 팬아웃 서비스를 통해 작업 대기열에 전달됩니다. 그러나 메시지에 지정되지 않은 채널에 대한 작업 대기열을 무시하기 위해 필터링이 있습니다.
- 각 채널에는 프로세서와 작업 대기열이 있습니다. 처리자는 작업을 수행한 다음 트랜잭션 이메일 또는 SMS 서비스와 같은 적절한 서비스를 요청합니다.
주요 아키텍처 요소
POST/보냄
이 끝점에 대한 요청에는 이메일 주소나 전화번호가 포함되지 않고 사용자 ID만 포함되어 있음을 잘 알고 계실 것입니다. 이렇게 하면 알림 서비스가 사용자에게 익명으로 남을 수 있습니다.
확장성을 보장하기 위해 끝점은 로드 밸런서.
일반적인 사용자 대면 인증은 엔드포인트에 대한 보호를 제공하지 않습니다.
요청을 제출하는 서비스가 소프트웨어 자체이므로 서버 간 통신에 사용되는 OAuth2 클라이언트 자격 증명 흐름이라는 고유한 인증 방법을 활용해야 합니다.
애플리케이션은 다양한 위치에서 알림을 제공합니다. 독립적으로 확장 가능함을 보장하는 로드 밸런서 뒤에 엔드포인트로 구현하여 새 코드베이스 또는 빌드 워크플로와 같은 거의 모든 곳에서 보내기 기능을 활용할 수 있습니다.
PUT/사용자 기본 설정
확장성이 뛰어난 키/값 쌍 또는 NoSQL 데이터베이스를 사용합니다. 다음과 같이 레코드 형식을 지정합니다. KEY: 샘플 사용자 ID:샘플 알림 ID, VALUE: ["email", "state: true," "SMS", "state: false," channel: "email", "email", state : 진실
레코드에 "거짓" 값이 있으면 전송 끝점은 팬아웃으로 전달되는 메시지에서 해당 채널을 제외합니다. 채널에 대한 레코드가 없는 경우 사용자가 기본 설정을 명시적으로 표시하지 않은 것입니다. 이 시나리오에서는 기본값에 동의해야 합니다.
사용자는 표준 인증 절차로 보호되는 일반 끝점과 UI를 사용하여 사용자 기본 설정 데이터베이스의 데이터를 수정할 수 있습니다.
알림 기본 설정을 변경할 수 있는 옵션을 제공하지 않으면 사용자는 짜증을 내며 알림을 스팸으로 지정하거나 묵음 처리해야 합니다. 결과적으로 귀하의 사용자 경험은 더욱 손상될 것이며 이메일 또는 SMS 전송 서비스는 귀하의 계정을 정지시킬 수 있습니다.
팬 아웃
Fanout은 메시지를 복사하여 다른 위치에 배포합니다. 저렴하고 확장성이 뛰어납니다. AWS에서 SNS를 사용합니다. Azure에서는 Pub/Sub를 사용하고 Google Cloud Platform에서는 주제 및 구독을 사용하세요.
제외된 채널 작업 대기열에 무의미한 메시지를 보내는 것을 방지하기 위해 팬아웃과 작업 대기열 간에 필터링을 구성할 수 있습니다. 예를 들어 AWS SNS에서 이메일 작업 대기열이 "채널" 필드에 "이메일" 값이 있는 경우에만 팬아웃 메시지를 받도록 지정할 수 있습니다.
필요한 작업 대기열에 동일한 메시지를 보내는 코드를 만들 수 있더라도 팬아웃이 더 효율적이고 코딩이 덜 필요합니다. Fanout은 또한 대기열을 추가하고 제거하는 편리함을 제공하므로 채널을 확장하고 재구성할 수 있습니다.
작업 처리
메시지는 작업 프로세서의 처리 대기 중인 대기열에 저장됩니다. 또한 저렴하고 확장성이 뛰어납니다. 작업 프로세서는 작업 대기열의 메시지를 처리하는 코드 조각입니다. 대기열의 메시지 양에 따라 크기를 조정할 수 있습니다.
작업 프로세서는 트랜잭션 이메일 서비스를 통해 시나리오에서 알림을 전달하기 위해 적절한 공급자에게 API 호출을 수행해야 합니다.
대부분의 이메일, SMS 및 유사한 메시지 전달 제공업체는 보내는 메시지의 양과 구경에 대한 엄격한 요구 사항을 가지고 있습니다. 또한 이러한 항목을 검토하고 적절한 절차를 철저하게 설정해야 합니다. 다음은 AWS SES에서 종료되지 않도록 하는 방법에 대한 조언입니다.
배달 서비스의 요금 한도를 초과하지 않도록 작업 프로세서의 최대 수를 정의할 수 있습니다.
추가 개선
이러한 항목을 한 눈에 볼 수 있습니다.
- 확장 가능한 인앱 알림 서비스를 제공하려면 자체 API, 테이블 등이 필요합니다.
- 열기/클릭 보고서 수집 및 표시
- 코드에서 알림 내용을 제거하고 제품 및 디자인 팀이 코드를 변경하지 않고 경고를 시각적으로 수정할 수 있도록 합니다.
- 코드를 변경하지 않고도 팀에서 대시보드를 사용하여 특정 채널에 대한 알림을 활성화하거나 비활성화할 수 있습니다.
푸시 알림의 이점
- 사용자 상호 작용 향상: 업데이트 및 최신 자료는 사용자의 관심을 유지합니다.
- 커뮤니케이션 가시성 향상: 사람들이 활동하지 않는 경우에도 메시지를 즉시 수신할 수 있습니다. 긴급 알림을 보내고 사용자에게 원활한 경험을 제공합니다.
- 유지 유지: 명확하게 보이는 푸시 알림을 사용하여 사용자의 재방문을 촉구합니다. 고객을 웹사이트와 앱으로 다시 유도하여 사용자 유지율을 높이고 이탈을 줄일 수 있습니다.
- 전환율 향상: 인앱 어워드, 프로모션, 할인 또는 기타 제안에 대한 푸시 캠페인을 생성하여 판매를 늘릴 수 있습니다.
- 기업 확장: 커뮤니케이션 접근 방식은 청중이 확장됨에 따라 확장되어야 합니다. 고객 기반이 확장됨에 따라 푸시 알림은 고객과 연락을 유지하는 효과적인 방법입니다.
- 사용자 경험 연결(UX): 소비자에게 거래 알림을 제공하여 정보를 유지하고 원활한 교차 채널 경험을 제공함으로써 고객 여정 전체에서 마찰을 줄일 수 있습니다.
결론
결론적으로 확장 가능한 푸시 알림 서비스의 아키텍처에 대한 지식을 얻었습니다. 또한 알림을 기반으로 할 수 있도록 모든 주요 클라우드 서비스 공급자가 제공하는 도구를 살펴보았습니다.
푸시 알림 시스템 아키텍처에 대한 개요를 제공하기 위해 최선을 다했음에도 불구하고 더 많은 일이 진행되고 있습니다.
이 정보가 유용하고 유용하게 사용되시기를 진심으로 바랍니다.
댓글을 남겨주세요.