Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #122, ФЕВРАЛЬ 2009 г.

Антикризисная Java. Эксклюзивные новости о заработке на мобильном программинге

Олег Придюк (zanito@gmail.com)




Допустим, писать Hello World на замечательном языке Java ты уже научился и теперь напрягаешь мозжечок с единственной целью – кому-нибудь нагадить и получить за это гуманитарно-финансовую помощь. Правильно мыслишь, а о том, как эти мечты превратить в зеленые бумажки, рассказано чуть ниже.

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

Телефоны, деньги и спонсорские программы

Читатели постарше и помудрее, те, кто застал рассвет и закат Spedia.net и ей подобных сервисов, помнят, что любые спонсорские программы работают на 100% и приносят большую прибыль, лишь до тех пор, пока они новые и пока тему не просекли народные массы. Потом – как повезет, но первые финансовые сливки в любом случае самые вкусные и сытные.

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

Есть такой сайт GetJar.com, принадлежащий одноименной компании. Если верить их маркетологам и поисковику Google, то это самый популярный сайт для скачивания мобильного софта, обладающий огромным комьюнити разработчиков и являющийся источником самых свежих бета-версий мобильных программ. Компания уже полгода тестирует рекламный сервис собственной разработки – GetJar Ads (в девичестве MADI, Mobile AD Injection) – и в ближайшие месяцы планирует ввести его в коммерческое использование. Вот про этот самый сервис мы и выпытали все, что можно, у СЕО Ильи Лаурса, вице-президента по вопросам маркетинга Патрика Морка и вице-президента по продукции Криса Дьюри. Вышло слегка туманно, но сервис еще не запущен (на момент сдачи статьи – начало января 2008 г. – Прим. ред.), многие детали не до конца сделаны и согласованы. «Вы и так первыми в мире получаете эту информацию», - пытались оправдаться директора. «Да, мы такие!», - продолжал наглеть ][.

Финансы и прочие детали

В первую очередь нас интересовал потенциальный заработок – сколько правильный перец может положить себе в карман с помощью своего безупречного таланта и GetJar Ads? От 2 до 50 зеленых американских рублей за каждую тысячу кликов ($2 to $50 CPM – на языке маркетинга). Вполне ощутимые деньги. Смотрим дальше и слушаем звон монет.

Считаем деньги

Наиболее популярные программы расходятся десятками тысяч в неделю. Разнообразные Bluetooth Hack или Adult Video Downloader тоже уходят по 10-20 тысяч за семидневку. Пускай нашу программу за неделю скачает всего 2000 пользователей и каждый из них дважды кликнет на баннер. В самом худшем случае – получим $8. А теперь представь, что ты сделал шикарный эротический паззл, который скачает 10000 землян, и каждый из них пускай хотя бы 4 раза в месяц заинтересуется одним из баннеров – уже, как минимум, $800 на руки. В месяц! А в следующем месяце адептов программы прибавится, да и старые будут приносить по паре тысяч кликов в неделю…

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

Много думать о теме программы не придется – это или что-то с приставками эро/порно или какая-то гадость, которая отключает клавишу «пробел», взрывает аккумулятор и уводит девушку несчастного юзера. Еще можно реализовать скрытые возможности сервиса SMS (прямо на экран, мигающие, с форматированием и т.д.), замутить что-то с Bluetooth (этот протокол – просто кладезь для любителей устроить западло). Взгляни на рейтинг популярных программ – вслед за мастодонтами вроде Google Maps и Gmail идут программы от достаточно маленьких и неизвестных компаний. Ну и чем ты хуже? Как и всюду, тут главное – хорошая идея. Чем популярнее программа, тем больше денег она приносит создателю. Вот такая математика, а теперь – о самой технологии.

Вид изнутри

Девелопер получает в свое распоряжение специальный фирменный API для Java-программ. Он самостоятельно выбирает, когда, как и сколь долго будут показываться баннеры в его программе, определяет, куда их пристроить, размеры и тип – текстовый или графический. Можно заставить баннер несколько секунд зависать перед каждым запуском программы, можно научить постоянно вертеться в углу и привлекать пользователя к магическому клику. Важно правильно подобрать количество баннеров и ненавязчиво их рассредоточить, чтобы у пользователя не возникало рвотных рефлексов и желания удалить софт раз и навсегда. Сумма отчислений за каждый клик по баннеру зависит от размеров баннера, его местоположения, места жительства юзера и других параметров. Полноценный список причин и размеров отчислений появится после коммерческого анонса сервиса, то есть, в ближайшие месяцы.

О рекламных партнерах GetJar ничего не рассказывает – тоже страшный секрет. Говорят, что их много, все солидные и вообще, в рекламе недостачи не будет. Ее будут поставлять как партнерские сети, которые подключены к мобильному сервису, так и GetJar Ads. Как будет выбираться реклама, будет ли она оптимизироваться под конечного пользователя – самое интересное снова под замком. Нам расплывчато ответили, что «это непременно появится в ближайших версиях сервиса». Неопределенность раздражает, ну да что поделать, зато информация совсем свежая.

На самом деле, хотелось бы побыстрее увидеть эти новые версии. Подумай сам, юзер скачал программу Erotic Casino, а там крутится баннер про распродажу электродрелей. Кликнет он на него? Вряд ли. А если там будет баннер про Free Erotic Poker или про бесплатные фишки в онлайн-казино? Вероятность выше. Вот тебе материал для размышлений и игры в великого маркетолога-мыслителя. А теперь – за кодинг.

Кодинг

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

Закончилось тем, что пришлось самостоятельно декомпилировать и копаться в исходниках одной из программ, участвовавших в бета-тестировании сервиса. А что делать – нам (и вам) ведь интересно, как это работает.

Умные итальянцы из Medieval Software создали относительно простенькую программу с говорящим названием Bluetooth File Transfer OBEX FTP или попросту BlueFTP. Ее основное предназначение – прием и передача файлов между двумя Bluetooth-устройствами. Каким-то странным образом программа попала в список избранных для бета-тестирования рекламного сервиса GetJar и теперь представляет интерес в качестве идеального примера для подражания и подопытной лягушки.

Немного работы и – вуаля – перед нами код для генерации рекламы. Ничего интересного, никакого использования специальных функций, признаков внешнего API или любой другой магии – все реализовано стандартными средствами Java. Программа лезет в инет на специальный сайт за рекламным баннером. Если в инет не пускают – показывает штатный, в этом случае – логотип самого GetJar. После выхода в Сеть программой подгружаются новые баннеры. Если ты изобрел что-то не нуждающееся в интернете, то баннеры встраиваются прямо в тело программы, но во всемирную Сеть за новыми баннерами программу все равно отправлять придется. В случае с BlueFTP она ненавязчиво просится обновиться, а сама заодно и баннеры заливает:

Вот так забираются свежие баннеры

Strings;
HttpConnectionhttpconnection;
OutputStreamoutputstream;
InputStreaminputstream;
s="publisherID="+Integer.toString(b)+"&channelID="+Integer.toString(c)+"&userID="+(d==-1L?"":Long.toString(d))+"&version="+"1.1_xml"+"&userAgent="+c()+"&impressions="+(a==-1L?"":Long.toString(a)+"-1");
httpconnection=null;
outputstream=null;
inputstream=null;
httpconnection=(HttpConnection)Connector.open("http://ad.getjar.com/export/");
httpconnection.setRequestMethod("POST");
httpconnection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
httpconnection.setRequestProperty("Content-Length",Integer.toString(s.length()));
outputstream=httpconnection.openOutputStream();
outputstream.write(s.getBytes());
inputstream=httpconnection.openInputStream();
idid1=newid();
id1.a(inputstream,null);
a(id1);
if(f.size()>0)
{
if(kb1!=null)
{
ibib1=(ib)f.elementAt(g.nextInt()%f.size());
a=ib1.a();
kb1.a(e,ib1);
}
}else
{
thrownewException("NoADfound...");
}

Полагаю, все case, if и способы прорисовки изображения средствами Java показывать не надо? Здесь b и c – стандартные инкременты, a и d = -1, е – пустая строка, f - экземпляр Vector, g - случайное число.

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

А теперь представьте, что только с сайта GetJar программу BlueFTP скачали более 716000 раз, из которых 65211 – на прошлой неделе. Можно представить размеры отчислений за клики. Даже если по одному клику в неделю от каждого пользователя – в месяц набегает приятная сумма. Один из девелоперов Medieval по секрету рассказал, что этот рекламный сервис спас всю компанию от банкротства. Звучит очень мило, хотя в их случае – это всего пара человек и четыре программы в портфолио.

Инструкция

Ты уже переварил всю информацию и решился применить ее в деле? Принимай пошаговую инструкцию. Зарегистрируйся как девелопер (http://my.getjar.com/site/Developers) на сайте GetJar.com. Создай своей программе толковую страничку со скриншотами, подробным описанием и прочими красивостями, чтобы она привлекала пользователей и способствовала скачиванию софта. Отправь на advertise@getjar.com запрос на участие в GetJar Ads. Вот и все – можно смело дожидаться ответа и инструкций по встраиванию рекламы в твой гениальный софт. А дальше – дело техники. Если ты делаешь хороший интересный и качественный софт, который понравится пользователям, если ты не пожадничаешь и не надоешь им рекламой, то GetJar Ads будет приносить бабло. Иначе…тоже будет приносить бабло, только маленькое.

Кстати, на GetJar тусуются толпы желающих закачаться бесплатными программами, они непременно нагадят в комментах и объяснят, что в твоем софте плохого.
Совершенствуйся, не зря же ты столько мануалов по Java перечитал! Ну и обсудить тонкости и особенности мобильного ПО можно у них на форуме. Сами не пробовали, просто глянули – вроде толково. Если ты исправно читаешь ][, тебе явно по силам создать кусок софта, который будет востребован юзерами.

Слово напоследок

Мы решили обойтись без банальностей, сообщив в качестве заключения еще одну хорошую новость – из проверенных источников дошли сведения, что ближе к середине года GetJar планирует развернуть и другие способы получения спонсорской гуманитарной помощи. Стратегия будет примерно та же – девелопер размещает на GetJar свой софт, юзеры качают софт и генерируют звон монет девелоперу. Почему бы не начать выкладывать свои творения уже сейчас? ][ с тобой, дорогой друг :).

CD

На диске ты найдешь java-программу BlueFTP и декомпилятор JAD. Самые любопытные смогут лично покопаться в коде.

WWW

  • WWW.GETJAR.COM – начинать свой путь в деле мобильного кодинга можно отсюда.
  • WWW.MEDIEVAL.IT – в статье использована программа от этих ребят.
Содержание