Categories
콰징

위챗 개발 플랫폼의 이해

위챗은 흔히 중국에서 가장 많이 사용되는 메신저 앱입니다.

즉, 중국의 카카오와 같은 앱이라고 볼 수 있습니다. 이런 관점은 중국외부에서 위챗을 바라보는 시각입니다. 실제 위챗은 메시지를 주고 받는 메시지 앱이 아니라 위챗 앱을 중심으로 다양한 개발 생태계를 만들어 내고 있는 생활 밀착형 플랫폼이라고 볼 수 있습니다.

위쳇 페이 등은 많이 알려져 있지만 개발 플랫폼 또는 앱 생태계의 역할을 하는 위챗에 대해서는 한국 또는 개발자 사이에 많이 소개가 되지 않은 것 같습니다.

이번 글에서는 위챗의 이런 부분에 대해 간단하게 소개해보려고 합니다.

숫자로 본 위챗

위챗 서비스의 숫자는 다음 웹 페이지에 상세하게 나와 있습니다.

중요 숫자만 살펴보면 대략 다음과 같습니다.

  • 월 사용자: 10.8억 (2018.3Q)
  • 세계에서 5번째로 많이 사용되는 앱
  • 일 450억 메시지 전송(2018)
  • 중국 모바일 트래픽의 34% 사용

이런 수치를 보면 위챗은 중국 모바일 환경의 절반 이상이라고 해도 무방할 것 같습니다. 이런 일반적인 수치 이외에 앱 플랫폼 또는 개발 생태계와 관련된 수치를 보면 다음과 같은 수치들이 있습니다.

  • 미니 프로그램(小程序): 백만개
  • 미니 프로그램 사용자: 6억명
  • 매일 미니 프로그램 사용자: 1.7억
  • 평균 일 사용 미니 프로그램: 4개
  • 공식 계정(official accounts, 公众号) : 1700만개(2017)

모바일의 영토 확장

위챗은 서비스 수치에서 보듯이 중국 모바일 사용의 절반 이상이라고 할 수 있는데 단순히 메신저 기능만으로는 이런 크기의 영토를 확장하기 어렵습니다.

또한 위챗 혼자만의 작업으로도 이런 방대한 규모의 트래픽이나 앱의 사용을 만들어 내기도 어려울 것입니다.

웹 기반의 생태계는 PC나 스마트폰 보다는 조금 더 큰 화면을 요구하는 생태계였다고 하면 앱 생태계는 모바일 환경의 생태계라고 할 수 있습니다.

모바일 환경의 생태계라는 의미는 우리가 매일 생활하면서 어딘가로 이동하고, 식당을 가고, 백화점을 가서 물건을 사는 등의 행동에 영향을 주는 환경입니다.

이런 환경 깊숙히 모바일 앱들이 침투해서 사용되게 하기 위해서는 어떻게 해야 할까요?

주변을 둘러보면 이미 큰 회사들은 모바일 생태계에 많이 포함되어 있지만 우리가 이용하는 많은 상점들, 식당들은 대부분 영세하고 모바일 생태계로 들어오기에는 어려운 환경이라고 할 수 있습니다.

앱 등을 만드는 비용 문제는 고려 하지 않더라도 다음과 같은 아주 큰 문제가 있습니다.

  1. 앱의 다운로드
  2. 다운로드 후 사용자 등록
  3. 앱에서 지불 연결

최근 중국의 많은 식당이나 편의점은 종업원이 주문을 받거나 지불을 받지 않고 테이블에 앉아서 주문 및 지불을 하고 있습니다.

이렇게 하기 위해서는 이런 기능을 제공하는 앱을 다운로드 받아야 하는데 가끔 가는 식당의 주문/지불을 위해 누가 앱을 다운로드 받고, 사용자 등록을 하겠습니까?

설령 다운로드 받고 사용한다 하더라도 나의 폰에 얼마나 많은 앱을 다운로드 받아야 생활 속에서 불편함 없이 생활할 수 있을까요?

버거킹, 맥도날드 등과 같은 패스트푸드점, 스타벅스, 커피빈 등의 카페, 서점, 영화관 등등 헤아릴 수 없습니다.

이미 필자의 폰에도 쇼핑 관련 앱만 5개, 영화관 앱만 3개(다행히 배급사가 많지 않아서)가 있습니다.

위챗은 일반 생활속의 환경을 모바일 생태계로 전환시키기 위해 혼자서 모든 것을 만들 수 없다고 생각하고 위 세가지 문제를 해결하면서 쉽게 오프라인 환경에 상점, 식당 들이 쉽게 모바일 환경으로 건너 올 수 있는 환경을 만드는데 많은 노력을 기울였으며 그 결과로 앞에서 본 수치를 달성할 수 있게 되었습니다.

필자가 북경에서 생활하는 동안에 외출 시 지갑이나 현금을 소지하지 않고 다니는데 스마트 폰만 있으면 생활중에서 일어나는 모든 일에 대한 처리가 가능했습니다. 쇼핑 앱도 설치되어 있지 않고, 영화관 앱도 설치되어 있지 않지만 온라인 몰, 오프라인 몰 모두 물건을 살 수 있고, 영화 애매도 할 수 있습니다.

플랫폼으로써의 위챗

그러면 위챗은 어떤 방식으로 위의 세가지 문제를 해결했을까요?

현재 모바일 생태계에서 플랫폼이라고 하면 대략 iOS와 안드로이드로 플랫폼으로 구분할 수 있습니다.

이들 플랫폼에 앱을 배포하기 위해서는 해당 스펙에 맞는 바이너리 앱을 만들고 앱 스토어에 등록을 해야 합니다. 사용자는 이를 사용하기 위해서 앱스토어에서 대략 수십 MB의 앱을 다운받아야 합니다.

물론 iOS와 안드로이드의 개발언어, 폰의 GPS, 블루투스 등 주변 기기 핸들링 방법, UX 등 많은 부분이 다릅니다.  각 앱 별로 인증 수단은 별도로 만들고, 지불 역시 신용카드, 카카오 페이, 삼성페이 등 아주 다양합니다.

위챗은 위챗 내에 확장할 수 있는 몇가지 기능과 위챗 인증을 통해 이런 문제를 해결하고 있으며 중국에서 플랫폼 제공자로의 위치를 확고히 하고 있습니다.

이 글에서는 위챗 내에 플랫폼 특징이 있는 가장 중요한 요소인 Mini Program(小程序)과 Official Account(공식 계정,  公众号) 에 대해 간단하게 소개하겠습니다.

Official Account(공식 계정, 公众号)

공식 계정은 카톡채널(이전의 카톡 플러스 친구)과 유사한 기능을 제공하는 서비스입니다.

나의 채팅 목록에 내가 Follow 한 기업들의 계정이 나타나는 형태입니다.

이 공식 계정을 통해 기업은 사용자에게 기업에서 제공하는 서비스 또는 제품에 대한 정보를 제공하거나 실제 제품을 판매하는 기능 등을 수행할 수 있습니다.

관련 문서는 다음 웹 페이지를 참고하세요.

필자의 경우 카톡 채널의 경우 실제 채널 개설자로 사용하기 보다 채널 사용자로 사용하였기 때문에 정확하게 확인할 수는 없지만 필자가 사용한 대부분의 카톡 채널의 정보의 안내 또는 원래 서비스하고 있는 앱 또는 웹 페이지로의 유도가 주요 기능이라고 생각하고 있습니다.

반면 위챗의 공식 계정은 이런 기능 이외에 온전히 하나의 앱으로 동작할 수 있는 기반을 제공합니다.

온전히 하나의 앱으로 동작하게 하기 위해서는 사용자 관리 및 인증, 지불 등의 기능을 제공해야 합니다.

예를 들면 다음은 필자가 가끔 이용하는 사무실 근처의 커피숍의 공식 계정입니다.

필자의 채팅 창 목록 중간, 중간에 개인간 채팅, 그룹 채팅방과 함께 공식 계정이 나타나는 것을 볼 수 있습니다.

공식 계정을 선택하면 다음과 같은 피드 정보가 나타나는 화면이 나오는데 이 형태는 공식계정의 기본 형태이며 변경할 수 없습니다.

컨텐츠는 관리 도구에서 등록할 수 있습니다. 플랫폼으로써의 가치가 나타나는 부분이 바로 아래의 메뉴 부분인데 이 메뉴를 선택하면 액션을 지정할 수 있습니다.

각 버튼의 액션은 여러가지로 지정할 수 있는데 회사에서 제공하는 웹 화면으로 이동 시킬수 있고, 특정 Mini Program을 실행할 수도 있습니다.

하단 버튼 메뉴의 좌측 키보드 아이콘은 채팅을 하는 아이콘으로 기업 계정 관리자와 채팅을 할 수도 있지만 필자가 사용한 대부분의 공식 계정은 이 기능은 잘 사용하지 않습니다.

대신 사용자가 메뉴 클릭 시 해당 메뉴에 해당하는 정보를 제공하는 형태로는 사용할 수 있습니다.

다음은 Guangdong Unicom 공식 계정에서 사용자의 현재 요금과 패킷 사용량에 대한 정보를 제공하는 공식계정입니다.

Guangdong Unicom 의 공식 계정에서는 사용자 정보와 연결되어 나의 정보가 나타나는 것을 볼 수 있습니다. 즉, 단순히 정적인 정보만 안내하는 것이 아니라 사용자 인증을 하고, 인증된 사용자의 정보를 공식 계정을 제공하는 회사의 API를 호출하여 제공할 수 있게 되어 있습니다.

일반적인 공식 계정은 버튼 클릭 시 공식 계정의 회사가 만들어 놓은 웹 페이지를 로딩하도록 하는 경우가 많습니다. 이 웹 페이지 내에서 회사에서 제공하고자 하는 기능을 구현하는 방식입니다. 모바일 웹과 같은 형태라고 할 수 있는데 일반적인 모바일 웹과의 차이는 다음과 같습니다.

  • 위챗 인증 기능이 제공되어 인증을 쉽게 할 수 있다.
  • 위챗 앱에서 제공되는 스캔, 이미지 선택, 위치 정보 등을 사용할 수 있다.
  • 위챗 지불을 사용할 수 있다.

위의 커피숍 공식 계정의 주문 메뉴를 선택하면 다음과 같은 페이지가 나타나는데 일반적인 주문 앱과 거의 동일한 형태를 가지고 있습니다.

이 화면은 위챗이 제공하는 화면은 아니고 공식 계정을 만든 회사의 서버에서 운영되고 있는 모바일 웹 페이지입니다.

제품을 선택하고 구매를 하게 되면 다음과 같은 위챗 지불이 나타나면서 바로 지불 처리가 가능합니다.

여기서 사용자 정보를 조회하는 아이콘을 선택하면 다음과 같이 위챗 계정으로 인증이 되어 위챗 계정과 동일한 사용자 정보가 나타납니다.

물론 이 사용자 정보는 일반적인 OAuth 방식과 유사한 방식으로 처리되며 획득한 사용자 정보는 공식 계정 운영 회사의 DB에도 저장할 수 있습니다.

커피숍 공식 계정의 사용이 마치 배달 주문으로 착각할 수 있는데 실제로는 오프라인 매장 방문 후 테이블에 앉아서 QR 코드를 스캔했을 때 진행되는 일들입니다.

필자가 서두에 언급한 오프라인 상점들을 모바일 생태계로 진입 시키기 위해 가장 큰 세가지 허들인 앱의 설치, 인증, 지불을 자연스럽게 해결하고 있습니다.

그리고 모바일 웹 형태이기 때문에 iOS, 안드로이드 상관없이 하나의 모바일 웹으로 모든 디바이스에서 운영이 가능합니다.

플랫폼이라는 것이 플랫폼 기반위에 여러 이해 관계자들이 들어와서 자신들이 원하는 무언가를 수행할 수 있는 것이라고 보면 위 공식 계정에서 보는 것처럼 위챗 그 자체도 아주 플랫폼이라고 할 수 있습니다.

유튜브, 온라인 커머스 등과 같이 온라인에 기반을 둔 서비스라면 이런 플랫폼 보다는 iOS, 안드로이드와 같은 네이티브 플랫폼을 선호하겠지만 오프라인에서 고객이 행동을 하고 메인 비즈니스가 발생하는 영역에서는 오히려 이런 형태의 플랫폼이 더 훌륭하지 않습니까?

필자가 2017년 북경에서 업무를 시작할 즈음에 중국에서도 많은 변화가 있던 시기였습니다.

일반인들이 몸으로 체험한 것은 공유 자전거 서비스가 급속도로 확장이 되어 생활속에 깊숙히 들어 왔고, 알리 페이, 위챗 페이와 같은 모바일 페이 역시 실험적인 수준이 아니라 대부분의 식당, 편의점 등과 같은 일반 사람들이 생활속에서 접할 수 있는 본격적인 모바일 환경의 시대가 열리던 시기였습니다.

편의점은 사용자의 QRCode 사용 행동을 통해 자연스럽게 반 무인으로 변화되었고, 지하철 등의 교통 수단도 스마트 폰(NFC 기반이 아닌)으로 사용할 수 있게 되었습니다.

위챗의 공식 계정 역시 많은 회사들이 이 시기에 집중적으로 적용하기 시작하였으며, 이 기반으로 식당의 테이블 주문 및 지불 등이 활성화 되었습니다.

즉 페이와 발전과 공식 계정의 발전이 서로 상호 보완하면서 생활 깊숙히 침투하게 되었던 것입니다.

Mini Program(小程序)

공식 계정이 제공하는 기능만으로도 많은 기능을 모바일 환경에서 제공할 수 있게 되었지만 메인 화면의 제약, 정해진 버튼 기반의 액션, 사용자의 채팅 목록에 나타남으로써 사용자를 번거롭게 하는 등의 이슈가 있었는데 위챗에서는 2017년 공식 계정보다 진보된, 조금 더 앱에 가까운 모델인 Mini Program(小程序)이라는 개념을 시장에 발표 하였습니다.

미니 프로그램은 채팅 창의 목록에 나타나지 않으며 독립적인 프로세스 형태로 나타나고, 홈 화면에 바로 가기를 추가할 수 있는 등 위챗 앱과는 약간은 독립적으로 운영 가능합니다.

미니 프로그램의 개발 역시 위챗에서 제공하는 개발 언어와 개발 도구를 사용하여 개발하고, 프론트앤드 부분은 위챗에서 운영하는 서버로 배포하는 구성입니다.

PWA(Progressive Web App)와 거의 비슷한데 PWA는 브라우저 상에서 동작되는 앱이라고 하면 미니 프로그램은 위챗 앱 상에서 실행되는 프로그램입니다.

실제 실행되는 화면은 다음과 같습니다. 위챗의 대화방 목록을 아래로 쓸어 내리면 최근 사용한 미니 프로그램 또는 즐겨찾기한 미니 프로그램이 나타납니다. 스마트 폰의 바탕 화면이나 앱 목록에 해당하는 화면에 해당합니다. 여기서 앱을 선택하면 앱이 실행됩니다.

앱을 찾는 방법은 앱 스토어라는 개념이 있는 것이 아니라 위챗에서 앱을 검색하거나 오프라인에서 QR 코드를 스캔하거나 하는 등의 방식으로 앱에 접근할 수 있습니다. 실제 중국의 많은 상점에서는 QR 코드를 스캔하는 경우 주문을 위한 미니 프로그램을 실행시키고 있습니다. 다음은 위챗 미니 프로그램 검색 결과 화면 입니다.

채팅 목록 상단에서 아이콘을 선택하거나 검색 결과 화면에서 프로그램을 선택하면 다음과 같은 미니 프로그램이 실행됩니다. 이 과정에서 별도의 앱 설치 과정은 필요 없으며 실제 구현된 코드는 Javascript 로 구현되어 있기 때문에 위챗 서버에서 Javascript 코드만 다운로드 받으면 바로 실행이 됩니다. 많은 미니 프로그램의 스크립트 크기는 수백 KB에서 몇 MB 수준이라 특별한 기다림 없이 바로 미니 프로그램이 실행됩니다.

미니 프로그램은 대략 상단의 타이틀과 앱 설정 버튼이 있고, 가운데가 컨텐츠 영역, 하단이 메인 메뉴를 구성하는 Tab bar 가 있습니다. 대부분의 미니 프로그램은 위와 같은 형태를 가지고 있습니다. 물론 상단의 타이틀에 대한 스타일이나 하단 Tab bar에 대해 개발자가 별도로 구성할 수도 있습니다.

또한, 미니프로그램은 일반 앱들과 동일하게 폰의 바탕화면에 바로가기 아이콘을 추가할 수도 있으며, 안드로이드의 경우 일반 앱처럼 실행중인 앱에도 다음과 같이 나타납니다.

다음은 차량 안에서 QRCode를 스캔하고 미니 프로그램으로 주차 요금을 지불하는 상황입니다.

이런 미니 프로그램을 통해  모바일 비즈니스를 수행하고 싶은 회사는  iOS, Android 앱을 개발할 필요 없이 비교적 개발하기 용이한 웹 앱 개발과 비슷한 개발 환경에서 개발을 진행하여 하나의 소스 코드로 iOS, 안드로이드에 모두 배포할 수 있습니다. 최근 많은 회사들이 개발자 찾기에 어려움을 겪고 있고, 실제 개발자를 찾는다 하더라도 iOS, Android 두개의 플랫폼용 앱 개발에 드는 비용, 앱 배포 검수를 위한 시간 및 재 검수시 실제 배포 예정일 예측의 어려움 등 다양한 문제가 있습니다.  중국내 비즈니스를 하는 경우 이런 문제점은 위챗 미니프로그램을 이용함으로써 많이 해소할 수 있습니다.

미니 프로그램에 대한 간단한 소개는 다음 영문 웹 페이지와 필자가 작성한 다음글을 참고하세요.

미니 프로그램 개발 관련 글은 다음 글을 통해 자세하게 살펴 보겠습니다.

Open Platform

앞에서 설명한 공식 계정, 미니 프로그램 등은 각각 개발 계정을 등록하고 App Key를 받은 다음 개발 및 배포를 할 수 있습니다. 하나의 ID에 하나의 앱을 만들 수 있는 구조입니다. 즉 한 회사가 공식 계정, 미니 프로그램을 모두 만들려면 각각 계정을 만들어야 합니다. 그리고 App ID, App Key 등도 독립적입니다.

필자도 처음 미니 프로그램을 만들었을 때 혼란스러웠습니다. 이유는 일반적으로는 위챗 개발 계정을 만들고, 거기서 미니 프로그램의 앱을 생성하거나 공식 계정을 생성하는 것이 일반적이라고 생각했기 때문입니다. 위챗은 개발 플랫폼은 각각 개별로 존재합니다. 또한 공식계정, 미니 프로그램 이외에 위챗은 일반 모바일 앱, 웹 프로그램 등을 위한 기능도 제공하고 있습니다. 이들 또한 각각의 앱 ID와 Key가 가지고 있는 방식입니다.

오픈 플랫폼은 표면적으로는 다음과 같은 기능을 제공합니다.

이런 기능 이외에 앱 들을 통합 운영할 수 있는 환경을 제공하는데, 통합 운영이라고 해서 거창할 것 같지만 실제로는 다음 핵심 기능을 제공하는 것이 전부라고 할 수 있습니다.

  • 각 앱의 사용자는 OpenID 라고 하는 유일한 사용자 식별 값이 존재
  • 하나의 회사가 여러 앱을 운영하는 경우 사용자를 통합할 필요가 있는데 오픈 플랫폼은 회사가 사용하는 모든 앱의 사용자에게 UnionID라는 유일한 식별자를 부여해 준다.

즉 여러 앱 들의 사용자에 유일하게 사용할 수 있는 UnionID를 부여해주는 것이 오픈 플랫폼의 특징이라고 할 수 있습니다.

필자의 경우 처음 미니 프로그램 개발을 하면서 관리용 웹 화면을 개발하려고 하였습니다. 이때 ID, 패스워드를 관리하기 보다는 미니 프로그램에서 가져온 사용자 정보에 권한을 관리자로 부여하고 위챗 QR Code를 이용하여 로그인하게 하고 싶었습니다.

위챗으로 위 앱페이지의 QR Code를 스캔하면 여기서 로그인 한 사용자와 미니 프로그램에서 로그인한 사용자를 동일한 사용자로 인식하게 됩니다.

다음 화면은 오픈 플랫폼 관리 화면으로 앱 유형별로 앱을 등록하거나 생성할 수 있는 기능을 제공하고 있습니다.

앱 별로 계정 등록 및 승인 필요

얼핏보면 각 앱의 관리에 문제가 없어 보이지만 실제 처음부터 개발 계정을 등록하고, 관리하는 경우 상당히 혼란스러운 상황을 겪게 됩니다. 예를 들어 미니 프로그램을 만들기 위해 개발 계정을 등록하고 App ID, Key를 받습니다. 그리고 다른 미니 프로그램을 만들려면 다시 개발 계정을 등록해야 합니다. 즉 한 계정 당 하나의 앱만 만들 수 있습니다. 이 상황에서 다시 공식 계정을 추가하려면 계정을 또 등록해야 합니다. 위챗 지불도 마찬가지 입니다. 지불 계정을 따로 등록해야 하고 승인 과정을 거쳐야 합니다. 오픈 플랫폼 역시 개발 계정을 등록해야 합니다.

여간 번거롭고 복잡한 작업이 아닙니다. 필자가 쓴 위챗 미니 프로그램 개발 계정 신청을 보면 아시겠지만 사업자 등록증 첨부, 개발 신청서 스캔, 관리자 신분 증명 등등의 작업이 필요하기 때문입니다. 그리고 비용도 각각 지불을 해야 합니다.

이 부분에 대한 명확한 설명이 없어 필자는 많이 혼란스러웠는데 이 글을 읽는 독자분들은 한번에 이해가 되었으면 합니다.

마치며

스마트 폰이 출시되면서 컴퓨팅 환경이 사용자와 함께 이동할 수 있게 됨으로써 많은 사람들이 실제 생활 중에도 적극적으로 스마트 폰을 사용하고 있습니다. 이를 통해 많은 편리함을 얻고 있습니다. 다만 이를 위해서는 앱 설치, 인증, 지불 등과 같은 번거러운 작업과 자주 사용하지 않는 앱 찾기, 업데이트 등의 이슈로 아직까지 실제 생활 속에서의 앱 사용은 온라인 커머스, 컨텐츠 소비 등의 영역이 아닌 우리 생활의 주변에 있는 작은 상점 등으로는 확산이 더딘 상황입니다. 중국은 이미 이런 상황을 넘어서 실질적인 모바일 환경에서 생활을 하고 있는 사회라고 할 수 있습니다. 이런 모바일 환경을 만드는 과정에서 위챗과 위챗의 개발 플랫폼은 많은 역할을 하였습니다.

이런 위챗 개발 환경에 대한 이해를 통해 한국에서도 이런 개발 생태계가 나왔으면 하는 바램입니다.

또한  중국에 진출해서 비즈니스를 수행하는데 있어 위챗을 적극적으로 활용함에 있어 위챗 개발 생태계를 잘 이해하고 이를 사업에 잘 활용하는 것이 중요한데 이글이 조금이나마 도움이 되었으면 합니다.