[go: up one dir, main page]

작성자: David Winer (Product Manager)

이 글의 원문은 여기서 확인 가능하며 블로그 번역은 김태호(Google)님이 참여해주셨습니다.

Android Kotlin Extensions Gradle 플러그인(Android KTX와 혼동하지 마세요)은 2017년에 출시되었고 Kotlin에서 Android를 개발할 때 두 가지 편의성을 제공했습니다.

  • Synthetics는 findViewById 호출을 android.synthetic 바인딩으로 대체할 수 있습니다.

  • Parcelize는 표준 문안을 제거하고 @Parcelize 주석을 달아 쉽게 Parcelables를 만들 수 있습니다.

그 이후에 Android 빌드 툴체인과 긴밀하게 통합되고 Kotlin Synthetics와 유사한 기능을 제공하는 공식 지원 라이브러리인 View Binding이 출시되었습니다. 여전히 Kotlin Android Extension에서 제공하는  Parcelize 기능 사용을 권장하는 동안, Kotlin Synthetics를 사용할 때 다음과 같은 몇 가지 단점이 드러났습니다.

  • 전역 네임스페이스를 오염시킵니다.

  • null 허용 여부 정보를 노출하지 않습니다.

  • Kotlin 코드에서만 작동합니다.

JetBrains는 원래 Android Kotlin Extensions 플러그인을 개발하였고 JetBrains와 함께 앞으로 Synthetics를 유지하는 것의 장단점이 무엇인지 논의했습니다. 되도록 API를 장기적으로 지원하려고 노력하면서도 건전한 코드베이스를 만드는 데 도움이 되고 최종적으로는 사용자가 만족하는 모범 사례로 개발자를 안내하려고 합니다.

내년 중에 우리 팀은 권장 옵션인 View Binding을 지속적으로 지원하고자 Synthetics를 공동으로 사용 중단할 것입니다. 여기에는 다음과 같은 의미가 있습니다.

  • Parcelize를 사용하고 있다면 동일한 주석과 API를 사용할 수 있습니다. 주석 패키지는 Parcelize로 변경되겠지만 모듈 수준 Gradle 파일에서는 android-kotlin-extensions 대신 독립형 kotlin-parcelize 플러그인 사용을 시작해야 합니다. Parcelize에 대한 문서는 Android 개발자 문서 사이트에서 확인하실 수 있습니다.

  • Android Kotlin Synthetics를 사용한다면 View Binding으로 마이그레이션해야 합니다. 자세한 내용은 마이그레이션 가이드를 참조하세요.

지원 중단 기간은 오늘 공개된 Kotlin 1.4.20부터 시작됩니다. android-kotlin-extensions는 적어도 1년간은 유지되지만 2021년 9월 중이나 그 이후에 다음 Kotlin 릴리스에서 제거될 것입니다. 장기적으로는 kotlin-parcelize 플러그인을 유지할 예정이며 앞으로도 Android Studio Issue Tracker에서 Parcelize 문제를 제출할 수 있습니다.

작성자: Caren Chang (Android Engineer)

이 글의 원문은 여기서 확인 가능하며, 블로그 리뷰에는 양찬석(Google)님이 참여해주셨습니다. 

Android 11 출시의 일부로 Google Play팀에서는  정기 결제 사용자를 확보하고 유지하기 위한 새로운 기능을 발표했습니다. 이러한 노력의 일환으로 Google Play팀에서는 일부 정기 결제 기능의 기본 설정을 변경할 예정입니다. 이번 게시물에서는 이러한 변경사항과 앱을 준비하는 방법을 살펴봅니다.


먼저 2020년 11월 1일부터 적용되는 변경사항을 알아보겠습니다.

기능

현재 상태

11월 1일부터 변경되는 사항

계정 보류(Account hold)

선택적 기본값: 사용 안함

필수: 앱에서 이 기능을 지원해야 함

복원(Restore)

선택적 기본값: 사용

필수: 앱에서 이 기능을 지원해야 함

일시 중지(Pause)

선택적 기본값: 사용 안함

선택적 기본값: 사용

*정기 결제 재신청*

(Resubscribe)

선택적 기본값: 사용 안함

선택적 기본값: 사용


게시글의 나머지 부분에서는 이러한 각 변경사항이 앱이나 게임에 어떤 영향을 미치는지 알아봅니다. 다음의 두 가지 시나리오를 토대로 각 기능이 앱에 미치는 영향을 살펴보겠습니다. 1) 앱에서 백엔드 서버를 사용하여 정기 결제 상태를 추적하지 않을 경우 2) 앱의 백엔드 서버가 실시간 개발자 알림을 이용하여 정기 결제 상태도 추적할 경우


계정 보류(Account hold)

기능 설명: 사용자가 정기 결제를 갱신하려고 하지만 결제 문제로 실패했을 때 사용자를 계정 보류 상태로 전환합니다. 이 기간은 최대 30일간 지속되고 이 기간에 사용자는 정기 결제에 액세스할 수 없습니다.


앱에서 백엔드 서버로 정기 결제 상태를 추적하지 않는 경우: 앱에서 queryPurchases()의 결과를 토대로 정기 결제의 최신 상태를 가져온다면 계정 보류를 지원하기 위해 어떤 추가 작업도 할 필요가 없습니다. BillingClient.queryPurchases()는 계정 보류 기간인 경우 정기 결제를 반환하지 않습니다. 사용자가 결제 수단을 수정하면 정기 결제가 queryPurchases()의 일부로 다시 반환됩니다.


앱의 백엔드 서버가 RTDN을 사용하여 정기 결제 상태를 추적하는 경우: 사용자의 계정 보류 기간이 시작되면 SUBSCRIPTION_ON_HOLD 알림이 전송됩니다. 사용자가 결제 문제를 해결하고 다시 성공적으로 정기 결제를 신청하게 되면 SUBSCRIPTION_RECOVERED 알림이 전송됩니다. 백엔드에서 이러한 알림을 처리하여 사용자의 최신 정기 결제 상태를 확인해야 합니다.

계정 보류와 이 상태를 올바르게 처리하는 방법을 자세히 알아보려면 공식 문서를 참고하세요.


계정 복원(Restore)

기능 설명: 사용자는 현재 결제 기간에 정기 결제가 만료되기 전에 정기 결제 갱신을 취소할 수 있습니다. 계정 복원이 사용 설정되면 사용자는 Play 스토어 앱에서 정기 결제 재신청 옵션을 탭하여 취소된 정기 결제가 만료되기 전에 복원할 수 있습니다. 이렇게 하면 사용자가 정기 결제를 취소한 적이 없는 것처럼 정기 결제가 복원됩니다. 정기 결제가 만료된 경우 사용자는 정기 결제를 재신청해야 합니다.


앱에서 백엔드 서버로 정기 결제 상태를 추적하지 않는 경우: 앱에서 queryPurchases()의 결과에 의존하여 정기 결제의 최신 상태를 가져온다면 계정 복원을 지원하기 위해 어떤 추가 작업도 할 필요가 없습니다. BillingClient.queryPurchases()는 사용자가 다음 결제 기간 전에 정기 결제를 일찍 취소했더라도 정기 결제가 만료될 때까지 정기 결제를 계속 반환합니다.


앱의 백엔드 서버가 RTDN을 사용하여 정기 결제 상태를 추적하는 경우: 사용자가 정기 결제를 복원하면 SUBSCRIPTION_RESTARTED 알림이 전송됩니다. 앱에서 정기 결제가 곧 만료된다고 사용자에게 알리는 UI를 표시하는 경우, 백엔드에서 이 알림을 수신하면 UI 업데이트를 처리해야 합니다.

계정 복원과 이 상태를 올바르게 처리하는 방법은 이 문서에서 자세히 알아보세요. 


계정 일시중지(Pause)

기능 설명: 사용자는 일주일에서 3개월까지 정기 결제를 일시중지할 수 있습니다. 정기 결제 일시중지는 현재 결제 기간이 종료된 후에 적용됩니다. 정기 결제가 일시중지되면 사용자는 정기 결제 기능에 액세스할 수 없어야 합니다. 일시중지된 정기 결제는 queryPurchases()에서 반환되지 않습니다.

계정 일시중지는 현재 Play Console에서 기본적으로 사용 설정되어 있지 않지만 2020년 11월 1일부터 자동으로 사용 설정됩니다. 아직 앱에서 이 날짜까지 계정 일시중지를 처리할 준비가 되지 않았다면 Play Console에서 수동으로 이 기능을 사용 중지하세요.


앱에서 백엔드 서버로 정기 결제 상태를 추적하지 않는 경우: 앱에서 queryPurchases()의 결과를 토대로 정기 결제의 최신 상태를 가져온다면 어떤 추가 작업도 할 필요가 없습니다. BillingClient.queryPurchases()는 일시중지된 정기 결제를 반환하지 않습니다.


앱의 백엔드 서버가 RTDN을 사용하여 정기 결제 상태를 추적하는 경우: 사용자가 정기 결제 일시중지를 시작하면 SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED 알림이 전송됩니다. 이때 정기 결제는 현재 결제 기간이 종료될 때까지 계속 유효하며 활성 상태로 유지됩니다. 정기 결제가 일시중지 상태에 들어가면 SUBSCRIPTION_PAUSED 알림이 전송됩니다. 정기 결제가 자동으로 재개되거나 사용자가 수동으로 정기 결제를 재개하는 경우 SUBSCRIPTION_RENEWED 알림이 전송됩니다.

계정 일시중지와 이 상태를 올바르게 처리하는 방법을 자세히 알아보려면 이 문서를 참고하세요.



정기 결제 재신청(Resubscribe)

기능 설명: 정기 결제 재신청 기능을 사용 설정하면 정기 결제가 비활성화된 후 최대 1년 이내에 사용자가 동일한 정기 결제를 다시 구매할 수 있습니다. 또한, 정기 결제가 종료되기 전에 다시 정기 결제를 구매할 수도 있습니다.

정기 결제 재신청 기능은 현재 Play Console에서 기본적으로 사용 설정되어 있지 않지만 2020년 11월 1일부터 자동으로 사용 설정됩니다. 아직 앱에서 이 날짜까지 정기 결제 재신청을 처리할 준비가 되지 않았다면 Play Console에서 수동으로 이 기능을 사용 중지하세요.


앱에서 백엔드 서버로 정기 결제 상태를 추적하지 않는 경우: 앱에서 queryPurchases()의 결과에 의존하여 정기 결제의 최신 상태를 가져온다면 어떤 추가 작업도 할 필요가 없습니다. BillingClient.queryPurchases()는 정기 결제가 만료될 때까지 정기 결제를 계속 반환합니다.


앱에 있는 백엔드 서버가 RTDN을 사용하여 정기 결제 상태를 추적하는 경우: 사용자가 정기 결제를 다시 신청하면 SUBSCRIPTION_RESTARTED 알림이 전송됩니다. 이 알림이 수신되면 앱에서 사용자의 정기 결제 기능 액세스 권한을 복원하는 작업을 처리해야 합니다.

정기 결제 재신청과 이 상태를 올바르게 처리하는 방법을 자세히 알아보려면 이 문서를 참고하시기 바랍니다. 

이러한 정기 결제 기능 변경사항은 2020년 11월 1일부터 적용되므로, 앱이 준비되어 있는지 다시 한번 확인 부탁드립니다.


 작성자: Francesco Crovetto (Business Development Manager, Google Play)

이 글의 원문은 여기서 확인할 수 있으며, 블로그 리뷰에는 김민구(Google)님이 참여해주셨습니다. 




Google Play에서 제공하는 출시 전 단계를 위한 도구 가이드

게임을 출시하기 전의 수 개월은 게임의 성공 여부를 가르는 중요한 시기입니다. 게임 출시 및 운영에 드는 잠재적 비용을 감안하여, 개발자들은 대중에게 게임을 선보이기 전에 가급적 모든 문제를 해결하기 위해 출시 전 테스트를 더욱 더 많이 진행하고 있습니다. 

Google Play에서는 게임 출시 전 단계에 있는 개발자를 돕기 위한 여러 가지 방법을 개발해 왔으며, 이 게시물에서는 개발자가 활용할 수 있는 주요 도구 및 권장사항을 간략하게 알려드리고자 합니다. 테스트 옵션은 상당히 제한적인 테스트(일반 사용자들에게 게임을 공개하기에 앞서 기본적인 기능 및 명확한 버그를 테스트하기 위함)에서부터 매우 공개적인 테스트(게임 출시 직전에 게임 내 경제를 위한 재화나 디자인 등 특정 요소의 조정이 필요할 때)까지 다양합니다. 아래의 표에서 테스트 옵션을 확인해 보세요. 이제 각 방식에 관해 더 자세히 살펴보겠습니다.


*가로축: Internal Testing(내부 테스트), Closed Beta(비공개 베타), Open Beta(공개 베타), Soft Launch(소프트 론칭), Pre-registration(사전 등록), Global Launch(글로벌 론칭)

*세로축: Public ratings(공개 평점), Searchable on Play(Play에서 검색 가능), Limit to Downloads(다운로드로만 제한), UA campaigns(UA 캠페인) 

*Closed Beta, Open Beta, Soft Launch, Pre-registration, Global Launch는 여러 국가에서 동일한 APK를 대상으로 모든 트랙이 동시에 진행될 수 있습니다.

*Open Beta: UA 캠페인에서 UAC를 사용하는 경우 설치 한도 없음 



내부 테스트(Internal testing)

친구나 가족 몇 명에게 게임을 보여주든 혹은 내부 직원에게 액세스를 부여하든, Google Play에서는 내부 테스트를 사용해 순식간에 최대 100명의 사용자에게 비공개 APK를 출시할 수 있습니다. 이 기능은 여러 개발사의 실질적인 필요를 충족하기 위해 마련되었고, 새로운 APK를 매일 다양한 기기를 사용하는 QA팀이나 지정된 내 외부 사용자들에게 간편하게 전송할 수 있습니다. 또한 내부 테스트를 사용하면 Android App Bundle 지원과 같은 Google Play 기능을 제약 없이 사용할 수 있습니다. 내부 테스트에 관한 더 자세한 내용은 권장사항 가이드에서 확인해보세요.



비공개 베타(Closed beta)

내부팀으로 충분히 테스트해 보았다면 정식 출시 전에 일부 타겟 사용자를 대상으로 게임을 테스트하는 것이 좋습니다. Google Play에서 이메일을 통해 최대 10만 명의 사용자를 초대할 수 있으며, Google Groups를 통해 무제한으로 초대할 수도 있습니다. 초대받은 사용자에게는 최신 APK를 다운로드할 수 있는 링크가 전송되어 간단하게 테스트에 참여할 수 있습니다. 사용자들은 Google Play에 공개 리뷰를 남길 수는 없지만 개발자에게 비공개 의견을 보낼 수 있습니다.

비공개 테스트는 게임의 스트레스 테스트를 실행하기에 안성맞춤인 도구입니다. 많은 수의 공개 테스터를 활용하면, QA팀이 놓쳤거나 전혀 예상하지 못했던 버그나 사용 패턴을 파악하는 데 도움이 되기 때문입니다. 물론 전체 공개 베타와 비교하면 이슈 사항을 놓칠 가능성이 높지만, 비공개 베타는 개인정보 보호와 투명성 사이에서 균형감 있게 진행할 수 있습니다. 또한 출시 후에 새로운 업데이트나 DLC를 시험해 볼 때도 유용합니다.



공개 베타(Open beta)

게임의 공개 리뷰를 언제부터 허용할지는 출시 전 전략에 있어 매우 중요합니다. 그런데 플레이어가 공개 리뷰를 남기도록 허용하기 전에 활용할 수 있는 과정이 하나 더 있습니다. 바로 공개 베타입니다. 공개 베타에서는 사용자가 스토어에서 앱을 검색할 수 있지만('미 출시' 또는 '사전 체험판'이라고 표시됨) 공개 리뷰를 남길 수는 없습니다. 대신 비공개 의견을 제공할 수 있습니다. 개발자는 공개 베타 기간에도 게임에 액세스할 수 있는 사용자 수에 한도를 설정할 수 있지만, 한도에 도달하지 않은 이상 사용자는 초대를 받거나 허용 목록에 추가되지 않아도 공개 베타에 참여할 수 있습니다.

공개 베타 사용자는 특별히 초대받지 않은 '실제' 사용자이기 때문에 게임이 출시된 후 플레이어가 보여줄 게임과의 상호작용과 근접한 모습을 보여줍니다. 따라서 공개 베타는 주요 KPI, 여러 게임 루프의 인기 정도, 게임 내 경제의 흐름 및 로드를 테스트하기에 좋습니다. 이러한 기술적인 이점 뿐 아니라, 새로운 시장을 테스트하며 출시 전에 사용자 커뮤니티를 조성하고, 많은 사용자를 대상으로 서버 로드를 테스트할 수도 있습니다. 따라서 초기 빌드가 문제가 있는 상태로 출시되어 별표 1개짜리 리뷰를 많이 받는 상황을 피할 수 있습니다.

Next Games에서는 개발 주기에서 공개 베타와 비공개 베타 둘 다 활용하고 있습니다. 제품 디자인 디렉터인 Joonas Virtanen은 다음과 같이 말합니다. "공개 베타의 이점 중 많은 부분은 베타 참여자가 아직 개발 단계에 있는 게임을 선택했다는 점에서 옵니다. 이같은 사용자의 의견은 일반 플레이어보다 너그럽고 건설적일 뿐 아니라 기대치를 관리해야 하는 부담도 줄어듭니다. 공개 베타에 참여하는 플레이어는 또한 정식 출시 전인 게임을 체험해보는 것에 기뻐하고 뿌듯함을 느낍니다 ."

Next Games에서는 공개 베타를 통해 제품이 실제 시장에서 어떻게 살아남을지 알아보는 데 주력했습니다. 비즈니스 인텔리전스 디렉터인 James Corbishley는 팀원과 함께 '극초기 D0(0일 차) 측정항목을 기반으로 장기 유지율을 예측하기 위한 모델'을 개발했습니다. 그는 "Google Play 베타 플랫폼은 업데이트할 때마다 개선사항을 평가하고, 대중에게 게임을 '공개'하기전에 유지율 예측의 정확도를 지속적으로 높이기에 안성맞춤인 도구입니다."라고 말합니다. 이는 Next Games에서 곧 출시할 게임인 '기묘한 이야기(Stranger Things)'를 개발할 때 특히 도움이 되었습니다. James는 "테스트 결과가 현 상황을 완벽하게 보여주지 않더라도, 무엇보다 중요한 점은 변화를 분석하고 이를 현실적인 기대치로 어떻게 변환할지 이해하는 것입니다."라고 말합니다.



소프트 런칭(Soft launch)

소프트 런칭 기간 동안 전체 지역 시장 내에 있는 모든 플레이어는 게임을 검색하고 액세스할 수 있으며 공개 리뷰를 남길 수 있기 때문에 소프트 런칭은 테스트 최종 단계에서만 사용하는 것이 좋습니다. 또한 단순히 검색 가능한 상태를 넘어 게임이 처음으로 Play 스토어의 알고리즘을 기반으로 생성되는 추천 게임 섹션('신작', '맞춤 추천' 등)에 표시되는 시점이기도 합니다. 개발자는 이를 통해 게임에 대한 사용자의 자연스러운 관심도를 가늠해 볼 수 있습니다.

이 단계에서 많은 개발자가 사용자를 획득하기 위한 본격적인 노력을 시작합니다. 소프트 런칭은 또한 수익 창출 테스트에 뛰어들고 게임 경제를 최종적으로 조정하기에도 좋은 기회입니다. 소프트 런칭 과정을 거치면서 게임이 성공할 것이라는 확신이 들면 더 많은 지역에서 출시를 이어나갈 수 있습니다. 몇몇 스튜디오에서는 1등급 시장에 소프트 런칭을 감행하기도 합니다. 이 경우 게임이 해당 시장에서 구체적으로 어느 정도의 실적을 낼지 파악할 수 있다는 이점이 있지만, 소프트 런칭 단계에서 인기를 얻지 못하면 해당 시장에서 정식으로 출시할 때 초기의 부정적인 인식을 극복하는 데 어려움을 겪을 수도 있습니다. Google Play에서는 개발자가 어떤 방식을 택하든 개발자가 필요로 하는 도구를 제공합니다.

소프트 런칭을 최대한으로 활용하고 게임이 어떤 시장에서 성공을 거둘지 빠르게 파악하는 방법을 알아보기 위하여 Google Play에서는 RovioTeemu Hämäläinen(제품 리드)과Burcum Taskaya(제품 마케팅 관리자)를 인터뷰했습니다. 이들은 최근 출시된 매치 3 게임인 Small Town(스몰타운)의 출시 전 전략에 관해 설명해 주었습니다.

흥미로운 퍼즐 게임인 Small Town에서는 주인공인 노라 미스트리가 시골 마을에서 일어난 일련의 기괴한 범죄에 숨겨진 진실을 밝히기 위해 노력합니다. Rovio는 퍼즐 게임을 출시한 다양한 경험이 있었기에 Small Town의 안정성과 핵심 루프에 자신감을 갖고 있었습니다. 그래서 Play의 내부 테스트 트랙을 사용한 일련의 짧은 내부 테스트를 거쳐 2019년 10월에 즉시 미국, 스웨덴, 핀란드, 폴란드에서 소프트 런칭 단계로 즉시 진입했습니다.

Rovio는 세계 최대 시장인 미국에서의 소프트 런칭을 통해 IP의 강점, 주요 KPI, 게임의 시장성(CPI와 LTV 비교) 등 테스트가 필요하다고 파악한 항목에 관해 출시 1일 차부터 사용자들로부터 직접 의견을 수집할 수 있었습니다.

베타 최적화 전


베타 최적화 후


그러나 이 전략에는 단점이 있었습니다. 미국에서 프로덕션 버전을 출시했기 때문에 Google Play에서 사전 등록 캠페인을 진행하지 못했다는 점입니다. 하지만 다른 지역에서는 여전히 사전 등록을 진행했습니다. 또한 소프트 런칭 단계에서 핵심 게임플레이가 변경되면서 자신의 진행 상황이 영향을 받았다고 느낀 일부 플레이어의 반발을 일으키기도 했습니다. 하지만 다행히 Rovio 고객지원 및 게임팀의 조치를 통해 상황을 반전시키고 새로운 콘텐츠 및 게임 모드를 제공해 사용자들의 만족도를 높일 수 있었습니다.

Teemu는 "우리는 이 경험을 통해 많은 것을 배웠습니다.성공적으로 퍼즐게임을 개발해본 기존의 지식을 활용해 Small Town을 출시할 수 있었지만 아직 생소한 장르의 게임에서는 이와 똑같은 방식으로 사전 출시 접근 방식을 사용할 수 없었을 것입니다."라고 말합니다.

여러 차례 게임을 출시하면서 Rovio는 점차 '글로벌 출시'라는 개념에서 멀어졌습니다. 각 게임은 지역마다 갖는 기회도, 약점도 다르기 때문에 게임별 사전 출시 전략을 세워 실행하는 것이 효과적이기 때문입니다. Rovio는 이제 모든 지역을 대상으로 동시에 출시하는 것을 목표로 하는 대신 다양한 트랙을 통해 콘텐츠를 여러 번 출시하는 것을 선호합니다. 이에 관해 Teemu는 다음과 같이덧붙였습니다.

“Rovio는 ‘글로벌 출시'의 뜻을 예전과는 다르게 이해하게 되었습니다. 저희는 새로운 게임이 좋은 성과를 낼 때, 이를 단거리 달리기 경주가 아니라 마라톤 경기로 바라봅니다.그래서 사용자를 위해 참신하고 흥미로운 콘텐츠를 활용해 게임을 지속적으로 업데이트하는데 중점을 두고 있습니다.”



사전 등록(Pre-registration)

게임의 출시 전 단계에서 테스트에 초점을 두지 않는 유일한 단계는 사전 등록입니다. 지금까지 이 게시물에서 다뤄온 여러 단계들과는 달리, 사전 등록에서는 게임을 테스트하는 것이 주목적이 아닙니다. 이 기간은 출시 전에 사용자의 관심을 유발하여, 게임 출시 후 참여 및 유지율 측정항목을 개선하는 것을 목표로 합니다. 개발자가 사전 등록 캠페인을 진행하면 1일 차 및 7일 차 유지율이 크게 높아지는 경우가 많습니다.

 

X축: 출시 이후 날짜 수 / Y축: 일일 설치 수 

녹색: 사전 등록을 진행한 게임 / 적색: 사전 등록을 진행하지 않은 게임

 

이 단계에서는 게임의 초기 수요를 파악할 수 있습니다. 개발자가 사전 등록을 받으면서 커뮤니티의 반응을 관찰할 수 있기 때문입니다. 사용자는 자연스럽게 또는 광고 캠페인을 통해 게임을 접하게 되며 사전 등록에 참여하는 대가로 인게임 화폐나 고유 아이템과 같은 리워드를 받을 수 있습니다. 사전 등록에 참여한 사용자에게는 자신이 사용하는 언어로 게임이 출시되었을 때 푸시 알림이 전송되므로 초기 설치 수를 늘릴 수 있습니다. Google Play에서는 사전 등록한 사용자들에게 게임이 출시되면 자동으로 설치되도록 선택할 수 있는 옵션도 제공하며, 이는 1일 차부터 사용자 참여를 높이는 데 효과적입니다.

사전 등록은 출시 3개월 전부터 사용할 수 있지만 사용자의 관심이 식지 않도록 캠페인을 1개월 또는 2개월 정도 진행하는 것을 목표로 삼는 것이 좋습니다. 일반적으로 사전 등록에 참여한 사용자의 전환율이 더 높으며, 기존 IP의 브랜드 인지도를 활용해 많은 관심을 끌어낼 수 있는 경우에는 전환율이 훨씬 더 높아질 수 있습니다.이렇게 된다면 좋은 결과이지만, 실제로 이러한 성과를 거두려면 게임이 1일 차부터 완벽하게 제 기능을 해야 한다는 점이 중요합니다. 예상한 수준보다 게임이 훨씬 더 많이 설치될 수 있기 때문입니다. Google Play에서는 스튜디오에 게임 다운로드 크기를 줄이고, 게임이 안정적인지 확인하고, 다양한 기기에서 테스트해 보라고 권합니다. 이 세 가지 모두 리뷰 점수를 떨어뜨리는 일반적인 원인이기 때문입니다.

Joonas Virtanen은 "Next Games는 Strange Things(기묘한 이야기)나 Walking Dead(워킹 데드)와 같이 IP가 강력한 게임에서 사전 등록 프로그램을 활용해 큰 성공을 거뒀습니다."라고 말하며, "이러한 TV 프로그램은 강력한 팬덤이 있기 때문에 게임 출시에 관한 소식이 금세 알려지기 마련입니다. 이러한 점에서 사전 등록은 공식 출시에 앞서 사람들의 기대감을 활용할 수 있는 좋은 방법입니다."라고 덧붙였습니다.

여러분의 게임에 사전등록을 활용하는 방법은 사전등록 지원 페이지에서 확인해보세요. 


요약

Google Play에서는 결점이 남아 있는 빌드를 초기에 노출하는 위험 없이도 여러분의 게임이 어떤 성과를 낼지에 대해 실질적인 데이터를 수집할 수 있는 여러 방법을 제공합니다. 이러한 방법들은 게임을 출시한 후에도 콘텐츠 다운로드나 업데이트가 제대로 실행되는지 확인하기 위해 최종적으로 확인할 때 유용하게 사용할 수 있습니다. 

마지막으로 Next Games의 Joonas와 James가 다음과 같은 조언을 덧붙였습니다. "핵심은 초기에 얻은 통찰을 초기 게임 디자인에 반영하는 것입니다. 자주 그리고 빨리 테스트하세요. 테스트 결과가 나쁘다고 해도, 테스트를 통해새로운 정보를 얻으실 것이고, 다음 테스트나 또 다른 제품에 도움이 될 것입니다." 

여기에서 익힌 내용을 스튜디오에서 도입할 때 어떤 사용자들을 통해 어떻게 게임을 테스트하고 싶은지 생각해보시고, Google Play에서 제공하는 도구를 활용하시기 바랍니다.


 작성자: Andrew Ahn (Google Play 제품 관리자) 

이 글의 원문은 여기서 확인 가능하며 블로그 리뷰에는 Andrew Ahn님께서 직접 참여해주셨습니다.


Google Play는 전 세계 수 십 억 명의 Android 사용자가 함께 누리는, 안전하고 유용한 앱 생태계를 계속해서 더욱 발전시켜 나가고자 합니다. 이를 위해 Google Play에서는 Google Play 개발자 정책 및 개발자 배포 계약을 정기적으로 업데이트 및 개정하여 이 플랫폼에서 허용되는 앱 콘텐츠와 기능을 자세히 설명할 뿐 아니라, 개발자가 공들여 만든 앱을 홍보하고 수익을 창출할 방법에 관해 최신 가이드를 제시하고 있습니다.


Google Play에서는 개발자들의 의도치 않은 정책 위반으로 앱과 개발자 계정이 정지될 위험을 줄일 수 있도록 개발자가 범하는 일반적인 실수 및 위반사항을 분석하였고, 이 결과를 개발자 커뮤니티와 이 블로그를 통해 공유하고자 합니다.



명확하지 않은 광고성 앱 링크

개발자가 범하는 가장 흔한 실수 중 하나는 광고나 프로모션 링크임을 명시하지 않고 Play 스토어의 다른 앱으로 유도하는 링크가 적용된 버튼과 메뉴가 앱 안에 포함된 경우입니다. 이를 명확하게 밝히지 않으면 사기성 또는 불편을 야기하는 광고로 간주되어 앱에 시정 조치가 적용됩니다. 각 버튼 및 링크에 '앱 더보기(More Apps)', '게임 더보기(More Games)', '살펴보기(Explore)', '개발사의 앱 더보기(Check out our other apps)' 등과 같이 명확하게 라벨을 지정하면 이러한 실수를 피할 수 있습니다.


Play 앱 등록정보로 연결되는 콘텐츠의 예시


스팸성 앱

개발자가 특정 키워드 및 문구를 이용해 검색 가능성과 순위를 높이려는 의도로 앱 설명에 키워드를 잔뜩 포함하는 경우 역시 자주 관찰되는 정책 위반 사항입니다. 반복되거나 관련이 없는 키워드 또는 참조가 포함된 문구나 목록은 Google Play 스토어 등록정보 및 프로모션 정책에 위반됩니다. 앱 설명을 간단하고 명확하게 작성하는 것이 정책에 부합하며 사용자들이 해당 앱에 대해 잘 이해할 수 있게 하는 가장 효과적인 방법 중 하나입니다.


이 영상(한글 자막)에서 스팸성 스토어 등록정보와 인위적으로 앱 조회 가능성을 높이려는 시도를 피하는 방법을 알아보세요. 



버려지거나 제대로 작동되지 않는 앱

개발자가 오래 전에 앱을 게시한 다음 더 이상 관리하지 않는 경우가 종종 있습니다. 이렇게 오랜 시간동안 방치되는 앱은 제대로 작동되지 않거나 구동이 아예 안되는 경우가 생깁니다. 이러한 앱은 낮은 평점과 부정적인 사용자 리뷰를 받을 수 있을 뿐만 아니라 최소 기능 정책을 위반한 것으로 제재를 당하게 됩니다. Play Store에서 게시 취소를 하면 앱이 제재를 당하는 것을 피하고 사용자 경험에 문제가 있는 앱의 노출을 줄일 수 있습니다. 앱의 게시를 취소해도 이미 앱을 설치한 기존 사용자에게는 영향을 주지 않고, 개발자는 앱을 업데이트 후  언제든지 앱을 다시 게시할 수 있습니다.


앱을 원활하게 사용할 수 없도록 방치된 앱의 예

Play Academy에서 ‘최소 기능 및 손상된 기능’ 과정을 확인해 보세요.



웹뷰가 목적인 앱

마지막으로, 아무 기능 없이 웹사이트를 보여주는 WebView만 제공하는 앱이 상당히 많이 있습니다. 이러한 앱 중 대부분은 Android 사용자를 대상으로 유익한 앱 사용 환경을 제공하기보다는 트래픽 유도가 주된 목적이기에 WebView 스팸으로 간주되어 Play에서 삭제됩니다. 사용자가 웹 환경이 아닌 앱에서 어떤 작업을 할 수 있는지, 웹에서보다 앱에서 어떤 작업을 더 효과적으로 할 수 있는지 곰곰이 생각해 보고 사용자 경험을 풍성하게 만들어주는 기능을 구현하는 것을 권장합니다.


기능이 없는 WebView 예시


Play Academy에서 ‘WebView 스팸’스팸 및 최소 기능 과정을 확인해 보세요.


위의 자주 범할 수 있는 흔한 위반 사항 외에도 Google Play 정책 센터, 그리고 정책 관련 온라인 교재들을 통해 최신 정책 및 개정 사항에 대해 더 알아보시기 바랍니다. 

 


작성자: Dan Galpin (Developer Advocate)

이 글의 원문은 여기서 확인 가능하며 블로그 리뷰에는 김민구(Google)님이 참여해주셨습니다. 


이 블로그 게시물은 지난 #11WeeksOfAndroid 시리즈의 일부입니다. 이번 게시물에는 게임, 미디어, 5G를 집중적으로 다뤘습니다. 


Android 11의 주요 기능

  • 이제 알림(Notification) 영역 안의 전용 공간에서 미디어 애플리케이션을 제어하며, 미디어 재개(playback resumption) 및 끊김없는 전송(seamless transfer) 등의 기능을 사용 설정할 수 있습니다.
  • 신규 및 업데이트된 5G API를 사용해 혁신적이고 새로운 사용자 환경을 제공할 수 있습니다.
  • 주요 게임 도구 및 기술 지원이 새롭게 추가되었습니다. 뿐만 아니라 Google에서는 게임 개발자 환경을 개선하고 게임의 성능을 효과적으로 차별화할 도구를 개발하고 있습니다. 더 많은 기기 및 새로운 잠재고객에게 게임을 선보이는 데 도움이 되는 서비스와 Google Play를 통한 게임의 시장 진출을 지원하는 새롭게 개선된 기능도 개발하고 있습니다.

Android 11 미디어

#11WeeksOfAndroid의 영상 자료에서는 앱에서 MediaStyle과 함께 유효한 MediaSession 토큰을 사용하고 있는지 확인하여 Android 11의 새로운 미디어 제어 기능을 활용하는 방법에 관해 다루었습니다. MediaBrowserServiceCompat을 통해 앱을 검색할 수 있도록 만들고, EXTRA_RECENT 힌트를 사용하여 콘텐츠 다시 시작을 지원하고, onPlay onGetRoot 콜백을 처리하여 미디어 다시 시작을 지원하는 방법을 제시했습니다. 마지막으로 MediaRouter Jetpack 라이브러리를 활용해 여러 기기 사이의 원활한 미디어 전송을 지원하는 방법도 보여드렸습니다. 미디어 제어 기능(media controls) 및 재개(playback resumption)의 참고용 구현이 포함된 UAMP의 업데이트된 버전을 확인해 보시기 바랍니다.


Android 11 및 5G

다음과 같이 앱에서 5G를 활용할 수 있는 여러 기본적인 방법을 다루었습니다.

  • 실내 사용 사례를 야외 사용 사례로 전환
  • 사진 중심의 UX를 동영상 중심 또는 AR 중심 UX로 전환
  • 미리 가져오기를 유용하게 사용하여 앱의 반응성 높이기
  • 틈새 사용 사례를 주류 사용 사례로 전환(예: 스트리밍 콘텐츠를 장소에 구애받지 않고 이용)

Android 11에는 개발자가 5G의 기능을 활용하는 데 필요한 모든 도구를 이용할 수 있도록 강화된 Bandwidth Estimation API, 5G 감지 기능(5G detection capabilities) 및 모바일 이동통신사의 새로운 데이터 전송량 제한 있음 플래그(meteredness flag) 등 새로운 API 및 기존 API에 대한 업데이트가 추가됩니다. 이제 Android Emulator를 사용하면 5G 기기나 네트워크 연결 없이도 이러한 API를 개발하고 테스트할 수 있습니다. 5G를 위한 웹페이지에서 위에 언급된 모든 기능과 추가 기능을 확인해 보세요.



게임 개발 관련 최신 소식 확인

Android 게임 개발자 프로그램을 다룬 '11 Weeks' 특별 에피소드에서는 훌륭한 게임을 개발, 최적화, 배포하는 데 유용한 도구, 서비스, 기술에 관한 최신 소식을 알려드립니다.

d.android.com/games에서 이번 주를 비롯해 지금까지 다룬 모든 내용에 관해 알아보세요. 분기별 게임 뉴스레터를 구독하여 계속해서 최신 소식을 받아보시기 바랍니다.



Android 게임 개발 도구

Android 스튜디오 4.1에서 CPU 프로파일러의 시스템 추적 뷰가 개선되었으며 기본 메모리 프로파일러 기능이 추가되었습니다. 이제 Android 스튜디오에서 두 기능 모두 단독으로 실행할 수 있습니다. 시스템 추적 기본 메모리 관련 블로그 게시물에 게임 또는 앱에서 이러한 기능을 사용할 방법이 자세하게 소개되어 있습니다.

Android 게임 개발 확장 프로그램 Android GPU 검사기의 개발자 프리뷰에 가입할 수 있습니다. Android 게임 개발 확장 프로그램은 멀티 플랫폼 C/C++ 게임을 개발할 때 유용하며, GPU 검사기는 그래픽 프로파일링과 디버깅에 사용됩니다. Android GPU 검사기 오픈 베타를 기대해 주세요.



더 많은 기기 및 사용자에게 게임 선보이기

Android Performance Tuner를 자세히 살펴보면서 주석(annotations), 품질 수준(quality levels), 충실도 매개변수(fidelity parameters)와 함께 도구 사용 방법에 관한 몇 가지 권장사항을 이 영상에서 설명했습니다. 도구를 구현한 다음에는 Android vitals를 통해 확인할 수 있는 새로운 통계와 분석을 사용하는 방법도 알아보았습니다.

Google Play Asset Delivery를 사용하여 넉넉한 애셋 크기, 유연한 전송 모드, 자동 업데이트, 압축, 델타 패치와 함께 App Bundle의 이점을 게임에 활용하는 방법을 이 영상에서 보여드렸습니다. 텍스처 압축 형식 타겟팅이 곧 제공될 예정이며, 이 기능을 사용하면 ASTC(현재 50% 이상의 기기에서 지원됨)와 같은 최첨단 텍스처 압축으로 게임 크기 및 메모리 사용량을 크게 줄일 수 있습니다.

또한 새로운 Codelab을 출시했습니다. 이제 Android Performance Tuner Google Play Asset Delivery를 Unity 또는 기본 C/C++ 게임에 통합할 수 있습니다.

수익 창출 및 배포 관련 악용 사례를 퇴치하여 게임, 플레이어, 비즈니스를 보호하는 방법을 설명했습니다.



게임의 시장 진출 전략 강화

Play 게임 서비스 - Friends의 오픈 베타를 출시했습니다. 이제 게임 내 친구 네트워크를 형성하고 확장하는 동시에 Play 게임 앱에서 새로운 클러스터에 게임을 선보일 수 있습니다.

Google Play Console 베타에서 제공되는 새로운 출시 관리 환경을 시연했으며 이러한 환경이 워크플로를 테스트 및 게시하는 데 어떤 도움이 되는지 이 영상에서 보여드렸습니다.

'첫날 자동 설치'는 Google Play에서 새롭게 선보이는 기능으로, 사용자는 이 기능을 통해 사전 등록 기간에 게임 자동 설치를 요청할 수 있습니다. 초기 실험 결과 첫날 자동 설치 기능을 사용했을 때 1일 차 설치수가 20% 증가했습니다. Google Play Console 베타의 새로운 사전 등록 메뉴를 사용하면 이 기능에 더욱 쉽게 액세스할 수 있습니다.

스토어 등록정보 페이지를 최적화하여 Google Play에서 풍부한 게임 그래픽과 몰입감 넘치는 동영상을 통해 크게 개선된 시각적인 게임 환경을 활용하는 방법을 보여드렸습니다.

새로운 In-App Review API를 사용하면 사용자가 앱 세부정보 페이지로 돌아갈 필요 없이 게임 내에서 사용자에게 리뷰 요청 메시지를 표시할 시점을 선택할 수 있습니다. 이 API는 베타 버전 앱에서 공개 및 비공개 리뷰를 모두 지원합니다.



학습 과정

이번 주의 하이라이트를 쉽게 이해하려면 게임, 미디어, 5G 과정을 확인하세요. 순서대로 나열된 가이드 과정을 통해 사용자는 퀴즈로 마무리되는 사전 정의 모듈을 완료하게 됩니다. 또한 과정에는 영상 자료 및 블로그 게시물이 포함되어 있습니다. 퀴즈를 통과한 모든 사용자에게는 가상의 배지가 수여됩니다. Android 게임 개발, 미디어, 5G의 핵심 요약에 관한 이해도를 테스트하고 한정판 배지를 얻어보세요.



핵심 요약

Android 게임, 미디어, 5G 개발 관련 최신 소식에 관심을 갖고 자세한 내용을 확인해 주셔서 감사합니다.


원활한 미디어 전송(seamless media transfer) 및 미디어 재개(media resumption)

MediaRouter API(UAMP 샘플)


5G

Bandwidth Estimation API

5G 감지(Android Emulator)

데이터 전송량 제한 있음 플래그(Meteredness flag)


Android 스튜디오 4.1에 포함된 기능(베타 채널)

Android 스튜디오 CPU 프로파일러의 시스템 추적(System Trace in Android Studio CPU Profiler)

Android 스튜디오 기본 메모리 프로파일러(Android Studio Native Memory Profiler)


출시 전 단독형 도구

Android 게임 개발 확장 프로그램(Android Game Development Extension)

Android GPU 검사기(Android GPU Inspector)

Android Game SDK에 포함된 기능

Android 프레임 속도 라이브러리(Android Frame Packing Library)

Android Performance Tuner(C/C++ Codelab)(Unity Codelab)


Google Play 기능

Play Asset Delivery(C/C++ Codelab)(Unity Codelab)

In App Review API

앱 라이선스

SafetyNet 증명(SafetyNet Attestation)

사전 등록

Google Play 게임 서비스

Play 게임 서비스 Friends 베타