Список «To Do» перед публикацией приложения Android на рынок [закрыто]

317

Я почти готов опубликовать свое первое приложение на рынке Android, и я хотел бы знать, есть ли у кого-нибудь из вас какие-либо советы о том, с чем вы столкнулись при публикации приложения, которое выходит за рамки очевидного и уже документированы.

Есть какие-то скрытые предостережения и / или идеи о том, что делать перед публикацией приложения на рынке? Например, мой приятель порекомендовал мне удалить все и все комментарии в моем коде на всякий случай, если кто-то попадет в исходный код, что затруднит для потенциального «джека кода» расшифровку кода. Я думал, что это разумное предложение.

Что нужно сделать перед публикацией приложения на рынке Android?

dell116
источник
1
В официальной документации только что был опубликован контрольный список, подтверждающий, что вы соответствуете основным ожиданиям пользователей планшета.
Джефф Аксельрод
48
Странно это не конструктивно и получил 16K просмотров lol
require_once
61
Закрытие такого конструктивного вопроса как «неконструктивный» является ярким примером того, почему политика модерации Stackoverflow должна быть изменена!
Орион
7
Необходимо убедиться, что ваше приложение насыщено ключевыми словами и провести исследование ключевых слов перед публикацией.
Узнайте,
2
Изучите политику разработчиков Google Play и убедитесь, что ваше приложение ничего не нарушает, вы должны быть очень осторожны с Google, очень больно, когда вы находитесь в облаке 9 с 2 миллионами загрузок, и внезапно ваше приложение приостанавливается, потому что ты не прошел их политику.
Яурав Гадав

Ответы:

339

Надеюсь, еще не поздно, вот несколько советов:

  • Запустите приложение в конце недели (обычно четверг во второй половине дня). Почему так? Ну, ни одна компания не хотела бы публиковать приложение только за 1,5 дня до конца недели -> слишком опасно (если есть проблема, требующая быстрого реагирования).

  • Используйте proguard в своем приложении (обычно вам просто нужно добавить эту строку: proguard.config=proguard.cfgв default.propertiesфайл). Это оптимизирует, сократит и запутает ваш код, что очень полезно для предотвращения кражи кода. Вам не нужно удалять комментарии, они автоматически удаляются во время компиляции.

  • Оптимизируйте свои изображения (используя Paint.NET , PNGCrush или OptiPNG ).

  • Оптимизируйте макеты для большинства размеров экрана. Вы можете сделать это, просто изменив размер экрана во время редактирования макета в AndroidStudio или Eclipse.

  • Попробуйте / поймайте все исключения в пользовательском интерфейсе и покажите простой тост, который указывает пользователю, что что-то случилось. Тем временем, найдите ошибку с 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 для будущей аналитики -> постарайтесь получить как можно больше информации, но не берите ничего, что нарушает анонимную идентификацию клиента. Не забудьте извлечь исключения (ошибки и следы стека), которые происходят на стороне пользователя.

  • Попросите своих друзей пройти тесты на обезьян, обучение у пользователей обычно приносит много хорошего (например, приоритеты и новые идеи).

  • Подумайте о том, чтобы опубликовать свое приложение до того, как вы завершите все функции (только самая важная функция), но вы еще не знаете, что понадобится вашим пользователям, кроме основной функции.

  • Добавьте в приложение раздел «Больше приложений» или «Больше от разработчика», это бесплатные объявления.

  • Добавьте раздел «Отправить отзыв», чтобы дать пользователю возможность запросить новую функцию или сообщить об ошибке.

  • Попросите пользователей перевести ваше приложение, предоставив strings.xml где-то в Интернете, например, Crowdin .

  • Попробуйте свое приложение на каждой версии Android с помощью эмулятора -> многие ошибки или проблемы с дизайном будут обнаружены таким образом. Для этого вы можете использовать предоставленный эмулятор, или использовать Genymotion вместо (Genymotion имеет много очень полезных функций).

  • Подумайте о названии приложения -> какие ключевые слова вы бы использовали для поиска своего приложения? Эти ключевые слова должны быть названием вашего приложения (Google поможет вам найти его таким образом).

  • Подумайте о включении ключевых слов в описание приложения, но в описательной форме (делайте понятные предложения, используя ваши ключевые слова). Никогда не добавляйте список ключевых слов, как в описании.

  • Будьте первым, кто оценит ваше приложение на 5 звезд, и попросите вашу семью и друзей сделать то же самое -> это, вероятно, повлияет на рейтинг будущих пользователей.

  • Попробуйте использовать Google для перевода своего приложения либо для описания, либо для strings.xml, либо для обоих.

  • Подумайте о том, чтобы показывать рекламу в своих приложениях и используйте посредничество, чтобы повысить свои доходы AdMob .

  • Вместо предоставления платной версии рассмотрите возможность выставления счетов в приложении -> пользователи с большей вероятностью будут платить в приложении, чем платить за платную версию.

  • Добавьте журнал изменений в приложение -> пользователям обычно нравится знать, что изменилось с последней версии.

  • Добавьте раздел «Спасибо» для пользователей, которые помогли вам -> это привлечет пользователей к вашему продукту.

  • Добавьте ссылку «Если вам нравится это приложение, пожалуйста, оцените ее» (в описании Google Play) в своем приложении -> вы получите больше 5 звезд (обычно всплывающее окно при запуске или после действия функции).

  • Вы можете объяснить свой продукт через раздел «Советы» или «Инструкции» в своем приложении.

  • Сохраните информацию о хранилище ключей и учетных данных в безопасном месте. Вы не сможете опубликовать обновление для своего приложения, если потеряете хранилище ключей.

  • Сделайте свою иконку действительно простой и понятной. Значок является первым, а также главным образом последним, что заставит пользователя загрузить ваше приложение.

  • Если это невозможно, предпочтите внешнюю установку ( android:installLocation="preferExternal"в AndroidManifest.xml).

  • Прочитайте советы AppAnnie и сообщения в блоге, они подскажут вам, как улучшить ASO, и помогут лучше понять ваших пользователей.

Матье Брито
источник
2
если у вас есть проблемы с тестированием на разных эмуляторах в eclipse, вы можете получить эмулятор genymotion, это так быстрее. Также для оптимизации изображений png www.tinypng.com - хороший выбор
Arash
2
Это действительно полезно, но имейте в виду, что для того, чтобы обеспечить надлежащую работу с UX, вам лучше иметь веские причины для перехода на полный экран. Например, если вы хотите, чтобы пользователь сосредоточился на одном элементе и удалял все другие отвлекающие факторы на пути.
Whizzkid
1
applicationIdне удалось сбросить после публикации приложения. Много раз он содержит слова (например, ваше имя пользователя), которые вы не хотите раскрывать. Установите это в build.gradleфайле вашего проекта в Android Studio.
gsinha
7
Я прихожу в StackOverflow за ответами на вопросы. Мой вопрос был «Что мне делать перед публикацией приложения для Android?» Это один очень полезный ответ, и я думаю, что может быть много других, поэтому закрытие вопроса как «Неконструктивно» кажется не очень конструктивным.
user872985
2
Спасибо за советы. Я хочу знать еще одну вещь: если кто-то откроет мое приложение в магазине игр, я хочу отобразить мои приложения в виде предложения типа «Больше от разработчика», есть ли способ сделать это
Geethu
47

На самом деле, не беспокойтесь об удалении комментариев к коду. Ваш исходный код не доходит до телефона пользователя - туда попадает только скомпилированный код, который не содержит никакой ссылки на ваши комментарии.

Пользователи Android, как правило, ценят приложения как можно меньшего размера, поэтому дважды проверьте, включены ли в них только те ресурсы (изображения и т. Д.), Которые все еще используются в вашем приложении. Используйте OptiPNG / PNGCrush для любых изображений .png, которые есть в вашем приложении, - это может уменьшить размеры файлов изображений примерно на 10%, что может составлять значительную часть общего размера вашего приложения.

Кроме того, используйте аудиоредактор, такой как Audacity, чтобы максимально уменьшить размер любого аудио. Переход к монофоническим файлам OGG Vorbis часто является лучшим и звучит достаточно хорошо на телефоне.

оборота теедяй
источник
1
Если память мне не изменяет, я думал, что где-то читал, что при упаковке .apk код не компилируется. Я предполагал, что .apk содержит все исходные файлы, так же, как вы бы увидели, если бы вы вошли в папку рабочей области проекта для Eclipse ..... и Dalvik компилирует код на лету, когда он запускается. на телефоне?? Я надеюсь, что я совершенно неправ, потому что даже когда я читал статью, я говорил себе: «Ну, это небезопасно». Я также являюсь участником xda-developers.com, и они, кажется, постоянно публикуют деодексированные apk-файлы для приложений.
dell116
16
Нет, исходный код не доставляется. Файл .apk - это просто скрытый файл .zip, поэтому переименуйте его и посмотрите. Все, что находится в / assets и / res / raw, отправляется в неизменном виде, как и ничьи в / res. XML-файлы в / res каким-то образом искажены (может, кто-то еще здесь знает, зашифрованы они или просто сжаты?). Ваш исходный код компилируется в classes.dex. Если вы откроете его в Блокноте, то обнаружите, что он содержит много строк из вашего исходного кода (имена методов и переменных и т. Д.), Но ни одного из ваших комментариев.
teedyay
7
XML-файлы скомпилированы для оптимизации их анализа и навигации. Есть инструменты для их декомпиляции.
большие камни
@bigstones О каких программах компиляции мы говорим здесь?
Роберт Массайоли
@RobertMassaioli Просто AAPT, это делается автоматически во время сборки.
большие камни
36

Не беспокойтесь о комментариях. Если вы обеспокоены злонамеренным вскрытием вашего приложения, ДЕЙСТВИТЕЛЬНО запустите его через обфускатор, такой как ProGuard.

Другие советы, которые я бы предложил:

  • Подготовьте всю свою графику и рекламные материалы заранее.
  • Тщательно продумайте свой выпуск так, чтобы в вашей жизни больше ничего не происходило (например, перед выходными), чтобы у вас было время ответить БЫСТРО, если у первой группы пользователей возникнут проблемы. Низкий рейтинг на ранних этапах может убить вас, но быстрый ответ по электронной почте и исправления могут полностью изменить мнение клиента о вашем приложении.
  • Я соглашаюсь с более ранними комментариями по уменьшению размеров изображения насколько это возможно.
  • Получите ваш код в систему контроля версий, если это еще не сделано. Вы обязательно должны выпускать обновления и исправления в какой-то момент, и контроль исходного кода может сыграть в этом важную роль.
Блюмер
источник
4
+1 за выпуск, когда у вас есть время, чтобы исправить вещи быстро!
teedyay
Спасибо за ваш ответ. Я уверен, что другие тоже будут благодарны. Я использую Eclipse Galileo для создания своего приложения, и другой поток в SO говорит, что Subversive для Eclipse является одним из самых простых инструментов управления исходным кодом, к которому можно привыкнуть. На этом примечании на веб-сайте Eclipse есть версия Subversive для загрузки, но я вижу только ссылку для выпуска Helios. Знаете ли вы или кто-либо еще, работает ли этот плагин с Galileo?
dell116
Я не знаю, на самом деле. Я делаю свой контроль версий не интегрированным с Eclipse, потому что я не потрудился настроить его. Я использую TortoiseSVN, когда я нахожусь в Windows, и инструменты командной строки Subversion, когда я нахожусь на моей коробке Linux.
Blumer
Говоря об обновлениях, это так же просто, как переупаковать приложение с обновленными файлами и заменить старый .apk на рынке новым с другим номером версии? Я помню, как пытался переустановить мое приложение поверх уже существующей установки (без удаления приложения, чтобы попытаться смоделировать «обновление»), но это не удалось, что заставило меня подумать, что это может произойти, когда я выпускаю обновление , Но, ради аргумента, у "update" .apk, который я установил поверх моей старой установки, не было другого номера версии в манифесте. Еще раз спасибо за любой совет!
dell116
1
Когда вы перейдете к загрузке вашего нового .apk в Маркет, он проверит, чтобы убедиться, что номер версии увеличился с прошлого раза. Я полагаю, что при установке обновления на устройство он не проверяет номера версий, а устанавливает то, что вы ему сообщаете. Я знаю, что установка обновленного .apk не удастся, однако, если ключи, с которыми были подписаны старая и новая версия, не совпадают. Вам придется сначала удалить старую версию, а затем установить обновление.
Blumer
32

Не уверен, что вы видели это раньше, но вы должны тренировать свой пользовательский интерфейс с обезьяной - у моего приложения был только один сбой, но не было бы ни одного из них, если бы я сначала проверил его с Monkey.

RivieraKid
источник
18

Я добавлю очевидный, но важный: сохраните свой ключ подписи в безопасном месте и сделайте резервную копию. Если вы позволяете Eclipse управлять этим за вас, обратите внимание на то, где он создает ваше хранилище ключей, и сохраните его резервную копию. И не забывайте пароли для хранилища ключей или отдельных ключей подписи.

Почему: вам нужно подписывать обновления для вашего приложения тем же сертификатом, который вы использовали для подписи оригинала. Если вы потеряете этот сертификат (или потеряете к нему доступ), вы не сможете обновить свое приложение. Вам придется создать новый список на рынке Android.

zlovelady
источник
1
Я почти потерял свой ключ, делая восстановление компьютера ... К счастью, у меня была резервная копия!
Ручир Барония
17

Некоторые моменты, которые я склонен забывать:

  • перепроверьте minSdkVersionв манифесте
  • протестируйте свое приложение на эмуляторе с помощью minSdkVersion
  • пусть ваши друзья протестируют ваше приложение, чтобы убедиться, что оно говорит само за себя

Если вы собираетесь предоставлять обновления в своем приложении:

  • Вы можете добавить диалог «Что нового в этой версии»
  • сделайте резервную копию вашей старой версии!
  • не забывай увеличивать versionCodeи versionNameв своем манифесте
оборота Маалте
источник
6
Хорошие моменты и в том же духе: если ваше приложение использует базу данных SQLite, убедитесь, что все процедуры создания и обновления таблиц находятся в надлежащем рабочем состоянии.
Blumer
13

Не забудьте сделать debuggable = false в вашем манифесте. Это поймало меня пару раз.

Я не совсем уверен, но я думаю, что это будет включать в себя много информации, которая сделает жизнь хакеров кода немного проще.

Я помню, много лет назад я случайно удалил исходный код в проект Java, в ужасе я понял, что у меня нет резервной копии! Я использовал утилиту под названием jad для декомпиляции файла jar на производственном сервере, в нем были все неповрежденные переменные и он был почти идеальным. Я не могу вспомнить, были ли комментарии там или нет, но тогда я все равно не положил много комментариев в те дни :) Это потому, что я включал символы при компиляции.

Kevin
источник
2
android: отлаживаемое значение по умолчанию - false согласно Google developer.android.com/guide/topics/manifest/… . Поиск по тексту "Android: отладка".
Оригинальный Android
11

В дополнение к замечательным предложениям, приведенным выше, подумайте об использовании Flurry для мобильной аналитики. Я не знал об этом, когда впервые начал выпускать свои приложения, но теперь, когда я обновил их, чтобы включить их, мне нравится видеть, что пользователи на самом деле делают с приложением. Это может обеспечить ценную обратную связь и руководство для вещей, которые пользователям может быть трудно найти или не интересны / полезны для пользователя.

Богатый
источник
8

Насколько я знаю, комментарии не включены в приложение в любой форме.

Единственная «ошибка» для разработчика, которую я обнаружил во время представления приложения, была разнообразная графика, которую вы можете представить на рынке. Будьте готовы сделать несколько снимков экрана и создать несколько значков приложений, а также рекламную графику.

С другой стороны, будьте готовы к тому, что ваше приложение мгновенно появится в магазине - процесс одобрения приложений для Android Market не проходит.

Мэтью Уиллис
источник
7

Я также хотел бы убедиться, что у вас есть какие-то сообщения об ошибках, чтобы вы знали, сколько пользователей сталкиваются с ошибками. Возможно, вы захотите сохранить копию своей старой версии при обновлении приложения, если вам необходимо выполнить откат. Также хорошо составить контрольный список, специфичный для вашего приложения, который вы можете просматривать каждый раз.

Кроме того, чтобы добавить к этому, вы можете использовать триммер для удаления фрагментов кода, которые не используются, чтобы сократить общий размер файла (так как пространство телефона довольно ограничено). Вы также можете скрыть свой код для дополнительной защиты.

оборота ниндзясенсе
источник