Crashlytics 및 원격 구성을 사용하여 비정상 종료가 발생하지 않은 사용자의 비율을 높이고 평점을 개선한 Tapps Games
소개
Tapps Games는 1,100만 명이 넘는 월간 활성 사용자와 다양한 카테고리(아케이드, 캐주얼, 퍼즐, 시뮬레이션 등)에서 400개가 넘는 게임 포트폴리오를 보유한 브라질 개발 회사입니다. Tapps의 사명은 Vlogger Go Viral, My Boo, My Virtual Pet Shop과 같은 멋진 게임으로 전 세계 사람들을 즐겁게 하고 연결하는 것입니다.
도전
Tapps Games와 같은 대규모 게임 개발업체에게는 사용자가 안정적이고 성능이 높은 게임 환경을 갖는 것이 중요합니다. 따라서 개발자 팀은 Vlogger Go Viral의 동영상 제작 프로세스에 맞춤설정 옵션을 추가해야 했을 때 성공적인 출시를 위해서는 게임의 핵심 동영상 제작 시스템의 안정성에 주의를 기울여야 한다고 판단했습니다.
이전의 업데이트에서 이 팀은 리뷰를 수동으로 검색하고 부정적인 리뷰의 급증을 찾는 방법으로 출시 프로세스에서 중요한 문제를 파악했습니다. 부정적인 리뷰를 식별하면 앱으로 돌아가서 아주 제한적인 정보로 그 문제를 재현해 보려고 시도했습니다. 이러한 프로세스에는 시간이 많이 걸렸고 이미 상당히 많은 사용자에게 영향을 미친 후에 문제가 확인되었습니다.
해결책
Vlogger Go Viral 게임의 업데이트가 출시되는 동안 모든 비정상 종료가 적시에 감지되도록 하기 위해서 팀은 Firebase Crashlytics 비정상 종료 알림을 활성화했습니다. 팀은 Crashlytics의 신속 알림을 통해 비정상 종료의 심각성 증가를 바로 알 수 있었습니다. 이 과정은 로컬 소프트웨어 개발 환경을 통해 수동으로 처리한다면 일반적으로 며칠이 걸리는 일입니다.
게임의 비정상 종료를 인지한 후에 Tapps 팀은 Crashlytics 대시보드를 사용하여 중요한 비정상 종료를 조사하고, 영향을 받은 사용자 수를 확인하고, 이러한 비정상 종료의 근본 원인을 식별했습니다. 그들은 이 과정을 통해 Vlogger Go Viral의 동영상 제작 과정 업데이트 및 이와 동시에 발생하는 커뮤니티 플레이어 이벤트로 인해 화면 중 하나가 비정상 종료되었음을 깨달았습니다.
그런 다음 출시 팀은 Firebase 원격 구성을 사용하여 버그가 있는 화면을 종료하고, Crashlytics를 사용하여 다음 출시를 위해 비정상 종료를 재현하고 수정했습니다. 비정상 종료가 수정된 후에 Tapps 팀은 Google Play Console에서 단계적 출시를 사용하여 전체 출시로 진행하기 전에 일부 플레이어에게 새 버전을 천천히 출시했습니다.
팀은 이 출시 과정에서 Firebase Crashlytics와 Firebase 원격 구성을 사용하여 비정상 종료를 경험하지 않는 사용자의 비율을 94.6%에서 99.8%로 높이고, 비정상 종료의 영향을 받은 플레이어 동영상을 최대 5%까지 복구하고, Play 스토어의 평점을 3.9점에서 4.7점으로 높일 수 있었습니다.
결과
비정상 종료가 없는 사용자 비율이 94.6%에서 99.8%로 증가
Play 스토어 평점이 3.9에서 4.7로 증가
비정상 종료의 영향을 받은 동영상 복구율 5%
"우리의 사명은 멋진 게임으로 전 세계 사람들을 즐겁게 하고 연결하는 것입니다. Firebase는 새로운 기능을 더 빠르고 자신 있게 배포할 수 있는 도구를 제공하여 이러한 사명을 달성하는 데 도움을 주는 핵심 파트너입니다."
- 브루노 도밍구스, Tapps Games 스튜디오 책임자
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],[],[],[],null,["# Tapps Games Case Study\n\n[*arrow_back*\nExplore other case studies](/case-studies) \n[View more solutions](/solutions) \n\n##### Tapps Games increases crash free user rate and improves ratings with Crashlytics and Remote Config\n\n*** ** * ** ***\n\n##### Introduction\n\nTapps Games is a Brazilian developer with more than 11M monthly active users and a portfolio of 400+ games across multiple categories (arcade, casual, puzzle, simulation, and more). Tapps' mission is to entertain and connect people around the world through amazing games like Vlogger Go Viral, My Boo, and My Virtual Pet Shop.\n\n*** ** * ** ***\n\n##### Challenge\n\nFor large game developers like Tapps Games, it's important that users have a stable and high-performing gaming experience. So when the developer team had to add customization options to Vlogger Go Viral's video creation process, they knew they had to keep an eye on the stability of the game's core video creation system in order to have a successful rollout.\n\nIn previous updates, the team would identify critical issues during the rollout process by manually searching through reviews and looking for surges in negative reviews. Once they identified any negative reviews, they would go back into their app and try to reproduce the issue with very limited information. This process was very time-consuming, and problems were only detected after already impacting a considerable number of users. \n\n*** ** * ** ***\n\n##### Solution\n\nTo ensure all crashes were detected in a timely manner during the rollout of updates to the Vlogger Go Viral game, the team enabled [Firebase Crashlytics](/products/crashlytics) crash alerts. Crashlytics' [velocity alerts](/docs/crashlytics/velocity-alerts) made the team immediately aware of an increase in the severity of crashes. This process would usually take days if handled manually through their local software development environment.\n\nAfter being made aware of the crashes in the game, the Tapps team used the Crashlytics dashboard to investigate top crashes, determine how many users were affected, and identify the root cause of these crashes. Through this process, they realized the update to Vlogger Go Viral's video creation process and a community player event, which was happening simultaneously, had led to one of their screens crashing. \nThe release team then used [Firebase Remote Config](/products/remote-config) to shut down the buggy screen, and used Crashlytics to reproduce and fix the crashes for the next release. Once the crashes were fixed, the Tapps' team used staged rollouts on the Google Play Console to slowly release the new version to a subset of it's players before moving ahead to a full rollout.\n\nUsing Firebase Crashlytics and Remote Config during this rollout process, the team was able to increase their crash free user rate from 94.6% to 99.8%, recover up to 5% of player videos that were affected by the crash, and increase their rating on Play Store from 3.9 to 4.7.\n\n*** ** * ** ***\n\nResults\n\nIncrease in crash free user rate from 94.6% to 99.8%\n\nIncrease in Play store rating from 3.9 to 4.7\n\n5% recovery of videos affected by the crash \n\n\"Our mission is to entertain and connect people around the world through amazing games, and Firebase is a key partner helping us achieve our mission by giving us the tools to deploy new features faster and with confidence.\"\n\n\n- Bruno Domingues, Head of Studio, Tapps Games \nTry Firebase today\n\n\nIntegrating it into your app is easy.\n[Get started](https://console.firebase.google.com/) \n\n#### All Firebase products\n\n##### Build\n\n- [App Check](/products/app-check)\n- [App Hosting](/products/app-hosting)\n- [Authentication](/products/auth)\n- [Cloud Functions](/products/functions)\n- [Cloud Storage](/products/storage)\n- [Data Connect](/products/data-connect)\n- [Extensions](/products/extensions)\n- [Firestore](/products/firestore)\n- [Firebase ML](/products/ml)\n- [Genkit](https://genkit.dev/)\n- [Hosting](/products/hosting)\n- [Realtime Database](/products/realtime-database)\n- [Firebase AI Logic client SDKs](/products/firebase-ai-logic)\n\n[Generative AI](/products/generative-ai) \n\n##### Run\n\n- [A/B Testing](/products/ab-testing)\n- [App Distribution](/products/app-distribution)\n- [Cloud Messaging](/products/cloud-messaging)\n- [Crashlytics](/products/crashlytics)\n- [Google Analytics](/products/analytics)\n- [In-App Messaging](/products/in-app-messaging)\n- [Performance Monitoring](/products/performance)\n- [Remote Config](/products/remote-config)\n- [Test Lab](/products/test-lab)"]]