Pull to refresh

Первый опыт разработки iOS-приложения и размышления о маркетинге и рекламе

Reading time 6 min
Views 52K
… в общем создал я игру. А дело было так.

Несколько месяцев назад подошёл мой начальник и обрадовал, что с сегодняшнего дня, в дополнение к своим основным обязанностям, я должен буду делать iOS-приложения (не сильно сложные, но по работе необходимые), что Mac mini мне купили и что я самый опытный из всех по части продукции Apple (это правда, т.к. ваш скромный слуга уже четвёртый год ходит с 1-м iPad). Ну ладно.

Через две-три недели, когда был получен небольшой опыт в работе с Mac OS X, XCode и Objective-C, я понял, что было бы здорово создать своё приложение с нуля и познать процесс разработки от идеи до выкладывания в AppStore. Так я и сделал, принеся в жертву лень и свободное время по вечерам.

В качестве среды разработки (а дома у меня компьютера с MacOS X нет) была выбрана виртуальная машина VMWare с MacOS X Mountain Lion от ребят из iAtkos (на моём ноутбуке с Intel Core i7 машина работала весьма достойно). В качестве идеи была выбрана игра, которую я всё собирался сделать, да никак не доходили руки: простой плиточный пазл. Я рассудил, что для неопытного разработчика (это про меня) создать игровую механику будет не сложно (так и оказалось). Чтобы игра была уникальной, было решено использовать картинки, что рисует мой папа (да, он художник) в свободное от работы время для развлечения. А чтоб было совсем хорошо, было решено для некоторых пазлов показывать видео того, как они рисовались (такие ролики на YouTube многим нравятся и я не исключение).

Каркас игры был сделан быстро и началось создание дизайна, что далось, если честно, с трудом. За основу был взят мой старый набросок:

image

Магией Photoshop этот рисунок был превращён в такое:

image

Это не шедевр, но, как мне показалось, и не совсем кошмар, так что на этом варианте и остановились.

Когда игра была готова на 70%, то она была показана коллегам по работе, от которых были получены очень хорошие советы по графической части («ужасная иконка», «цвета надписей сменить» и т.д.). Кроме того, советовали быстрее выкладывать в AppStore, когда всё исправлю. Но я стал упрямиться, т.к. хотел приделать помощницу, которая бы при запуске программы рассказывала о том, что нужно знать пользователю. Так что релиз был отложен.

Музыка и звуки — очень важная часть программы-игры, поэтому решено было не скупиться и потратить денег. В итоге на сайте www.pond5.com было куплено медиафайлов на 2115 руб. Да, дороговато, поэтому музыку, которая сопровождает видео, было решено взять у хороших ребят из Destiny Records и OnAirStudio, про которых я случайно узнал от русского летсплейщика Артура (BlackSilverUFA), за что ему отдельная благодарность. Эти команды создают хорошую качественную музыку и позволяют использовать в своих проектах, при условии, что ты скажешь про них где-нибудь: внутри программы или в описании к YouTube-видео. Я поблагодарил их в разделе About.

В процессе работы над музыкой было решено купить для разнообразия лицензию разработчика Apple и проверить, как игра работает на физическом устройстве (мы к тому времени с коллегами купили iPhone 4 на четверых). Как выяснилось, плохо. Дело в том, что для сохранений я использую базу данных SQLite (с которой работаю, кстати, через https://github.com/ccgus/fmdb, что сильно упростило процесс разработки) и на физическом устройстве в эту базу ничего не писалось, хотя на эмуляторе всё было здорово. Помог сайт stackoverflow.com, на котом я узнал, что базу нужно копировать в директорию, доступную для записи. В итоге, в ViewDidLoad был добавлен код:

   NSArray *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
   NSString *cacheDir = [cachePath objectAtIndex:0];
   gameSavesDB = [cacheDir stringByAppendingPathComponent:@"gameSaves.db"];
   NSFileManager *fileManager = [NSFileManager defaultManager];
   if (![fileManager fileExistsAtPath:gameSavesDB]){
      NSString *databasePathFromApp = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"gameSaves.db"];
      NSError *error;
      [fileManager copyItemAtPath:databasePathFromApp toPath:gameSavesDB error:&error];
      if (error != nil){
         NSLog(@"[Database: Error]%@", error);
      }
   }

Больше в программе проблем не было и на физическом устройстве всё работало на удивление хорошо.

В качестве монетизации был выбран вариант с In App Purchase, т.к. реклама в мобильных приложениях мне не очень нравится. От том, как работать с In App, очень хорошо написал epazzz в статье «iPhone разработка: Интегрируем In-App Purchases». Но код и дополнительные сведения я всё же взял здесь (см. ответ пользователя Jojodmo): stackoverflow.com/questions/19556336/how-do-you-add-an-in-app-purchase-to-an-ios-application. Это сильно упростило и ускорило разработку. В итоге получилась такая логика: в игре доступно 15 бесплатных пазлов. Потом появляется окно с очень грустным котиком, который предлагает разблокировать всю игру. После этого деньги предполагается не просить никогда.
image

Теперь игра была полностью готова и наступила пора выкладывания в AppStore. Проверка длилась 10 дней. Видимо, потому, что review проходила как сама игра, так и In App Purchase. Один раз вернули со статусом Metadata Rejected и цензор написал, что он не понял, как у меня в программе In App найти. Видимо, в полях, помеченных как Notes, надо было не смайлики оставлять, а писать чёткую инструкцию человеку. Бывает. После того, как шаги были предоставлены, игра быстро появилась в магазине. И наступила последняя фаза…

Продвижение. Если честно, эта фаза длится до сих пор. Игра доступна уж полтора месяца, так что по поводу маркетинга был прочитан ряд статей, знания из которых пытаются применяться. Пока что получается не очень, нарабатывается опыт. Итак, что было сделано:
1. Были отправлены запросы на БЕСПЛАТНЫЙ обзор на сайты: appsafari.com, tuaw.com, appstoreapps.com, 148apps.com, mobilestartupz.com, iPhones.ru, appadvice.com, iPhones.ru, techmafia.net.
Итог: откликнулись только люди с techmafia.net (надо теперь для них статью на английском писать). От остальных пока ответа нет, но на большинстве англоязычных сайтов есть очень удобная форма для отправки запросов на обзор, так что, может, кому-нибудь пригодится.
2. Была сделана на 300 рублей реклама на Facebook. Это принесло стабильные 3 скачивания в день. С социальными сетями вообще в плане рекламы мобильного приложения эффективно работать не получилось. Но, наверное, дело во мне, т.к. я ими не пользуюсь и слабо представляю, как всё это работает.
3. Говорят, что можно сделать пост на pikabu и 9gag и это увеличит количество скачиваний. И есть даже положительный опыт. Но этими сайтами я не пользуюсь, на pikabu меня за дело обругали, так что я решил идею оставить на потом.
4. Что увеличило количество скачиваний вдвое, так это пятое обновление, которое принесло оптимизацию игры под экран iPad (раньше была лишь iPhone-версия).
5. С помощью сайтов sensortower.com, searchman.com и www.mobiledevhq.com была проведена работа над ключевыми словами. Также в iTunesConnect в поле Name помимо названия приложения были тоже вставлены ключевые слова (т.е. вместо, например, «От Севильи до Гренады» стало «От Севильи до Гренады – отличная головоломка для девушек» (эти названия не настоящие, а просто пример)).
6. Кроме того, по последним слухам, сильно влияет на скачиваемость приложения то, что страница в AppStore переведена на разные языки. Для меня это русский, английский и французский. Ничего про эффект сказать не могу, т.к. последний язык был добавлен совсем недавно и пока во Франции пользователей нет.
7. И конечно стандартное: наличие сайта со ссылкой на программу и промо-видео на YouTube. Сайт мы сделали вдвоём с коллегой по работе (у меня на работе очень много хороших людей), а видео было записано с помощью встроенных средств Mac OS X Yosemite, обработано на iPad в iMovie, а затем отправлено в Photoshop для накладывания фона. В итоге, получилось так:



И последнее на сегодняшний день, что было сделано — добавлена аналитика. Это было очень легко сделать с помощью сайта Parse.com. Легко, так как там очень продуманный интерфейс и пошаговая инструкция с указаниями, что конкретно надо делать. Так что аналитика добавилась за несколько минут и теперь я буду хотя бы знать, сколько пользователей дошли до диалога In App, а сколько не смогли решить даже первой головоломки.

В качестве завершения: стоимость разработки. Как видите, удалось уложиться в небольшую сумму:
— 2 000 рублей на iPhone 4;
— 100$ (по старому курсу) на лицензию разработчика;
— почти 2 115 рублей на звуки и музыку;
— 300 рублей на рекламу на Facebook;
— 340 рублей на тортик для коллег.

В Сети прочитал, что минимальная стоимость разработки iOS-приложения составляет 5000$. Видимо, когда высчитывалась эта сумма, учитывались какие-то ещё параметры, т.к. в моём случае явно вышло меньше. С другой стороны, у меня были очень хорошие условия разработки: по времени ограничения не было, недостатка в тестовых устройствах также не было, т.к. на работе есть весь ассортимент устр… В общем, не было проблем с устройствами. Тестирование проводилось сообща, вместе с коллегами, а перевод на английский, французский и немецкий делали две коллеги-переводчицы, за что им от меня огромная благодарность. А на украинский язык я перевёл сам (хотя пока в игре есть лишь русский и английский; остальные языки приделаю позже). Дизайн же создавался мною в Photoshop. Когда возникала необходимость в новых картинках (кнопки, котики, девушка-помощница), я объяснял всё моему художнику и он рисовал всё, что нужно. Потом, после бурного всплеска эмоций, картинки корректировались, дорисовывались и отдавались мне. И всё, естественно, бесплатно.

Заработка пока нет. Думаю, может, всё-таки дать людям выбор: либо купить In App, либо включить показ рекламы (несмотря на то, что в начале статьи я казал, что против неё). Буду рад доброму совету.

На этом прощаюсь. Кто прочитал – молодец, а кто устал – искренне прошу прощения. Пока-пока-пока.
Tags:
Hubs:
+12
Comments 44
Comments Comments 44

Articles