토스에 내 앱을 출시하다

앱인토스 미니앱 출시기

by 배울장

어디에선가 토스에 미니앱이라는게 있다는 걸 봤다. 거의 매일 들어가는 앱이지만 미니앱이라는 항목은 본적이 없었다. 아니 봤지만 그냥 지나갔나? 아무튼 미니앱이라는게 있고, 그 안에서 결제도 할 수 있고 광고도 보여줄 수 있다고 한다. 작은 앱스토어라고 해야할까? 근데 당연히 안드로이드 iOS를 모두 지원하는 크로스 플랫폼이고 개발과정과 배포과정도 꽤나 단순하고 문서로 설명이 잘 되어있어 할 만하겠다는 생각을 했다.


사실 앱을 개발하던 웹서비스를 개발하던 결제과정과 광고를 붙이는 과정은 상당히 고통스럽다. 테스트 결제에서는 됐다가 진짜 결제에서는 갑자기 문제가 발생하는 경우도 있고, 광고도 테스트 광고를 반겨주는 아저씨는 분명 나왔는데 앱스토어나 플레이스토어에서는 버튼을 눌러도 반응없는 경우도 있다. 그걸 파악하는 과정과 환불이 될지도 안될지도 모르는 진짜 결제 테스트에 쓰이는 돈을 생각하면 고통스럽다.

테스트 광고 잘 나온다고 확인시켜주는 아저씨

물론 한번에 코드 잘 짜면 되지 않냐고 할 수 있는데, 내 실력이 부족해서 한번에 넘어가는 경우는 흔하지 않다. 거기에 배포하려면 대답하는 설문은 왜이리 많으며, 플레이스토어는 12명에게 2주간 테스트도 해야한다. 그 12명도 내가 모집을 해야하고 심지어 이게 20명에서 줄어들은 것이다. 앱스토어는 심사를 올리면 기약도 없다. 그리고 출시버전이 안드로이드와 iOS가 똑같아야하는 경우에는 양쪽에 심사를 모두 통과를 하고 동시에 출시해야하는 귀찮음도 있다. 물론 회사에서 하면 당연히 하는건데, 개인이 사이드프로젝트로 이런걸 하기엔 시간이 아까운 부분이 있다.


이런 귀찮은 과정들을 조금이나마 줄어들게 해준 것이 바로 앱인토스다. 배포까지 한 곳에서 하는 진짜배기 크로스플랫폼이고 광고 미디에이션(여러 광고 소스를 연결하는 것)이나 인앱결제도 한 콘솔에서 모두 관리할 수 있다. 심지어 정산이나 매출이나 광고 통계도 한곳에서 볼 수 있다. 기존에 만들었던 서비스들을 앱인토스로 출시해보기로 했다.


image.png 먼저 앱을 등록하자

앱인토스에서 앱 유형은 2가지로 나뉜다. 게임과 게임이 아닌 것. 게임이 중심인가 싶은 이분법 적인 분류긴한데 두개 다 있으니 둘 다 해보기로 했다.

게임으로는 앱인토스에 어울리는 루미캐슬(https://corgiti.onelink.me/PYno/t2obub4e) 퍼즐게임을 선택했다. 원래 유니티로 개발했던 게임인데, 앱인토스에 유니티 개발자 도구가 있어서 쉽게 앱인토스에 출시할 수 있도록 도와준다.

추가로 작업해야할 것은 원래 광고를 틀어주던 것을 앱인토스 코드로 옮긴 것과 인앱결제를 앱인토스 인앱결제로 옮긴 것이다. 그리고 우측 상단에 ... 버튼과 종료 버튼이 추가되기 때문에 약간의 UI 수정을 했다.

image.png

유니티 내부에서 앱인토스 개발자 도구로 빌드부터 배포까지 한번에 가능했다. 배포를 하고 나면 앱인토스 웹콘솔에서 QR코드가 만들어지는데 진짜 토스앱에서 테스트가 가능하다. 아직 대중들에게 열린 상태가 아닌데 진짜 앱에서 확실하게 결제나 광고를 확인하니까 마음이 편했다. 물론 안드로이드도 비공개 테스트가 있고 앱스토어도 테스트플라이트가 있지만 그래도. 한번에 하니까 얼마나 좋은가. 기존 스토어는 심지어 테스트할 수 있게 되기까지의 시간도 꽤나 걸린다.


다음은 비게임 앱이다. 예전에 만들었던 레이몽(https://raymong.com/) 서비스를 선택했다. 웹 서비스이기 때문에 좀 더 쉬울까 했는데 앱인토스의 디자인에 맞춰서 새로 UI를 짜야했기 때문에 약간 더 시간이 오래걸렸다. 디자인하는 방법은 크게 2가지가 있는 것 같은데, 우선 앱인토스에서 토스의 디자인 컴포넌트를 이용해서 만들 수 있는 앱빌더가 있었고, 피그마에서 비슷한 컴포넌트를 받아서 할 수 있었다.

image.png 이를 갈고 만든거같은.. 앱인토스..

앱빌더를 보니 디자인만 하면 코드로 만들어주는 느낌이 나서 앱빌더를 선택했으나. 코드로 만들어주긴 주는데 사용할 수준은 아니었다. 결국 디자인 css나 배치만 가져와서 새로 만들어야 하긴 했다. 그래도. 있으니까 좋았다. 기대가 높아서 약간의 실망은 했을 뿐이다. 아직 베타버전인지 앱빌더는 자잘한 버그가 꽤나 있다. 그래서 시간이 오래걸린 것도 있는 것 같다. 기존 백엔드 API로 손쉽게 연결이 됐고, 문서도 잘 되어있어서 결제 연동도 편하게 했다.


그렇게 두 앱을 모두 앱인토스 미니앱으로 출시했다. 아래 링크를 보니 내가 미리보기 이미지를 추가해야하는 걸 알았다. 나중에 하지 뭐. 아무튼 앱인토스라는 플랫폼에 두가지 종류의 앱을 출시했다. 궁금하시면 아래 링크를 타고 살펴보실 수 있다.


루미캐슬, 앱 설치하지 않아도 토스에서 바로 쓸 수 있어요.

https://minion.toss.im/P1u5d8nD


레이몽, 앱 설치하지 않아도 토스에서 바로 쓸 수 있어요.

https://minion.toss.im/xq7RdJP5


요즘 바이브 코딩으로인해 개발이 경시되는 문화가 약간 있다. "바이브 코딩으로 하면 되는거 아니야?"라며 바이브면 쉽게 한다는 풍조가 있는데, 일부 사실은 맞다. 하지만 그건 간단한 부분에서 그런거고 약간 복잡하면 바이브 코딩만으로 어려울 수 있다는 이야기를 하곤 한다. 그 복잡한 사례로 앱인토스 유니티 개발자 도구 나 앱빌더 같은 프로그램을 만들어보라고 하고싶다. 어려운 작업을 해낸 앱인토스 개발자 분들에게 찬사를 보낸다. 진짜 바이브코딩으로 만들면 그 때는 나도 바이브 코딩을 인정하게 되겠지.

keyword
작가의 이전글루미큐브와 사천성의 만남