Android 앱을 출시하기 전에 "해야 할 일"목록 [닫기]


317

첫 번째 앱을 Android 마켓에 게시 할 준비가되었고, 분명하고 이미 넘어있는 앱 게시와 관련하여 경험 한 경험에 대한 팁이 있는지 알고 싶습니다. 문서화.

앱을 시장에 게시하기 전에해야 할 일에 대한 숨겨진 경고 및 / 또는 아이디어가 있습니까? 예를 들어, 내 친구는 누군가가 소스 코드에 도달하는 경우를 대비하여 내 코드에서 모든 주석을 제거 할 것을 권장하므로 "코드 재커"가 코드를 해독하기가 더 어려워졌습니다. 나는 그것이 현명한 제안이라고 생각했다.

앱을 Android 마켓에 게시하기 전에해야 할 일은 무엇입니까?


1
체크리스트는 당신이 기본적인 태블릿 사용자의 기대를 충족 보장하기위한 공식 문서에 게시되었습니다.
Jeff Axelrod

48
이상하지 않고 건설적이고 16K 뷰를 얻었습니다. lol
require_once

61
"비 건설"과 같은 건설적인 질문을 마무리하는 것은 왜 Stackoverflow의 운영 정책이 변경되어야 하는지를 보여주는 확실한 예입니다!
오리온

7
앱이 키워드가 풍부하고 게시하기 전에 키워드 검색을 수행해야합니다. 키워드 검색에 Google 트렌드 도구를
NabeelSaleem

2
Google Play 개발자 정책을 검토하고 애플리케이션이 위반하지 않는지 확인하십시오. Google에 매우주의해야합니다. 다운로드 횟수가 2 백만 회인 클라우드 9에서 애플리케이션이 갑자기 중단되는 경우 많은 문제가 발생합니다. 당신은 그들의 정책을 겪지 않았습니다.
Yauraw Gadav

답변:


339

너무 늦지 않기를 바랍니다. 여기에 조언이 있습니다.

  • 주말에 앱을 시작하십시오 (목요일 오후는 일반적으로 좋은 시간입니다). 왜 그래? 글쎄, 어떤 회사도 주말이 끝나기 1.5 일 전에 앱을 게시하고 싶지 않습니다-> 너무 위험합니다 (빠른 반응 시간이 필요한 문제가있는 경우).

  • 앱에서 proguard를 사용하십시오 (일반적으로 파일 에이 줄을 추가 proguard.config=proguard.cfg하면 default.properties됩니다). 이렇게하면 코드를 최적화, 축소 및 난독 처리 할 수 ​​있으며 코드 도둑 방지에 매우 유용합니다. 주석을 삭제할 필요가 없으며 컴파일시 주석이 자동으로 삭제됩니다.

  • Paint.NET , PNGCrush 또는 OptiPNG를 사용하여 이미지를 최적화하십시오 .

  • 대부분의 화면 크기에 맞게 레이아웃을 최적화하십시오. AndroidStudio 또는 Eclipse에서 레이아웃을 편집하는 동안 단순히 화면 크기를 변경하면됩니다.

  • UI에서 모든 예외를 시도 / 잡으십시오. 간단한 토스트를 표시하여 사용자에게 무언가 잘못되었음을 나타냅니다. 그 사이에 Crashlytics 또는 이와 유사한 오류를 검색하십시오 .

  • 너무 많은 .jar 라이브러리를 사용하지 말고 라이브러리 프로젝트를 선호하고 (코드 크기를 최적화) gradle을 사용하여 추가하십시오.

  • 벡터 이미지를 사용하면 APK 크기가 줄어들고 모든 기기에 올바르게 맞출 수 있으므로 사용하는 것이 좋습니다.

  • Android 환경 설정 창-> Android 가이드 라인에 있어도 정말 아름답지는 않은 환경 설정 창을 사용하지 마십시오. 자신 만의 설정 페이지를 만드는 것이 좋습니다. 그러나 Android 환경 설정을 유지하는 경우 아이콘과 색상 추가를 고려하십시오.

  • 기본 화면에 앱 제목 표시 안 함 ( this.requestWindowFeature(Window.FEATURE_NO_TITLE);) : 좋은 브랜드는 인식하기 위해 화면에 너무 많은 공간을 차지할 필요가 없습니다 (메뉴에 아이콘이나 제목이 표시되거나 항상 보이지 않는 곳에 표시) this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);게임 및 몰입 형 콘텐츠를 다룰 때는 전체 화면 모드 ( ) 사용을 고려하십시오 .

  • 향후 분석을 위해 Google Analytics , Fabric Answers 또는 Flurry 를 사용하십시오 .-> 가능한 한 많은 정보를 얻으려고 노력하지만 고객의 익명 신원을 위반하는 것은 포착하지 마십시오. 사용자 측에서 발생하는 예외 (오류 및 스택 추적)를 검색하는 것을 잊지 마십시오.

  • 친구에게 원숭이 테스트를하도록 요청하십시오. 사용자로부터 배우는 것은 많은 좋은 일 (우선 순위 및 새로운 아이디어 등)을 가져옵니다.

  • 모든 기능 (가장 중요한 기능 만)을 완료하기 전에 앱 게시를 고려하십시오. 기본 기능 외에 사용자가 무엇을 원하거나 필요로하는지 아직 모릅니다.

  • 무료 광고 인 '더 많은 앱'또는 '개발자로부터 더 많은 것'섹션을 앱에 추가하십시오.

  • 사용자에게 새로운 기능을 요청하거나 버그를보고 할 수있는 "의견 보내기"섹션을 추가하십시오.

  • Crowdin 과 같은 웹 어딘가에 strings.xml을 제공하여 사용자에게 앱을 번역하도록 요청하십시오 .

  • 에뮬레이터로 각 Android 버전에서 앱을 사용해보십시오-> 많은 버그 또는 디자인 문제가 이런 식으로 감지됩니다. 이를 위해 제공된 에뮬레이터를 사용하거나 Genymotion을 대신 사용할 수 있습니다 (Genymotion에는 매우 유용한 기능이 많이 있습니다).

  • 앱 이름-> 어떤 키워드를 사용하여 앱을 검색 하시겠습니까? 이 키워드는 앱 이름이어야합니다 (Google에서 이러한 방식으로 검색하도록 도와 줄 것입니다).

  • 앱 설명에 키워드를 포함하지만 설명적인 방식으로 키워드를 포함 시키십시오 (키워드를 사용하여 이해하기 쉬운 문장 만들기). 설명과 같이 키워드 목록을 추가하지 마십시오.

  • 별 5 개로 앱을 평가 한 첫 번째 사람이되어 가족 및 친구에게도 같은 작업을하도록 요청합니다. 이는 향후 사용자 평가에 영향을 줄 수 있습니다.

  • 설명을 위해, strings.xml 또는 둘 다를 위해 앱을 번역하기 위해 Google을 사용하는 것이 좋습니다.

  • 앱에 광고를 게재하고 조정을 사용하여 수익을 높이십시오 . AdMob .

  • 유료 버전을 제공하는 대신 인앱 결제를 고려하십시오.-> 사용자는 유료 버전을 구매하는 대신 인앱 결제를 할 가능성이 높습니다.

  • 앱에서 변경 로그를 추가하십시오-> 사용자는 일반적으로 마지막 버전 이후 변경된 내용을 알고 싶습니다.

  • 도움이 된 사용자에 대해 "감사합니다"섹션을 추가하십시오. 그러면 사용자가 제품에 참여하게됩니다.

  • 앱에 "이 앱이 마음에 들면 앱을 평가 해주세요"링크를 추가하십시오 (Google Play 설명에 연결)-> 별 5 개 (일반적으로 시작시 또는 기능 작업 후)가 표시됩니다.

  • 앱의 "팁"또는 "지침"섹션을 통해 제품을 설명하십시오.

  • 안전한 곳에 키 저장소 및 신임 정보를 저장하십시오. 키 저장소를 잃어버린 경우 앱 업데이트를 게시 할 수 없습니다.

  • 아이콘을 정말 간단하고 명확하게 만드십시오. 아이콘은 첫 번째이자 주로 사용자가 앱을 다운로드하게하는 마지막 것입니다.

  • 가능하지 않으면 외부 설치 ( android:installLocation="preferExternal"AndroidManifest.xml)를 선호 하십시오.

  • 읽기 AppAnnie의 팁과 블로그 게시물, 당신이 ASO를 개선하고 더 나은 사용자를 이해하는 데 도움이하는 방법에 대한 힌트를 줄 것이다.


2
당신은 일식 다른 에뮬레이터에서 테스트에 문제가있는 경우, 당신은 genymotion 에뮬레이터를 얻을 수 있으므로 faster.also 최적화 PNG 이미지 www.tinypng.com에 그게 전부는 좋은 선택이다
아라 쉬

2
정말 유용하지만 적절한 UX 환경을 제공하기 위해서는 전체 화면으로 전환해야하는 유효한 이유가 더 있습니다. 사용자가 하나의 단일 요소에 집중하고 다른 모든 방해 요소를 제거하려는 경우와 같습니다.
whizzkid

1
applicationId앱을 게시 한 후에는 다시 설정할 수 없습니다. 여러 번 공개하지 않으려는 단어 (사용자 이름 등)가 포함되어 있습니다. build.gradleAndroid Studio에서 프로젝트 파일로 설정하십시오 .
gsinha

7
질문에 대한 답변을 얻기 위해 StackOverflow에 왔습니다. 내 질문은 "Android 앱을 게시하기 전에 어떻게해야합니까?"였습니다. 이것은 매우 유용한 답변이며 다른 사람이 많을 수 있으므로 "건설적이지 않음"으로 질문을 마무리하는 것은 그리 건설적인 것처럼 보이지 않습니다.
user872985

2
팁 주셔서 감사합니다 .. 한 가지 더 알고 싶습니다. 어떤 사람이 플레이 스토어에서 내 앱을 열면 "개발자로부터 더보기"와 같은 제안으로 내 앱을 표시하고 싶습니다.
Geethu

47

실제로 코드 주석을 제거하지 않아도됩니다. 소스 코드는 사용자의 휴대 전화로 전송되지 않으며 컴파일 된 코드 만 제공되며 주석에 대한 참조는 포함되지 않습니다.

Android 사용자는 앱이 가능한 한 작게 평가되는 경향이 있으므로 앱에서 여전히 사용중인 리소스 (이미지 등) 만 포함하고 있는지 다시 확인하십시오. 에있는 .png 이미지에 OptiPNG / PNGCrush 를 사용 하면 이미지 파일 크기를 약 10 % 줄일 수 있으며 이는 전체 앱 크기의 중요한 부분이 될 수 있습니다.

또한 Audacity 와 같은 오디오 편집기를 사용하여 오디오 크기를 최대한 줄이십시오. 모노 OGG Vorbis 파일을 사용하는 것이 가장 좋으며 전화로 충분히 들립니다.


1
내 메모리가 올바르게 작동하면 .apk가 패키지 될 때 코드가 컴파일되지 않는 곳을 읽은 것으로 생각했습니다. 나는 .apk에 모든 소스 파일이 포함되어 있다고 가정했습니다. 이클립스의 프로젝트 작업 영역 폴더로 갔을 때와 마찬가지로 Dalvik은 코드가 실행될 때 즉시 컴파일합니다. 전화로 ?? 나는 기사를 읽을 때조차도 "잘 안전하지 않다"고 말하고 있었기 때문에 내가 틀렸다는 것을 희망한다. 나는 또한 xda-developers.com의 회원이며, 앱용 deodexed apk 파일을 항상 게시하는 것 같습니다.
dell116

16
아니요, 원시 소스는 배송되지 않습니다. .apk 파일은 위장 된 .zip 파일 일 뿐이므로 이름을 바꾸고 살펴보십시오. / res의 드로어 블과 마찬가지로 / assets 및 / res / raw의 내용은 변경되지 않은 상태로 배송됩니다. / res의 xml 파일은 어떤 식 으로든 엉망입니다 (여기서 다른 사람이 파일이 암호화되어 있거나 압축되어 있는지 알고있을 수 있습니다). 소스 코드는 classes.dex로 컴파일됩니다. 메모장에서 열면 소스 코드의 많은 문자열 (메서드 및 변수 이름 등)이 있지만 주석은 없습니다.
teedyay

7
xml 파일은 구문 분석 및 탐색을 최적화하기 위해 컴파일됩니다. 그것들을 디 컴파일하는 툴이 있습니다.
bigstones

@bigstones 여기서 어떤 종류의 컴파일 프로그램에 관해 이야기하고 있습니까?
Robert Massaioli

@RobertMassaioli AAPT 만, 빌드 타임에 자동으로 완료됩니다.
bigstones

36

의견에 대해 걱정하지 마십시오. 앱의 악의적 인 해킹이 우려되는 경우 ProGuard와 같은 난독 화 장치를 통해 앱을 실행하십시오.

내가 제공 할 다른 팁 :

  • 모든 그래픽과 홍보 자료를 미리 준비하십시오.
  • 인생의 다른 일이 많지 않은 경우 (주말 직전과 같이) 전략적으로 출시 시간을 정하여 처음 몇 명의 사용자가 문제를 일으킨 경우 FAST에 응답 할 시간을 가지십시오. 초기에 낮은 등급은 당신을 죽일 수 있지만 빠른 전자 메일 응답 및 수정은 앱에 대한 고객의 의견을 전적으로 사용할 수 있습니다.
  • 가능한 한 이미지 크기를 줄이는 것에 대한 이전 의견에 동의합니다.
  • 코드가 아직 없으면 소스 제어로 가져옵니다. 어느 시점에서 업데이트 및 수정 사항을 발행해야하며 소스 제어가 그 점에서 큰 역할을 할 수 있습니다.

4
일을 빨리 고칠 시간이 있으면 풀기 +1!
teedyay

당신의 답변에 감사드립니다. 다른 사람들도 감사 할 것이라고 확신합니다. Eclipse Galileo를 사용하여 앱을 만들고 있으며 SO의 또 다른 스레드는 Subversive for Eclipse가 익숙한 가장 쉬운 소스 제어 도구 중 하나라고 말합니다. 참고로, Eclipse 웹 사이트에는 다운로드 할 Subversive 버전이 있지만 Helios 릴리스에 대한 링크 만 표시됩니다. 이 플러그인이 Galileo와 호환되는지 알고 싶으십니까?
dell116

실제로 모르겠습니다. Eclipse를 설치하지 않아도 버전 관리가 Eclipse와 통합되지 않습니다. Windows에있을 때는 TortoiseSVN을 사용하고 Linux에있을 때는 Subversion 명령 줄 도구를 사용합니다.
Blumer

업데이트에 대해 말하면, 앱을 업데이트 된 파일로 다시 패키지하고 시장에 나와있는 이전 .apk를 버전 번호가 다른 새 .apk로 바꾸는 것만 큼 간단합니까? 기존 설치 위에 앱을 다시 설치하려고 시도한 것을 기억합니다 ( "업데이트"를 시뮬레이트하기 위해 앱을 제거하지 않은 상태). 그러나 업데이트를 발행 할 때 이것이 발생할 수 있다고 생각하게되었습니다. . 그러나 논쟁을 위해 이전 설치 위에 설치 한 "update".apk의 매니페스트에는 다른 버전 번호가 없었습니다. 조언을 다시 한 번 감사드립니다!
dell116

1
새로운 .apk를 마켓에 업로드 할 때 지난 번 이후 버전 번호가 증가했는지 확인합니다. 장치에 업데이트를 설치할 때 버전 번호를 확인하지 않고 지시 사항을 설치합니다. 이전 버전과 새 버전이 서명 된 키가 동일하지 않으면 업데이트 된 .apk 설치가 실패한다는 것을 알고 있습니다. 이전 버전을 먼저 제거한 다음 업데이트를 설치해야합니다.
Blumer

32

이전에 이것을 보았는지 확실하지 않지만 원숭이 와 함께 UI를 연습해야합니다. 내 앱에는 한 번의 충돌 만 있었지만 원숭이와 함께 먼저 테스트 한 경우 아무것도 없었습니다.


18

분명하지만 중요한 것을 추가하겠습니다. 서명 키를 안전한 곳에 저장하고 백업하십시오. Eclipse가이를 관리하게하려면 키 저장소를 작성하는 위치에주의를 기울이고 백업 사본을 저장하십시오. 키 스토어 또는 개별 서명 키의 비밀번호를 잊지 마십시오.

이유 : 원본에 서명 할 때 사용한 것과 동일한 인증서로 앱 업데이트에 서명해야합니다. 해당 인증서를 잃어 버리거나 액세스 권한을 잃으면 앱을 업데이트 할 수 없습니다. Android 마켓에서 새 업체 정보를 만들어야합니다.


1
컴퓨터 복원을 수행하면서 키를 거의 잃어 버렸습니다 ... 행운스럽게도 백업이있었습니다!
Ruchir Baronia 2

17

내가 잊어 버리는 몇 가지 사항 :

  • minSdkVersion매니페스트에서 다시 확인하십시오 .
  • 에뮬레이터에서 앱을 테스트하십시오. minSdkVersion
  • 친구가 앱을 테스트하여 설명이 필요한지 확인

앱에서 업데이트를 제공하려는 경우 :

  • '이 버전의 새로운 기능'대화 상자 를 추가하고 싶을 수도 있습니다.
  • 이전 버전을 백업하십시오!
  • 증가 versionCode하고 versionName당신의 매니페스트를 잊지 마십시오

6
앱에서 SQLite 데이터베이스를 사용하는 경우 좋은 점과 같은 생각을 가지고 테이블 생성 및 업그레이드 절차가 모두 제대로 작동하는지 확인하십시오.
Blumer

13

매니페스트에서 debuggable = false로 만드는 것을 잊지 마십시오. 그것은 몇 번 나를 잡았다.

확실하지는 않지만 코드 해커의 삶을 좀 더 쉽게 만들어주는 많은 정보가 포함되어 있다고 생각합니다.

나는 몇 년 전에 실수로 소스를 자바 프로젝트로 삭제했다고 기억합니다. 공포에서는 백업이 없다는 것을 깨달았습니다! 프로덕션 서버에서 jar 파일을 디 컴파일하기 위해 jad 라는 유틸리티를 사용 했는데 모든 변수가 그대로 있었고 거의 완벽했습니다. 주석이 있는지 여부를 기억할 수 없지만 어쨌든 많은 주석을 다시 넣지 않았습니다. :) 컴파일 할 때 기호를 포함했기 때문입니다.


2
Google developer.android.com/guide/topics/manifest/… 에 따르면 android : debuggable 기본값은 false 입니다 . "android : debuggable"텍스트를 검색하십시오.
Original Android

11

위의 훌륭한 제안 외에도 모바일 분석에 Flurry 를 사용하는 것에 대해 생각해보십시오 . 앱 출시를 처음 시작할 때 알지 못했지만 앱을 포함하도록 업데이트 했으므로 사용자가 실제로 앱으로 수행하는 작업을 보는 것이 좋습니다. 이는 사용자가 찾기 어렵거나 사용자에게 흥미 롭거나 유용하지 않은 것들에 대한 귀중한 피드백과 지침을 제공 할 수 있습니다.


8

내가 아는 한 의견은 어떤 형태로든 앱에 포함되지 않습니다.

앱 제출 중에 찾은 개발자에게 유일한 "gotcha"는 시장에 제공 할 수있는 다양한 그래픽이었습니다. 여러 스크린 샷을 찍고 홍보용 그래픽뿐만 아니라 여러 앱 아이콘 크기를 만들 준비를하십시오.

밝은면에서 앱을 스토어에 즉시 표시 할 수 있도록 준비하십시오 .Android 마켓 앱에는 승인 프로세스가 없습니다.


7

또한 오류가 발생하는 사용자 수를 알 수 있도록 일종의 오류보고 기능이 있는지 확인합니다. 롤백해야 할 경우를 대비하여 앱을 업데이트 할 때 이전 버전의 사본을 보관할 수 있습니다. 또한 매번 처리 할 수있는 앱별 체크리스트를 컴파일하는 것도 좋습니다.

또한 이것에 추가하기 위해 트리머를 사용하여 전체 파일 크기를 줄이기 위해 사용되지 않는 코드 조각을 제거 할 수 있습니다 (전화 공간이 상당히 제한되어 있기 때문에). 추가 보호를 위해 코드를 난독 처리 할 수도 있습니다.



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.