Dec
17

Мой путь в Android Market

Дааа.. тяжелый труд – копать на поле кукурузу… В этот раз я расскажу о своем первом опыте разработки коммерческих приложений для Android и о том, как мне, все же, удалось попасть на Android Market (ну не мне лично, а моему приложению, конечно же).

Итак… А началось все давно, а точнее сказать тогда, когда я начал писать статьи о программировании для Palm WebOS. В ходе написания, собственно, статей, появилась потребность в обучении на каких-то реальных примерах и как раз один из моих знакомых рассказал о том, что запускает сервис файлообмена для мобильных устройств. Файлы планировалось загружать на сервер и отсылать URL загруженного файла по SMS. Такой вот нехитрый способ обмениваться, например, фотографиями с мобильного телефона.К этому моменту уже была готова Web-based версия сервиса и я предложил написать к нему еще и приложение для Palm WebOS. На тот момент мой опыт разработки для Palm WebOS был без малого 8 рабочих дней (я заканчивал 8ю статью из этого цикла, статьи писал по одной в день). Для того, чтобы по-бвстрому слепить приложение для WebOS у меня ушло около 15ти часов. И еще около двух часов чтобы написать PHP-скрипт, который бы использовался для отправки файлов этим приложением и выдавал результаты в формате JSON.

После того, как WebOS версия была закончена, возник вопрос о разработке подобных клиентов для других мобильных платформ. Довльно быстро были сделаны версии для Windows Mobile и Maemo. Версия для Windows Mobile работала как shell extension для Inbox и меню контактов и просто открывала сайт в Internet Explorer c уже заполненным полем получателя. Версия же для Maemo работала аналогично с версией для WebOS – отсылала файл на сервер и получала JSON-ответ от скрипта ну и дальше по обстоятельствам.

Затем очередь дошла до Android. О да, это еще та эпопея…

Во-первых, версий Android’а, доступных и повсеместно используемых на рынке целых три – 1.5, 1.6, 2.0.

Для всех этих трех версий используется различное API для работы с контактами и то что успешно работает в версии 1.5 совсем отказывается что ли-бо выполнять в версии 2.0. Так же история обстоит и с API для отправки SMS.

Как эти проблемы решались в техническом плане я расскажу в отдельном посте (планирую, по крайней мере). Сейчас же могу сказать только то, что все пришлось делать через Reflection. Криво-косо, но оно работает, к тому же даже вполне вменяемо.

Дальше… Отправка файлов. Для этой цели пришлось использовать библиотеку httpmime и apache-mime4j с сайта Apace. Хвала Супермарио, но Java-таки кросс-платформенна :) – JAR файлы с сайта Apache чудесно заработали и для Android без каких-либо лишних теложвижений.

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

На реализацию, тестирование, подготовку, различные доделки-переделки ушло ну… недели две рабочего времени минимум. Может больше.

Дальше… Графика. А точнее иконка. Почитав описание Android Application Icon Guidelines я понял что моей мозговой активности явно недостаточно чтобы слепить что-то удобоваримое. И я решил заказать графику (ну вот да, иконку) на фрилансерском сайте, а точнее на free-lance.ru

На самом деле хотелось дешево и сердито, а полоучилось.. ну, не дешево, и даже не сердито. Просто получилось! На проект откликнулось двое фрилансеров. Первый предложил 4000 рублей (не знаю сколько это денег, я в русских тугриках не специалист. Но что-то мне подсказывает что это больше 100 баксов ибо в уме почему-то всплывает цифра 30 – приблизительно столько просят за одного американского президента). 100 баксов это как-то… печально, учитывая что разработку я финансирую из своего кармана, а президентов я как бы и не рисую, а зарабатываю трудом праведным (вполне). Второй фрилансер (барышня) предложила слеить мне иконку за 19 баксов. Ок, более менее приемлемо (хотя и не “за еду”, как я рассчитывал). К тому же обещано было, что иконка будет сделана за сутки (круть, люблю когда быстро). Я предложил что да, если будет сделана за сутки, то доплачу еще 10% (как по мне, вполне человеческий способ стимулирования. На мелких проектах, конечно, эффект мало заметен, но обычно вполне неплохо работает когда сроки важны).

И о чудо! В три часа ночи иконка сделана! Это прям праздник какой-то! Мне последние два раза очень везет на фрилансеров. Получил я в результате PNG файл 48×48 и EPS-файл с вектором.

Положил я этот PNG файл в папку drawables своего проекта, но фак! Почему-то он не виден на эмуляторе! Как была зеленая с роботом, так и осталась! Детальное изучение проблемы под микроскопом показало что для различных разрешений экрана нужны иконки разного размера (ну и скажите мне, где это написано в гайдлайнах?). После манипуляций с фотошопом, на которые мозговой активности у меня, все же, хватило, были созданы PNG-файл размером 36×36 и 72×72, которые затем перекочевали в нужные папки ресурсов.

Пересобрал и о, да! Иконка в порядке. Можно постить на Android Market!

Но не тут-то было…

При попытке загрузить сборку Android Market мне объяснил что я не прав и аргументировал это тем, что неймспейс в моем приложении начинается с com.android, а так делать нельзя. Странно, почему я это узнаю ПОСЛЕ а не ДО загрузки сборки? Пришлось исправлять…

Затем мне объяснили что я еще более неправ, потому что я как-то неудачно родился не в США, а в Украине. Для того, чтобы иметь возможность постить платные приложения, нужна учетка в Google Checkout, а зарегистрировать ее можно только (если мне память не изменяет) в 7ми или 8ми странах. Украины, естественно, в списке нет. Ну вот это уже вобще свинство! Я столько работал, чтобы вот так все бросить на пол-пути? Ну уж нет! Индейцы не ищут легких путей! И пошел я… нет, не нафик, пошел я на сервис SlideMe, который является альтернативой Android Market и также имеет свое приложение-клиент, с помощью которого можно покупать другие приложения.

К счастью, на SlideMe более лояльно относятся к разработчикам из других стран и я довольно быстро завел себе там учетку и разместил приложение. Единственное что меня немного смущает, в описании сервиса они говорят, что для получения выплат надо  будет заполнить кое-какие документы для налоговой США, но это потом. Сейчас же для меня главное то, что приложение приняли и оно доступно для заргузки, а еще больше приятно то, что оно доступно для покупки :) Таки вот оно! SMSMyFile – отправляем файлы через SMS!

Порадовал тот факт, что на SlideMe можно не только указать описание приложения, а еще и выложить скриншоты, а главное видео! За 5 минут сварганил видео с помощью CamStudio (бесплатная кстати, я ею и скринкасты все записываю) и выложил на YouTube. Ссылку – на SlideMe.

Для того, чтобы получать платежи со SlideMe, надо указать как минимум карту, на которую вы будете получать оплату. Здесь мне помогла MasterCard, полученная, в свое время, от RentACoder. Она, в последнее время, меня везде спасает :)

Карточку, к тому же, надо верифицировать. У меня пока сделать этого не получилось, пришлось писать в службу поддержки. Вот сутки уже жду ответа…

Если вы хотите продавать свое приложение с помощью SlideMe, надо сделать некоторые изменения в коде:

  • Добавить JAR-файл в проект (доступен для загрузки на SlideMe)
  • Добавить Activity в проект (код для вставки доступен там же)
  • Добавить пару строк в манифест приложения – зарегистрировать там Activity и пару привелегий для приложения.

Более подробно об этом можно узнать здесь. На внесение изменений у меня ушло 5 минут, что, на самом деле, очень классно.

ОК, со SlideMe закончили. Следующий на очереди AndAppStore.

AndAppStore – еще одна площадка для продажи Android-приложений. Регистрация там тоже несложная. Получать оплату можно через Google Checkout (будь он неладен) и PayPal.

Все классно, но бесит одно – процесс подготовки приложения к публикации ну очень муторный…

Сначала надо создать профайл для приложения на сайте, потом сделать API Key для приложения, получить Application ID, затем сгенерировать какой-то приватный ключ.

При запуске приложения надо получить имя пользователя, затем каким-то хитрым образом раскодировать лицензионный ключ… в общем все как-то муторно и до конца я со всем еще не разобрался (хотя предлагают скачать демо-приложение и исходники, чейчас как раз в них ковыряюсь, может прозрение наступит). Все как-то сложно, не для плоских умов. В общем, публикация на AndAppStore еще в процессе.

Сервис позволяет указать описание для приложения (чистый текст, без HTML) и загрузить скриншоты. Какие еще плюшки – будет видно дальше.

Итак, два сервиса нашел, но меня никак не покидало чувство, что с Android Market’ом я “что-то делаю не так”. Пошел еще раз регистрировать приложение… Повводил значения ао все поля, долго смотрел на форму регистрации и ссылку на Google Checkout… Затем, все же, пошел на форму регистрации Merchant Account’а в Google Checkout. На эту форму тоже смотрел долго пока, наконец, меня не осенило…

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

В качетсве адреса указал адрес банка, выдавшего мне карту от RentACoder’а. Ну и номер самой карты. И о чудо! Зарегистрировался!

Это позволило мне добавить приложение в Android Market. Цену для приложения указал символическую – $0.99 (а что, все так делают).

Android Market позволяет указать короткое описание приложения (50 символов), обычное описание приложения (300 символов – мало вобще-то) и загрузить скриншоты. Скриншотов должно быть обязательно два (или вобще ни одного). Еще можно загрузить промо-картинку 180×120.

Итоги

  • Потрачено на регистрацию: 1 сутки
  • Зарегистрировался в: SlideMe, Android Market, AndAppStore
  • Получилось запостить приложение в: SlideMe, Android Market
  • Продаж в SlideMe за первые сутки: 0
  • Продаж в Android Market за первые сутки: 10
  • Возвратов в Android Market за первые сутки: 4
  • Левелап получен: да :)

Приложение

smsmyfile-1.0.0-screenshot

Еще интересные посты о программировании для мобильных устройств:

18 Comments

Make A Comment
  • vox_humana Said:

    Познавательно и с эмоциями, куда же без этого:-) Спасибо.

  • Crypto Said:

    Спасибо, очень познавательно! Есть вероятность, что нужно будет пройти тот же путь.

  • Roces Said:

    На карту, которую регали в Android Market деньги пробовали переводить или они сразу туда поступают после покупок? И еще вопрос: каким образом деньги на PayPal вам переводят? Насколько я знаю ни Россия, ни Украина
    платежи не принимает.

    Спасибо за ответ.

  • T-Rex Said:

    1. В Android Market (а точнее в Google Checkout) регистрируется банковский счет, а не карта. У Payoneer есть услуга Virtual Bank Account – вот я его использовал. Оплата перечисляется автоматически каждый день (с задержкой где-то в 2е суток).
    С PayPal тот же финт ушами. Virtual Bank Account стоит $20 в год.

  • Максим Юдин Said:

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

  • T-Rex Said:

    угу

  • Crispy Said:

    Спасибо за отличный пост. А за остальные версии приложений тоже деньги брали? Каков был доход от них относительно андроида?

  • Максим Юдин Said:

    Вопрос по карте, я заказал карту Пэйонер от Odesk, ща жду пока придет и потом нужна будет активация, вопрос, услуга Virtual Bank Account появится после активации карты? А то пока я еще ничего не вижу кроме последних четырех цифр карта, а адрес банка откуда брать? Придет в конверте вместе с картой?

  • T-Rex Said:

    Я думаю по поводу Virtual Bank Account лучше отписать в службу поддержки и попросить активировать. Она не сразу доступна.

  • T-Rex Said:

    Спасибо за отличный пост. А за остальные версии приложений тоже деньги брали? Каков был доход от них относительно андроида?

    Для WebOS приложение бесплатно (по крайней мере сейчас). С WebOS очень много пользователей пришло, вполне возможно, что из-за бесплатности приложения.
    Для WM тоже пока бесплатная версия, как shell extension – когда сделаем stand-alone программулину, то думаю выложить на Windows Marketplace for Mobile

  • motiv Said:

    Опиши лучше путь в пальмовский магазин. Пытался зарегистрироваться – в списке нету России. И что делать? Как снимать деньги? Платформа то интересная.
    P.S – спасибо за инфу

  • T-Rex Said:

    Обязательно опишу. Сейчас как раз регистрацией в нем и занимаюсь. Там все еще более хитро

  • motiv Said:

    буду очень ждать. А с вами как можно связаться?

  • T-Rex Said:

    Skype: wxwidgets.info

  • ris Said:

    Не могли бы вы, помочь, начинающему разработчику, и написать каким образом вы работали с SMS из-под Android 1.5??? Заранее спасибо!

  • T-Rex Said:

    android.telephony.gsm.SmsManager

  • vivaldi Said:

    Скажите пожалуйста, насколько будет ораничена ежемесячная сумма выплат если пользовать Ваш метод?? спс

  • Мой путь в Palm App Catalog | Программирование для мобильных устройств Said:

    […] у меня уже была готова Android-версия SMSMyFile, которая начала продаваться в Android Market и первую прибыль с продаж я решил потратить […]

Comments RSS Feed   TrackBack URL

Leave a comment

Please leave these two fields as-is:

top