Дааа.. тяжелый труд – копать на поле кукурузу… В этот раз я расскажу о своем первом опыте разработки коммерческих приложений для 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

Previous ArticleNext Article
Технический директор IT-Dimension, компании-разработчика кросс-платформенного программного обеспечения

This post has 17 Comments

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *

М.

Мой путь в Palm App Catalog

Введение

Наконец-то у меня появилось свободное время чтобы написать что-то хорошее-доброе-вечное.

В этот раз продолжим разговор о том, как обычному неамериканскому человеку пробраться на рынок мобильных приложений, а в частности, я расскажу о том, как мне удалось зарегистрироватьсяи получитьь возможность размещать платные приложения для Palm WebOS в Palm App Catalog.

Начало

А началось все давно, а точнее в начале прошлого года, когда Palm анонсировали выход устройств с Palm WebOS на борту, а также программу, по которой разработчики могли получить доступ к ранним версиям Palm Mojo SDK, с помощью которого и ведется разработка приложений для этой мобильной платформой.
Выглядело это все довольно красиво и радужно, особенно в свете того, что т.к. эта платформа новая, то возможностей быть первым и написать приложение, которое в будущем станет популярным, были почти безграничными.

После анонса Palm Mojo SDK Early Access Program я сразу же подал заявку на участие, но при регистрации товарищи из Palm открыто заявляли что да, регистрация доступна для всех, но фактически доступ получат только те, кого Palm посчитает достойным. Какими там критериями они руководствовались, непонятно, но официальный доступ к SDK мне удалось получить только через 4 месяца. Все эти 4 месяца (а на самом деле еще меньше, т.к. SDK долгое время было недоступно для свободной загрузки) приходилось довольствоваться пиратскими/неофициальными версиями, которые иногда, с задержкой, появлялись на торрентах.

На самом деле сейчас подобная история происходит с Samsung Bada. Доступ на сайт разработчикам открыт, но скачать SDK нельзя, для этого надо чтобы ваша компания стала партнером Samsung, а для этого они просят слишком много лишней информации, что несказанно бесит.

И вот нконец-то чудо произошло и Palm прислали мне инвайт, как раз где-то в это же время вышли первые главы книги (здесь и здесь) о разработке для WebOS и уже можно было как-то понять, что же с этим чудом делать.

Оно даже работает

Да, именно так, “оно даже работает” – это как раз та мысль, которая пришла мне в голову после того, как я впервые установил себе WebOS SDK. Да, на Vista были проблемы с тем, что ранние версии что-то пытались писать в Program Files, а этого делать нельзя, но при наличии прямых рук, растущих из нужного места, все эти проблемы решались довольно просто. И таки-да, SDK заработало почти с первого раза.

Язык разработки – JavaScript. Я его никогда не знал, да и желания учить как-то до этого не было (всю жизнь писал под десктоп на C++ и под всякое тоже на C++, до интерпретируемых языков все руки не доходили). Но ведь новые горизонты, возможность хорошо заработать, слава, мировое господство…. Эх… Чего только не сделаешь ради мирового господства… И я сделал. Я сел учить JavaScript.

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

После седьмого дня подготовки туториалов, почувствовал в себе силы делать что-то полезное. Нашел человека, который хотел мобильное приложение для WebOS и написал первое коммерческое приложение – клиент для обмена файлами посредством SMS для сервиса SMSMyFile. На разработку первой версии первого приложения для WebOS  у меня ушло 15 часов. Сейчас это приложение доступно в Palm App Catalog, распространяется бесплатно, хотя разработка стоила денег.

Я ненавижу тебя, Palm… и люблю

Дальше были попытки запостить приложение в Palm App Catalog. Для площадки по продаже мобильных приложений у Palm была такая же политика, как и с SDK. Вы пишете им письмо, в письме посылаете скомпилированный пакет с приложением, они рассматривают возможность публикации и затем публикуют. Называлось это все eCommerce Beta Program. Сейчас страница с описанием этой программы на официальном сайте выдает 404ю ошибку, поэтому ссылку не даю.

На вид все просто и я очень рассчитывал, что это будет еще и быстро. Palm ведь маленькая компания, где-то слышал, что в в ней работали на то время всего 300 человек (может это и не соответствует действительности, но все равно, компания явно меньше чем MS), к тому же доля на рынке мобильных устройств у них не такая большая, поэтому мне казалось что за каждого довольного клиента или разработчика они должны (могут, должны, как-то так…) держаться обеими руками.

И вот, я пишу письмо, прикладываю к нему описание приложения и дистрибутив и… ничего. Тишина. Ради спортивного интереса отослал письмо с уведомлении о прочтении. Через две недели получил уведомление что таки-да, мое письмо прочитали. И снова тишина. Уже думал что все, потеряли мое приложение или забыли, и через !(внимание) полтора месяца получаю еще одно уведомление что… письмо у кого-то из Palm было удалено без прочтения. После этого я обиделся. К слову сказать, я не один такой был, который обиделся. Многие люди тоже ненавидят Palm из-за их политики общения с разработчиками. Затем было долгое затишье, когда, разработав свое приолжение, я не могу хотя бы как-то отдать его пользователям. Пытаться распространять приложение для Palm WebOS собственными силами – относительно глупая затея. Ну, разве что, если у вас есть сервис, который уже приносит миллионные прибыли и какую-то часть из этих денег вы можете потратить на раскрутку своей программы (но тогда напрашивается вопрос, а почему вы еще не в App Catalog’e :)).

За это время я успел почитать всякой полезной документации, например UI Design Guidelines, Application Submission Checklist, знание которых потом неоднократно помогло мне в будущем.

А потом… Регистрация в Palm App Catalog стала публичной. Это не могло не радовать, но вместе с радостью пришли и другие проблемы.

Основной проблемой, как ни странно, стали… деньги. Много денег. Почему-то Palm помимо неповоротливости оказались еще и жадными. Участие в Palm Developer Program стало возможным в трех вариантах:

  • Вы регистрируетесь как open-source разработчик и постите все приложения как бесплатные и с открытими исходниками. За это не платите ничего
  • Вы регистрируетесь, платите $99  в год, а затем !(внимание), получаете ссылку на загрузку своего приложения и распространяете его сами как хотите. Palm всего лишь упоминает ваше приложение в RSS фидах и, собственно, хостит ваш бинарник у себя. Остальное все за вами.
  • Вы регистрируетесь, платите $99 за регистрацию и $50 за каждое приложение, которое попадает в Palm App Catalog. Итого, $150 вы отдаете сразу и неизвестно, будут ли ваше приложение вобще скачивать. В общем, на вид очень опасно, так мне показалось тогда и так же кажется сейчас.

А еще Palm отбирает у вас 30%  с каждой продажи 😉

На самом деле, зарегистрироваться на сайте и скачать SDK (скачать можно официально только после регистрации), можно и бесплатно, но если вы решили распространять свои приложения, то надо проапгрейдить свой аккаунт до статуса разработчика и, все же, выбрать один из трех вариантов. Я решился в конце декабря. К тому времени у меня уже была готова Android-версия SMSMyFile, которая начала продаваться в Android Market и первую прибыль с продаж я решил потратить на регистрацию в Palm App Catalog.

Дело близилось к новому году и когда я решил зарегистрироваться, то с меня взяли не $99 а всего $5 за первый год участия в программе и с последующим продлением за $99. Не знаю, доступна ли эта скидка до сих пор, пробовать второй раз не буду 🙂

Отдать деньги – дело нехитрое, но после регистрации, для того чтобы иметь возможность запостить приложение, необходимо было ввести уйму личных данных, включая адрес и PayPal аккаунт.

С PayPal аккаунтом у меня как-то сразу не сложилось. Украины в списке стран в настройках аккаунта не было. Пришлось писать в службу поддержки, от которой ждал ответа две недели. Посоветовали вписать американский адрес и поиспользовать американский PayPal (вобще забавно, представители солидной компании советуют такие не совсем честные махинации). Ну, опыт у меня с этим есть. Вбиваем в качестве адреса адрес банка, выдавшего карту Payoneer, затем указываем американский PayPal.

А дальше? PROFIT? Да щаз! Это только начало…. до профита еще очень и очень долго.

Но тем не менее, этого было достаточно чтобы запостить бесплатное приложение.

Для того чтобы постить платные приложения, надо обязательно указывать американский код налогоплательщика (адрес-то в учетке американский) – ITIN (Individual Taxpayer Identification Number) или EIN (Employer Identification Number), которого у меня, по понятным причинам, отродясь не было.

Но, в Internet есть все. И я нашел компанию, которая предлагала зарегистрировать ITIN/EIN за 100 зеленых американских президентов. Денег заплатил, циферку выслали через 4 дня. Циферка вроде рабочая, указал ее в Google Checkout, Palm App Catalog, Intel AppUp. Документы, подтверждающие действительность этой циферки, обещали прислать в течении 4 недель с момента получения. На данный момент прошло больше 4х недель, а документов еще нет, поэтому ссылку на сайт, предлагающий эту услугу давать не буду до выяснения обстоятельств.

Пока регистрировали EIN, нашел на Хабре информацию о системе AdMob, которая позволяет размещать рекламу в мобильных приложениях. Решил вставить AdMob в SMSMyFile. Для этих целей есть нормальное рабочее SDK для WebOS, заводится с пол-пинка. Подробнее о процессе интегрирования, думаю, расскажу отдельным постом.

Но, судя по статистике за месяц, денег там нет, по крайней мере на WebOS. На данный момент у SMSMyFile около 10000 загрузок, а приносит пользы это несколько десятков центов в день. В приложениях для iPhone от AdMob намного больше толку, но об этом как-то потом расскажу.

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

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

  • У вас есть уверенность в результате. Если вы постите приложение, то вы можете быть уверены что ревью все-таки будет, а также есть вероятность, стремящаяся к единице, того, что ревью будет выполнено в заявленный срок
  • Если в процессе ревью будут обнаружены несоответствия с UI Guidelines, то вы получите список несоответствий (говорят что в Windows Marketplace for Mobile каждая попытка сабмита стоит $100 и говорят только одну причину отказа, даже если их было несколько. На самом деле, статья со сравнением маркетов меня очень тронула. От Marketplace for Mobile я просто в шоке и уже боюсь туда постить).

Вдоволь наигравшись с бесплатной версией, решил попробовать, как это работает с платными приложениями.

В качестве платного приложения решил сделать программку, которая сохраняет Web-странички в виде PDF файлов. Работы на это ушло 14 часов. Программка дергает один довольно популярный сервис, который отдает PDF  по GET-запросу, так что, по сути, работа сводилась только к UI.

На этом месте, думаю, стоит заметить вот какую штуку:

  • У меня платный аккаунт в Palm App Catalog
  • У меня в Palm App Catalog уже есть бесплатное приложение
  • Если я пробую запостить еще одно бесплатное приложение, то с меня требуют $50 как за платное. Ну и спрашивается, где здесь PROFIT?
  • Есть возможность запостить бесплатную beta-версию платного приложения. Такой сабмит проходит без ревью и является бесплатным.
  • Кажется, что для бесплатных приложений лучше заводить отдельный аккаунт с Community Membership.

Изначально на сайте Palm Developer Program я регистрировался с e-mail’ом, к которому у меня прикручен украинский PayPal. При попытке оплатить сабмит с американского PayPal’а мне сказали что это какой-то чужой аккаунт, не совпадает с e-mail’ом на сайте и надо его привязать к учетке. Привязать PayPal  стоит $10. В этом месте я отчаянно борюсь с жабой, которая меня уже почти задушила, когда я решил вспомнить, сколько денег я угробил, в общей сложности, на все это 🙂

Дальше был сабмит beta-версии. За 3 дня, пока пользователи тешились бесплатной бетой, я получил около 2000 загрузок и 4 письма в службу поддержки с предложениями новых фич. За эти 3 дня приложение получило рейтинг 5 из 5ти, что очень классно.

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

После сабмита за 8 дней приложение скачали (надеюсь что купили) около 400 пользователей. За эти 8 дней рейтинг скатился с 5 до 4.1. То ли при покупке платных приложений пользователи становятся более злыми, то ли “кругом одни враги” 😉

Почему я пишу “надеюсь что купили”? У Palm  какая-то глупая система учета статистики:

  • Вы не можете видеть отдельно количество загрузок каждой версии приложения
  • Вы не можете видеть статистику загрузок за текущий день/неделю/месяц
  • Доступен только общий отчет за прошлый месяц и за все предыдущие, тоесть мониторить статистику в реальном времени нельзя.
  • Статистика загрузок обновляется не сразу, а несколько раз в день. Кажется, раз в 2-4 часа.

Еще более странная у Palm система оплаты. Свои деньги за проданное ПО вы получите “в течении 60ти дней после окончания текущего месяца” дабы не быть голословным, вот ссылка по теме (см. раздел Payment).

Ну вот как-то так. Система работает, будем ждать оплаты.

Немного статистики

  • Потрачено времени – 1 год
  • Потрачено денег – $100 + $5 + $10 + $50
  • Получено прибыли – $9 за AdMob + (unknown) за продажи
  • Всего загрузок бесплатного приложения – 10000 (за 1.5 месяца) + 2200 (за 3 дня)
  • Всего загрузок платного приложения – ~500
  • Левелап получен – да, как всегда

Надеюсь, мои многобукаф кому-то принесут пользу.

I.

Intel AppUp глазами разработчика

Сегодня у нас статья хабрапользователя Terror об Intel Atom Developer Program и о том, как подготовить приложение для публикации в Intel’овском магазине.

Введение

Новость о том, что Intel открыл магазин для atom-based устройств пару раз проскакивала на Хабре. Вскользь было упомянуто, что существует специальная программа для разработчиков, позволяющая интегрировать свои приложения в Intel AppUp.

Разработчик может опубликовать свое ПО и продавать его через AppUp. Либо отправить компонент и получать проценты с продаж программ, использующих этот компонент. Т.к. магазин только начинает свою работу есть неплохой шанс «засветиться» (приложений в нем пока немного).

На данный момент регистрация является бесплатной, в будующем Intel планирует брать оплату в размере $99 в год. Еще один плюс — авторы первых 100 приложений, отправленных до 2-го февраля получат по нетбуку.Я хочу рассказать про процесс интеграции подробнее, используя свой опыт отправки ПО в AppUp.

Все, что может понадобиться (SDK, статьи) можно найти на странице Intel Atom Developer Program.

Требования к приложениям, отправляемым в AppUp достаточно просты:

  • приложение должно соответствовать определенным критериям, более подробно здесь
  • приложение должно интегрироваться с Atom Developer Program SDK
  • инсталлятор должен соответствовать определенным требованиям, подробнее здесь

Интеграция

Для начала необходимо зарегистрироваться на сайте Intel Atom Developer Program. После регистрации заходим в панель управления (Dashboard) и получаем уникальный GUID для своего приложения, компонента.

Скачиваем и устанавливаем SDK. В папке Samples можно найти несколько примеров работы с SDK на С\С++. В простейшем случае, процесс интеграции выглядит следующим образом:

Объявляем GUID нашего приложения

#ifdef _DEBUG
  const ADP_APPLICATIONID myApplicationID(ADP_DEBUG_APPLICATIONID);
#else
  const ADP_APPLICATIONID myApplicationID = {{ ЗДЕСЬ,УКАЗЫВАЕМ,СВОЙ,GUID }};
#endif

ADP_DEBUG_APPLICATIONID — нужен в отладочной версии, дабы убедиться, что все работает нормально.

Проверяем, разрешен ли запуск нашей программы:

BOOL CheckIsAuthorized()
{
  BOOL bResult = FALSE;
  Application *pApp = NULL;
  try
  {
    // Пытаемся создать экземпляр Application с нашим GUID-ом
    pApp = new Application(ApplicationId(myApplicationID));
    // Экземпляр создан, можно работать
    bResult = TRUE;
  }
  catch (AdpException& e)
  {
    // Ошибка, сообщим о ней пользователю
    MessageBox(NULL, e.what(), "Error", MB_ICONERROR);
  }
  if (pApp != NULL)
  {
    delete pApp;
  }
  return bResult;
}

Можно сказать, что процесс интеграции на этом и заканчивается. Для того, чтобы проверить все ли сделано правильно, запускаем ATDS (ярлык Start ATDS) и следом наше приложение. Отладочная версия должна запуститься без проблем, а вот релиз должен выдать ошибку: The application was no authorized for use on this machine (Code: 6)

Пакет установки

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

  • это должен быть MSI пакет
  • должен уметь устанавливаться в silent режиме (ключ /qn)
  • должен создавать ярлык только на одно приложение
  • должен включать C++ runtime библиотеки (если используются)

Процесс создания пакета детально описан на форуме

Отправка

После того как пакет установки создан и протестирован можно приступать к отправке приложения на валидацию. Делается это все через тот же Dashboard. Процесс отправки разбит на несколько шагов, в принципе все просто и понятно.

Перед отправкой не забудьте запастись иконкой (логотипом) программы размером 100×100 и скриншотами 820×480. Если окно программы имеет меньший размер, то можно создать белую подложку, указанного размера, и разместить на нем скриншот программы.

Валидация может происходить достаточно долго (в моем случае она длилась около 9-ти дней). О том, что подлежит проверке и что может привести к непрохождению валидации можно прочитать здесь и здесь

При возникновении вопросов можно поискать ответы на форуме Intel Atom Developer Program. Отвечают там достаточно быстро и грамотно как и представители Intel-a, так и его активные участники.

Оригинал на Хабре