ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 구글 플레이스토어 안드로이드 앱 출시 거절과 중지
    Flutter 2025. 6. 18. 16:11

    이전에 개발 중이던 앱을 플레이스토어에 배포하지 못했어요.
    그래도 비슷하게 리젝 되고 정지되는 후기를 누군가는 궁금해할 것 같아서 글을 적어요.
     


    0. 비공개 테스트

    Google Play Console 계정을 생성할 때 개인, 조직을 선택할 수 있다. 조직의 경우 비공개 테스트가 필요 없는 대신 사업자가 필요하다. 개인 사업자를 발급받기에는 실업급여도 수급하고 있고 나중에 혹시 생애 첫 사업자 찬스를 쓸 일이 생기지 않을까 해서 개인 계정으로 만들었다.
     
    Google Play 에 안드로이드 앱을 출시할 때에는 12명 이상의 비공개 테스터가 14일간 테스트를 진행해줘야 한다. 서로 같이 테스트해 주는 품앗이 커뮤니티가 있긴 한데 귀찮아서 크몽에 3만 원 정도 주고 맡겼다. 말이 테스트지 앱을 매일 껐다 켰다 하는 정도이고 테스트한 것처럼 리뷰만 남기는 게 전부 같다.
     
    5월 12일에 시작해서 5월 26일에 완료했다.
    비공개 테스트를 시작할 때 개발은 거의 완료한 상태였는데 비공개 테스트 때문에 2주를 기다렸다.

     

    1. 프로덕션 액세스 신청

    5월 27일 01시52분에 프로덕션 액세스 권한 부여 메일을 받았다.

     

    2. 프로덕션 앱 게시 요청

    시험, 결혼식 등 여러 일정이 많아서 바로 준비하지 못하고 6월 2일 21시 39분에 앱 게시를 요청했다.

     

    3. 프로덕션 앱 거부 1차

     
    6월 4일 14시45분에 거부 메일을 받았다. 사유는 Play Console 요구사항 위반: 제공된 사용자 아이디 또는 비밀번호가 잘못됨. 이걸로 리젝 될 거라곤 예상도 못했다.
    왜냐면 이미 내가 확인을 했었고 테스터를 위해 제공한 구글 계정에 6월 3일 15시2분에 접속했다는 메일을 받았었기 때문...
     
    앱 액세스 권한 관련에 어떻게 제출했었나 확인을 했는데 테스터용 계정을 적는 칸 있고 그 밑에 일반 텍스트를 적는 칸이 있는데 계정 적는 칸에는 올바른 메일을 작성했고, 텍스트 적는 칸에 임시로 다른 계정을 작성해 둔 걸 제거하지 않았었다.
    작성된 모든 계정이 로그인이 되어야 하지 않았나 싶다.
     
    텍스트 적는 칸:

    **Test Account for Review**
    Our app requires social login to access most features.
    Please use the following test account credentials to log in during your review:

    **Google Login:**
    - Email: '임시로 작성해 둔 계정'
    - Password: 'Test1234!'

    To access the app, launch it and select the Google login button. No additional authentication (e.g., 2-step verification) is required.
    This account is created solely for review purposes.

    If you encounter any issues, please contact us at develop.subin@gmail.com.

     
    테스터용 계정을 2개로 준비하고 이메일과 패스워드를 확인한 다음 앱 액세스 권한에 수정하여 6월 4일 15시18분에 다시 제출했다.
    다시 생각해 보면 이때 앱 검토 요청이 아니라 이의제기를 해볼 걸 그랬다. 여지가 있었지 않나 싶은데 찬스를 버린 느낌.
     

    4. 프로덕션 앱 거부 2차

     
    6월 10일 14시38분에 거부 메일을 받았다. 이번에는 주말이 껴있어서 그런가 재검토여서 우선순위가 낮나 생각을 하면서 검토를 요청하고 6일 정도가 지났다.
    6월9일 15시39분 테스터 접속 메일을 받아서 되겠구나~ 싶었는데 메일 보고 아휴 했다...
    검토를 제출해 두고 다른 일들이 있어서 확인을 못하고 지냈는데 진짜 로그인이 안 되는 문제였다.
     
    문제는 개발할 때 Firebase Cloud Storage, Cloud Firestore 를 테스트모드로 개발을 시작하고 30일이 지났는데 보안 규칙 설정을 따로 안 한 거다.
    테스트모드에서는 첫 30일이 지나면 모든 클라이언트 요청이 거부된다. 인지하지 못하고 있었고 메일도 왔었는데 확인을 못했었다.
     
    거부 메일을 받았을 때 외부에서 노트북을 들고 있었는데 어렵지 않은 설정이라고 생각해서 Firebase 콘솔에서 보안규칙만 설정하고 테스트는 해보지 않은 채 2시간 만에 빨리 6월10일 16시13분에 재검토를 요청했다.

     

    5. 프로덕션 앱 거부 3차

    6월 10일 18시38분에 거부 메일을 받았다. 뭔가 잘못됐구나 하고 디바이스로 확인을 하는데 로그인이 잘 작동한다.
     
    나의 테스트 방법에 문제가 있다 싶었다. 이번에는 디바이스에서 Android Debug Bridge 로 앱과 캐시를 전체 삭제하고 Google Play Console 의 내부 앱 공유에 올려둔 앱을 설치하니 작동하지 않는다.

     

    6. 프로덕션 앱 정지


    6월 11일 1시18분 앱 정지 메일을 받았다.
    3번 거부당하니 얄짤없다. 바로 정지 먹었다.

     

    7. 이의제기

    6월 11일 12시23분 이의신청을 제출했다.
    어떻게 안될까요...

    더보기

    Analysis of the Issue's Cause: 1. Our team incorrectly submitted credentials for one of two review accounts. 2. Despite correct credentials, an authentication token expiration prevented reviewer login. Our Plan for Resolution and Prevention: 1. Improved Review Account Credential Management: Before future submissions, we will cross-verify all review account credentials twice and perform thorough login tests in a live environment for accuracy. 2. Backend Stability and Expiration Period Review: We have configured authentication tokens and backend components with extended expiration periods, preventing expiry during review. Upon appeal approval and resubmission opportunity, we will submit a thoroughly tested, fully compliant version after implementing all proposed resolution measures. The accurate login credentials will be provided with the app resubmission. We respectfully request a re-evaluation of our app. Thank you.

     
    6월 12일 08시52분 답변 메일이 왔다.

    더보기

    Hi Developers,
    Thanks for contacting the Google Play team.
    We’ve reviewed your appeal request and found that your app has **repeatedly violated** Google Play policy.
    Per our [Enforcement Process](https://support.google.com/googleplay/android-developer/answer/9899234?hl=en&sjid=13521218334098232305-AP) policy, we don’t allow apps with repeated violations of Developer Program policies. **Due to repeated violations of our policy, we are unable to reinstate your app.**
    - Go to your [Play Console](https://play.google.com/console) and check the **Policy Status** section to find the notification email for additional information about the enforcement against your app.
    If you’ve reviewed the policies carefully and feel that our enforcement action may have been in error, please respond back to this email and provide detailed justification or further explanation to help us evaluate your appeal.
    Please note that suspensions count as strikes against the good standing of your Google Play Developer account. Egregious or multiple policy violations can result in suspension, as can repeated app rejections or removals.
    If your developer credentials are still in good standing with Google Play and if your app allows for it, you can publish a new compliant version of the app by following these steps:

    Review the [Enforcement Process](https://support.google.com/googleplay/android-developer/answer/9899234), [Developer Program](https://play.google.com/about/developer-content-policy/) policies, and [Developer Distribution Agreement](https://play.google.com/about/developer-distribution-agreement.html) for more details.
    If your developer account is in good standing, you can sign in to your [Play Console](https://play.google.com/apps/publish/) account and submit an updated and policy-compliant app using a new package name and a new app name.
    If you’ve reviewed the policy and feel our decision may have been in error, please reply to this email and share the additional information with our team.
    Thanks for your support of Google Play.

     
    If you’ve reviewed the policies carefully and feel that our enforcement action may have been in error, please respond back to this email and provide detailed justification or further explanation to help us evaluate your appeal.
    메일 내용을 보면 이 앱에 대한 추가 논의가 없다, 결정이 최종이다 이런 식이 아니라 어느 정도 열려있다고 생각해서 다시 한번 메일을 보내보기로 한다...

    더보기

    Dear Google Play Team,
    Thank you for reviewing my appeal and for providing further clarification regarding the suspension of my app.
    I fully understand and respect Google Play's strict policy against repeated violations, and I am aware of the potential consequences, including developer account standing. I sincerely apologize for the inconvenience and burden caused by the repeated issues during the review process.
    I want to clarify that the "repeated violations" in question were specifically related to the provision of accurate and functional review credentials (login information) during the app submission process, rather than a violation of core content policies, user safety, or malicious behavior within the app itself.

    To elaborate on the nature of these repeated issues:
    First Rejection: This was due to an unintentional human error on our part, where incorrect login details were provided for one of the two review accounts. This was a procedural oversight.
    Second Rejection: Despite providing correct credentials, a technical oversight concerning Firebase authentication token expiration occurred. This prevented your review team from successfully logging in and accessing the app's functionality. This was a technical issue impacting the review process, not a fundamental policy breach of the app's core design or purpose.

    While these issues certainly created a poor review experience and constituted a violation of the requirement to provide a functional and accessible app for review, I humbly ask for your understanding that these were not indicative of an intent to deceive or bypass policy, but rather technical and procedural errors in our submission process.

    We have taken these incidents very seriously and have already implemented comprehensive measures to prevent any recurrence:
    - Enhanced Review Account Credential Management: We now have a rigorous pre-submission checklist to cross-verify all review account credentials (ID/PW) at least twice. We also perform thorough login tests in a live environment. Furthermore, we have created a dedicated test account specifically for the Google Play review team, ensuring it has full access and sufficient data to experience all app functionalities.
    - Robust Backend (Firebase) Stability and Expiration Period Review: We have configured Firebase authentication tokens and other backend system components to have sufficiently long expiration periods, guaranteeing they will not expire during the review process. We have also established a clear process to re-verify that login and all key functionalities are working correctly in a test environment that precisely mirrors our production setup before any submission.

    We are fully committed to adhering to all Google Play Developer Program Policies and providing a seamless review experience. We have learned valuable lessons from these experiences and have improved our internal QA and submission processes significantly.

    Given that the repeated violations were specifically tied to the review process and not the app's core policy compliance or user experience, and that we have taken concrete, corrective actions, I respectfully request that you reconsider the reinstatement of this specific app. We believe the app, once properly accessible for review, fully complies with all policies.

    Thank you for your time and consideration.

    Sincerely,

    Subin Lee

     
    6월 12일 10시07분 AI 의 도움을 받아 메일을 보냈다.
    글을 작성하는 지금은 6월 18일인데 아직 답변이 안 왔다 ㅠ
     
     


    생각들

    • 개인 계정으로 플레이스토어에 앱을 출시할 때는 앱의 초기세팅만 마치고 바로 비공개 테스트부터 시작할 것. 개인이 만든다면 규모가 크지 않을 테고 비공개 테스트기간 2주 동안 만들면 된다.
    • 개발을 시작할 때 간단하게라도 디자인 가이드를 잡고 시작해야 한다. 나중에 보면 수정도 번거롭고 일관성이 없어서 미적감각이 낮은 내 눈에도 이거 좀 구린데...라는 생각이 든다.
    • 패키지 이름은 신중히 정한다. 출시하면 나중에 마음에 안 들어도 못 바꿈.
    • 3번 리젝이면 앱이 정지된다. 같은 이유의 리젝이 문제인지, 단지 횟수 3회의 문제인지 모르겠다. 최근은 아니지만 횟수 3회를 받고도 정지되지 않은 경우들의 후기도 보인다.
    • 이용약관, 개인정보처리방침을 작성할 때 어떤 정해진 포맷이 없는 것 같다. 필수항목 정도만 있고 서비스마다 다르다. 작은 서비스 같은 경우에는 이상하게 작성되어 있는 것들이 보인다.
    • 개인 사업자로 혼자서 수익화 앱을 만드는 사람들도 생각보다 많다. AI가 너무 잘해주니 개발에 걸리는 시간, 난이도가 많이 줄어든 것 같다. 실패한 사람들은 후기를 적지 않는 건지 성공한 사람들의 글만 봐서는 나도 해볼까 라는 생각도 든다.
      • 대부분 안드로이드 앱을 개발하고 있고 멋있다는 생각이 안 드는 앱들도 돈을 잘 벌고 있어 보인다. 개발보다는 타겟과 마케팅의 문제가 훨씬 더 커 보임. UI/UX 도 타겟팅과 마케팅이 잘되고 난 다음 문제.
      • 구글 플레이, 앱 스토어 모두 앱이 약 150만 개 정도 있다고 하는데 기준 사용자들의 지출은 앱스토어 쪽에서 2.5배 이상 많이 일어난다. 근데 한국 기준으로만 봤을 때는 안드로이드에서 지출이 2.5배 이상 많이 일어나고, 장르는 게임 쪽이다. 게임 인앱 구매를 많이 하는 것 같다. 나도 최근에 휴대폰 게임 하는 게 있는데 결제하고 싶다는 생각이 든다.
      • 서버가 필요 없거나 엄청 단순하게 작업할 수 있는 앱들이 많은데 이런 앱들이 운영하기에 너무 좋아 보인다.
      • 여러 앱을 만들 거라면 서버는 Firebase 가 아니라 개인 PC를 서버로 사용하고, 앱은 보일러 플레이트를 만들어두면 작업하기 좋아 보인다. 결국엔 그 나물에 그 밥 느낌.
    • 앱 비공개테스트 외주를 맡겨보니 이거 내가 해도 되겠다 정도의 생각이 들었다. 자동화도 가능해 보이는데 다들 이런 생각을 하는지 단가가 너무 낮다.
    • 요즘엔 AI가 너무 잘되어 있어서 나는 개발에 필요한 정보보다는 검토, 메일 답장이 보통 몇 시간이나 걸리는지, 테스터는 어느 나라에서 어떤 기기를 사용했는지 이런 정보, 후기들이 궁금했었다.
      • 2건만 봤지만 기기는 갤럭시 A23, A32 국가는 필리핀, 말레이시아였다.
      • 프로덕션 앱 게시 검토
        • 06-02 21:39 - 06-04 14:45 (40h)
        • 06-04 15:18 - 06-10 14:38 (167h)
        • 06-10 16:13 - 06-10 18:38 (2h)
      • 메일
        • 06-11 12:23 - 06-12 08:52 (20h)
        • 0612 10:07 - X

     


     
    4월부터 시작해서 3달이 넘었는데 아직 출시를 못했다. 쉬는 기간 동안 풀타임 개발을 한 건 아니지만 내가 직접 쓰려고 했고 만드는 게 재밌었는데 스토어에 올라가지 못해서 이제 재미가 없다. 정지가 안 풀리면 다시 이 과정을 거쳐야 하는데 다시 하려니 너무 귀찮다.
    그래도 마침표는 찍어야 하니 언젠가 출시를 하긴 할 텐데 요즘엔 다른 일들이 있어서 앱 개발은 안 하고 있다. 이번 달 말까지만 답변을 기다려보고 어떤 식으로 할지 결정해야겠다.
     
    흠 앞으로 뭘 어떻게 할지 머리가 복잡하고 결정을 못 내린 상태.
    다음엔 또 만나요.

     

     
     

    'Flutter' 카테고리의 다른 글

    공유일기 앱 만들기 - 3  (0) 2025.05.06
    공유일기 앱 만들기 - 2  (0) 2025.04.29
    공유일기 앱 만들기 - 1  (1) 2025.04.22
    공유일기 앱 만들기 - 0  (0) 2025.04.15
킹수빈닷컴