Customer experience

구글 파이어베이스(Firebase) 대신 원시그널(Onesignal) 푸시 알림을 써야하는 이유

Written by 김상민 | 2021. 11. 11 오전 4:57:16

푸시 알림 툴을 선택할 때 가장 많이 고려하는 옵션은 구글 파이어베이스(Firebase), 그리고 원시그널(Onesignal) 입니다. 둘 다 무료로 시작할 수 있다는 공통점이 있지만 이 두 플랫폼 사이에는 여러 측면에서 다른 부분이 있습니다.

원시그널이 생소한 분들이라면, 원시그널은 스타트업과 같은 SMB(Small & Medium Business) 개발자가 무료로 푸시 알림 서비스를 접하면서 가볍게 시작하기도 좋고, 대기업 개발자가 맘을 먹고 활용하기에도 효과적인 툴입니다.

구글 파이어베이스 v 원시그널 스펙 비교표

 

신뢰성 & 플랫폼 지원

푸시 알림 플랫폼을 선택하는데 있어서 알림이 매번 안전하게 전송되는 것보다 더 중요한 요소는 없겠죠. 원시그널은 시스템 신뢰도의 척도라 할 수 있는 가동 시간(uptime) 비율이 99.95%입니다. 원시그널은 다운 타임(down time) 수치를 투명하게 웹사이트 상에 공개합니다. 목적은 기능이 제대로 작동하지 않을 때 짧은 시간 내에 문제를 해결하기 위함이라고 합니다.

반면 파이어베이스는 '구글'의 파이어베이스지만 구글 수준의 신뢰도를 갖춘 것 같지는 않습니다. 2019년 파이어베이스는 12일 간 Topic Messaging 기능이 정상적으로 작동하지 않았습니다.

 

파이어베이스 또다른 기능인 Crashlytics 도 지난해 5일 간 부분적으로 정상 작동하지 않았습니다. 20205월, 파이어베이스APP Distribution 서비스에 문제가 발생했고, 사용자들은 앱 테스트 빌드를 할 수 없었습니다. 파이어베이스 팀은 이 문제에 대해 연구하고 있다고 말했지만, 이슈는 77일 이상 지날 때까지 해결되지 않았습니다.

Android Google Play Store 에 올라 있는 모든 애플리케이션은 알림을 보내기 위해 Firebase API(FCM)를 사용해야 합니다. 원시그널도 이 요구 사항에 맞춰 FCM API를 활용합니다. 단, API의 신뢰할 수 있는 부분만을 사용합니다. 예컨대 Topic Messaging 을 사용하지 않습니다. 또한 구글과 이슈 해결을 위해 트러블슈팅을 같이 하고 있습니다.

가능하면 원시그널 FCM API를 사용하지 않으려고 합니다. 대신 믿을 수 있는 대체 채널을 사용합니다. 가령 Apple Push Notification Service API를 사용하여 iOS 장치와 Safari 데스크톱 브라우저에 알림을 전송합니다.

또한 모든 웹 푸시 메시지에 웹 푸시 프로토콜을 사용합니다. Kindle Fire 디바이스 알림용 ADM(Amazon Device Messaging), Windows 데스크톱 알림용 WNS(Windows Notification Service), 그리고 최신 화웨이 디바이스 알림용 HMS 등 다른 API를 지원합니다.

만약 중국 본토에 우리 서비스의 사용자가 있는 경우 파이어베이스는 작동하지 않습니다. 중국의 만리장성과 같은 방화벽은 파이어베이스, FCM 등 모든 구글 서비스를 차단하기 때문입니다.

마지막으로, 파이어베이스는 GMS(Google Mobile Services)를 포함하지 않는 화웨이 P40 모델에 모바일 알림을 보낼 수 없습니다. 화웨이 모바일 서비스(HMS)를 사용해야만 합니다. 화웨이의 시장 점유율은 2020년 기준, 유럽 시장 점유율 20%, 중국 시장 점유율 40%입니다. 원시그널은 중국을 포함해 전 세계의 사용자들에게 메시지를 보낼 수 있도록 HMS 에 대한 지원을 시작했습니다.

 

사용하기 쉽다

파이어베이스의 가장 큰 장점은 모바일 서비스 개발자들이 도입 초기에 사용하기 쉽다는 점입니다.

파이어베이스 공식 문서(document)를 따라하기 쉽고, Firebase SDK 오픈 소스는 다른 플러그인 및 여러 디바이스에 잘 작동하는지 테스트할 수 있습니다. 그러나 이런 사용성 측면에서도 원시그널이 파이어베이스보다 나은 점이 있습니다.

 

웹 푸시 구축 및 유지

파이어베이스의 웹 푸시는 여러 번의 수동 코딩 테스트가 필요합니다. 웹 푸시는 Service Workers 브라우저, 복잡한 권한 모델, 다수 브라우저 간 사용성을 함께 고려해야 하는 복잡한 작업입니다. 파이어베이스에서 웹 푸시를 설정하려면 새로운 브라우저 변경에 대한 지속적인 유지 보수가 필요하기 때문에 숙련된 개발자가 내부에 꼭 필요합니다.

반면, 원시그널의 웹 푸시 지원은 사용하기 쉬운 자바스크립트 라이브러리(Javascript Library)로 처리됩니다. 설치하는데 15분밖에 걸리지 않습니다. 또 워드프레스(Wordpress) 및 쇼피파이(Shopify)와 같은 인기 플랫폼에 대한 튜토리얼과 플러그인을 제공하여 비개발자도 원시그널을 비교적 쉽게 도입할 수 있습니다.

원시그널에는 사용자 권한 요청, 특정 브라우저 간 지원(데스크톱 Safari 포함) 등 관련 모범 사례(best practices)를 구현할 수 있는 기능을 기본으로 제공합니다.

원시그널의 웹 푸시 권한 프롬프트 편집기(Web Push Permission Prompt Editor)

 

모바일 푸시 사용 및 고객 맞춤화(Customizability)

파이어베이스의 모바일 푸시 알림 대시보드를 보면 초기 출시했을 때의 모습과 지금이 크게 다르지 않습니다. 메시지의 미리보기(preview)를 보여주지만 부정확합니다.

파이어베이스 모바일 푸시 알림 작성(notification composer) 화면

 

원시그널은 별도의 테스트가 필요 없을 만큼 정확한 미리보기를 제공합니다. 가능한 사용자 경험을 간소화하려는 것이 보입니다.

원시그널 모바일 푸시 알림 작성(notification composer) 화면

 

또 파이어베이스는 사용자의 입맛에 맞게 변경할 수 있는 커스터마이제이션 기능을 제공하지 않습니다. 원시그널의 커스터마이제이션 옵션에는 사용 방법을 설명하는 인라인(in-line) 도움말이 달려 있습니다.

인라인 도움말을 포함한 원시그널의 사용자 지정 옵션 화면

 

마지막으로 파이어베이스는 매우 제한된 모바일 SDK Sets을 제공합니다. 그리하여 개발자들은 관리가 충분이 되지 않은, 어떠한 이슈가 발생할 여지가 높은 써드파티(third party) 사의 라이브러리를 사용해야만 합니다.

 

Firebase's First-Party Mobile SDKs:

  • Native iOS
  • Native Android
  • Unity
  • Flutter

 

OneSignal's First-Party Mobile SDKs:

  • Native iOS
  • Native Android
  • Unity
  • Flutter
  • React Native (Including Expo)
  • Ionic (Includes Capacitor)
  • Xamarin
  • PhoneGap
  • Cordova
  • Solar2D (Previously CoronaSDK)
  • Cocos2d-x

 

인앱메시지(In-App Messaging)

파이어베이스에는 인앱메시지 커스터마이제이션 옵션이 거의 없어서 UI 측면에서 보자면 보기 좋은 메시지를 만들기 어려운 구조입니다.

파이어베이스 인앱메시지 작성 화면(In-App Messaging Creator)

 

상대적으로 원시그널의 인앱메시지 작업창(creator)은 유저 친화적입니다. 원시그널의 인앱메시지 시스템은 파이어베이스가 수행하는 모든 작업을 수행할 수 있습니다. 여기에 권한 프롬프트(permission prompts)에 대한 지원도 제공합니다.

원시그널 인앱메시지 작업창(In-App Messaging Creator)

 

세그먼테이션(Segmentation) 및 오디언스(Audiences)

언뜻 파이어베이스의 오디언스 생성 도구는 사용하기 쉬워 보입니다. 개발자들은 파이어베이스에 오디언스를 만들고 청중에게 메시지를 보내죠.

파이어베이스의 오디언스 생성 UI(Audience Creation UI)

 

하지만 여기엔 몇 가지 문서화 되지 않은 제한 사항이 있습니다.

먼저, 사용자가 앱을 한번 실행해야만 오디언스 명단에 추가하거나 제거할 수 있습니다. 예컨대, '인앱 구매자' 오디언스 대상을 만들면 오디언스 '생성 이후'의 구매자만을 오디언스 명단에 추가할 수 있습니다. '미국 내 유저'라는 대상을 만들면, 처음에 오디언스 명단에 있는 사람은 0명일 것입니다. 또 사용자가 10명 미만인 오디언스 명단은 특정 필터를 걸었을 때 전혀 작동하지 않을 수 있습니다.

이러한 제한 사항은 파이어베이스 팀이 공유하는 유튜브 비디오에서 확인할 수 있습니다. (링크: https://www.youtube.com/watch?v=l9XXU0bYOZc)

Remote Config 또는 Firebase Cloud Messaging 제품을 사용하여 파이어베이스에서 오디언스를 처음 만들면, 오디언스 명단이 비어 있습니다. 이 명단을 채우려면, 클라이언트가 우리가 설정한 기준에 부합하는 행동을 하여 들어올 때까지의 시간이 걸립니다.

반면 원시그널의 세그먼트 생성 인터페이스(interface)는 원시그널에서 이미 저장된 사용자 데이터를 불러와 세그먼트가 실시간으로 작동합니다. 대상자가 세그먼트에 포함되지 않거나 뜻 모를 이유로 제외되는 일이 없습니다.
 

원시그널 세그먼트 생성 UI(Segment Creation UI)

 

원시그널 세그먼트는 OneSignal API에서 프로그래밍 방식으로 만들거나 편집할 수도 있습니다. 또한 원시그널은 세그먼트에 있는 사용자의 데이터를 CSV 파일로 내보낼 수(exporting) 있도록 지원합니다.

세그먼트의 명단을 볼 수 있는 원시그널 user 대시보드 화면 구성

 

API

파이어베이스와 원시그널 모두 알림 전송을 위한 강력한 API를 제공합니다. 차이점이라면 OneSignal API는 데이터 내보내기(exporting), 상세 분석 추적, 실시간 데이터 필터링 등과 같은 기능을 지원합니다.

원시그널은 범용적 프로그래밍 언어로 상세한 코드 예시를 제공합니다.

알림 제작을 위한 원시그널 API Documentation

(https://documentation.onesignal.com/reference#create-notification)

 

고객 지원 및 Documentation

파이어베이스 고객지원 설명서가 다소 부족한 경우가 있습니다. 대부분 고객 지원을 공개 포럼이나 StackOverflow 로 제공합니다. 따라서 비슷한 문제를 해결한 다른 개발자나 파이어베이스 직원이 공개 포럼에 답변을 달기만을 기다려야 합니다.

파이어베이스의 공식 Slack 채널 화면

 

또 다른 옵션은 파이어베이스 팀에 직접 질문서를 제출하고 답변을 기다리는 것입니다. 다음은 개발자가 작성할 수 있는 파어이베이스 질문 양식의 스크린샷입니다.

 

반면 원시그널은 모든 고객에게 보다 신속한 고객 지원을 제공합니다. 라이브 챗 등 창구를 통해 비즈니스 작업일 24시간 내에 답변을 전달하며, 유료 고객의 질문은 더 빠르게 처리됩니다.

원시그널 라이브 챗 고객 지원

 

또 원시그널은 일반적인 질문에 대한 답을 구글링 검색이 가능한 디지털 문서 형태로 제공하고 있습니다. 고객이 목이 마를 때 직접 필요한 정보를 제 때 찾을 수 있습니다.

 

원시그널의 디지털 documentation 및 트러블슈팅 가이드라인 문서

 

가격

원시그널과 파이어베이스 둘 다 무료 옵션을 제공합니다. 하지만 파이어베이스에서는 이미지 알림을 보낼 때 추가 비용을 지불해야 합니다.

파이어베이스의 이미지 알림 메시지는 유료 서비스입니다.

 

또 파이어베이스는 가격 체계가 다소 복잡하며, 사용 중 자신도 모르는 사이에 비용이 늘 수 있습니다.

한번 계산을 해보았습니다. 1 메가바이트 이미지를 업로드하여 1,000,000개의 장치에 전송하는 비용은 150달러(파이어베이스는 데이터 전송 기가바이트당 0.15센트)입니다. 당신이 하루에 한 번씩 같은 수의 알림 메시지를 보낸다 가정하면, 비용은 매달 4,500달러가 될 것입니다. 만약 파이어베이스로 이미지 알림을 보낼 생각이라면 용량이 작은 이미지를 사용하세요!

반면 원시그널은 무료 CDN 호스팅을 제공하여 모든 사용자들이 이미지를 실은 푸시 알림 및 인앱메시지를 전송합니다. 뿐만 아니라 1만 가입자(가입자는 알림을 받는 서비스 이용자 수를 뜻함)까지 무료 요금제를 제공하고 있습니다.

원시그널의 요금제는 간단합니다. 가입자(subscriber) 수를 기준으로 가격을 산정합니다. API call에는 추가 비용이 들지 않으며 코딩 오류로 인해 예상치 못한 청구서가 발생하는 일은 아마 없을 것입니다.

 

마치며...

안정성, 사용 편의성, 고객 지원 및 가격 측면에서 파이어베이스와 원시그널이 차이점을 나열해보았습니다

G2 크라우드 게시판을 보면, 원시그널이 타 제품과 비교하여 어떻게 자신의 문제를 잘 해결하는지를 공유하는 후기를 만날수 있습니다.

 

장단이 있겠지만 원시그널(Onesignal)이 좋은 서비스인 것은 분명 합니다. 원시그널 무료 계정을 만들어 궁합이 잘 맞는지 판단한 후에 개발을 시작하는 것이 좋습니다. 궁합이 잘 맞는다면?