Сообщество - Android Developers
Добавить пост

Android Developers

58 постов 1 739 подписчиков
7

Разработчики приложений для Android и Apple, вопрос:

Поскажите пожалуйста, с чего начать. Я много лет занимаюсь web, своя студия, делаю дизайн полиграфии и любой сложности сайты.
Хочу внедрить разработку приложений, уже есть заказ (старый клиент хочет приложение для Apple). Буду признателен за советы.
Начал с Android studio, но застрял. Так же стал изучать Kotlin, но нужен совет, чтобы потом приложение было и по Андроид и под Яблоко.

8

Создание игры, или то, как мы получили итоговый онлайн в 5 человек...

Привет вам!
Статья будет не особо длинной, так, как это больше как крик о помощи.

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

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

Что по особенностям игры:
* Абсолютно полная динамика мира! - видишь участок земли? можешь там все застроить под свой лад!
* Отсутствие доната влияющего на игровой процесс! - В игре нету приобретения "Супер" способностей или оружия, мы за политику невмешательства!
*  Интересное пве с боссами и адекватными наградами! - в многих играх, постоянных гринд награждается буквально ничем. У нас же, если ты пошел на охоту, ты получаешь желанное.
* Сражения пвп. - Опять же, возьмем типичные пвп сражения, где все на уровне вызвал противника - подрался. Пвп в Nostalgic имеет хардкорную составляющую, и правила такие, что их нету! Хочешь выжить в бою, используй любые методы!
* Система крафтов! - Это самая интересная составляющая в игре! Как выше упоминалось об охоте, здесь все так-же только более масштабно! Никаких таймеров, никаких "бустов" к ускорению, - есть ресурсы, создавай что пожелаешь и лети на встречу приключениям!


В остальном я приложу скриншоты с игры, если есть желающие опробовать нашу игру, я оставлю ссылочку.
https://vk.com/nostalgiconline

P.s
Давайте сломаем клишированные рпг игры вместе!

Создание игры, или то, как мы получили итоговый онлайн в 5 человек... Android разработка, RPG, Инди игра, Длиннопост
Создание игры, или то, как мы получили итоговый онлайн в 5 человек... Android разработка, RPG, Инди игра, Длиннопост
Создание игры, или то, как мы получили итоговый онлайн в 5 человек... Android разработка, RPG, Инди игра, Длиннопост
Создание игры, или то, как мы получили итоговый онлайн в 5 человек... Android разработка, RPG, Инди игра, Длиннопост
Создание игры, или то, как мы получили итоговый онлайн в 5 человек... Android разработка, RPG, Инди игра, Длиннопост
Показать полностью 5
934

Сколько можно заработать на мобильном Android приложении? Пример

Привет, Пикабу!

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


В самом начале своего пути я практически ничего не знал о монетизации мобильных приложений, да и сейчас мои знания оставляют желать лучшего, работаю над этим. Сегодня хочу рассказать вам о своем Android-приложении "Игра Шпион" (не уверен, что можно прикреплять ссылку на Google Play, но при желании без труда можно найти). Приложение является адаптацией настольной игры "Spyfall", о которой, наверное, многие из вас слышали.


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


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


Вот так выглядит последняя версия приложения (обновление опубликовано недавно).

Сколько можно заработать на мобильном Android приложении? Пример Приложение на Android, Android, Монетизация, Длиннопост

Ну конечно, после публикации, хотелось получить много положительных отзывов и скачиваний. Но как этого добиться? Ну учился же я в университете, довольно неплохо, поэтому в обмен на свою курсовую работу договорился с одногруппниками, чтоб они скачали приложение, оставили коммент и поставить 5 звезд. Родственники тоже были в деле. Таким образом, в течение пары недель после публикации у приложения было 40 скачиваний, 40 отзывов с пятью звездами.

Дальше произошло то, на что я совершенно не рассчитывал, через месяц у приложения было уже 100 пользователей, через три месяца 1000.

Прикреплю статистику по активных пользователям (гугл почему-то не дает выбрать дату публикации началом периода, поэтому вот статистика с 25.07.2019 по сегодняшний день)

Сколько можно заработать на мобильном Android приложении? Пример Приложение на Android, Android, Монетизация, Длиннопост

(Кстати, очевидно, что резкий прирост происходит в праздничные новогодние дни)


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

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

Уж не знаю, совпадение это или нет, но после публикации обновления пошел резкий рост аудитории.

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

Почему-то Google AdMob не дал пройти мне регистрацию. На мои письма с вопросами "почему так?" мне не отвечали.  Ну и ладно. Решил монетизировать через Яндекс РСЯ.

Тип рекламы - Interstitial, показывается при клике на какую-либо из кнопок на главном экране, ходу игры никак не мешает.

Никакие CPMV не настраивал (пока до конца с этим не разобрался).



Теперь хочу поделиться тем, что было мне очень интересно в начале своего пути, но информации об этом в интернете практически не было. Какой доход может приносить реклама разработчику?

Итого, при суточной аудитории, в среднем за неделю (3000 - 6000 человек).


Доход за сутки с даты публикации версии с рекламой

Сколько можно заработать на мобильном Android приложении? Пример Приложение на Android, Android, Монетизация, Длиннопост

Показы рекламы за сутки

Сколько можно заработать на мобильном Android приложении? Пример Приложение на Android, Android, Монетизация, Длиннопост

CPMV (доход с 1000 просмотров) за сутки (на зеленую кривую не образайте внимание). До сих пор не понимаю, от чего конкретно зависит CPMV, уж очень большой разброс.

Сколько можно заработать на мобильном Android приложении? Пример Приложение на Android, Android, Монетизация, Длиннопост

Аудитория распределена следующим образом

Сколько можно заработать на мобильном Android приложении? Пример Приложение на Android, Android, Монетизация, Длиннопост

В общем, если подытожить. Приложение с количеством активных пользователей 100к-120к, с суточной аудиторией в среднем 3000-6000 человек, спокойно может приносить 6000-8000 рублей в месяц. В периоды новогодних праздников и то больше.


Кстати, CPMV в странах восточной Европы в раз десять меньше, чем в США или западной Европе. Из чего можно сделать вывод: если решите монетизировать свое приложение, обязательно переводите его на английский язык, а лучше сделайте его вообще дефолтным. 

Если бы я изначально ориентировался на западную аудиторию, до доход был бы минимум в 4 раза больше.


Получилось, как по мне, суховато. Но желание было лишь поделиться данными.

Спасибо за внимание.

Показать полностью 6
6

Как уменьшить количество разрешений приложения?

Написал приложение (в app inventor) которые не требует разрешений, выложил в Гугле и вижу что в разделе разрешения указаны "возможные" разрешения. Мало того, при очередном обновлении ( просто дополнил инфу), в разрешениях добавился ещё один  - считывание содержимого sd карты. Люди и так с опаской качают ( приложение платное), а тут ещё такие непонятки.

Как уменьшить количество разрешений приложения? Google Play, Mit App Inventor, Длиннопост

В описании самого приложения разрешений нет (хотя можно включить хранилище)

Как уменьшить количество разрешений приложения? Google Play, Mit App Inventor, Длиннопост

В Гугл консоли не нашел, в справке тоже. Может подскажет кто нибудь? Хотелось бы что бы в описании было написано, что приложение не требует разрешений, совсем

Показать полностью 2
8

Ответ на пост «Сколько можно заработать на мобильном Android приложении? Пример» 

В оригинальном посте автор рассказал о монетизации через рекламу.

У меня лично отрицательное отношение к рекламе.  Можно ли заработать без нее ?

Все суммы на скриншотах до вычета доли площадки (умножайте на 0.7)

Купите автору программа чашку кофе.

https://github.com/402d/TextToPrint

Простенькое приложение с открытым кодом

Ответ на пост «Сколько можно заработать на мобильном Android приложении? Пример» Приложение на Android, Android, Монетизация, Ответ на пост, Длиннопост

Установки приложения

Ответ на пост «Сколько можно заработать на мобильном Android приложении? Пример» Приложение на Android, Android, Монетизация, Ответ на пост, Длиннопост

Доход

Ответ на пост «Сколько можно заработать на мобильном Android приложении? Пример» Приложение на Android, Android, Монетизация, Ответ на пост, Длиннопост

Донаты делают приблизительно  1% пользователей.

Второй вариант. Пара приложение Бесплатное-Платное


Установки бесплатного приложения

Ответ на пост «Сколько можно заработать на мобильном Android приложении? Пример» Приложение на Android, Android, Монетизация, Ответ на пост, Длиннопост

Установки платного

Ответ на пост «Сколько можно заработать на мобильном Android приложении? Пример» Приложение на Android, Android, Монетизация, Ответ на пост, Длиннопост

Доход

Ответ на пост «Сколько можно заработать на мобильном Android приложении? Пример» Приложение на Android, Android, Монетизация, Ответ на пост, Длиннопост

Пользователи могут в течении 48 часов самостоятельно вернуть деньги за покупки.

Возвраты

Ответ на пост «Сколько можно заработать на мобильном Android приложении? Пример» Приложение на Android, Android, Монетизация, Ответ на пост, Длиннопост
Показать полностью 7
475

Навигатор для прокладки интересных пешеходных маршрутов

Уже довольно долгое время я разрабатываю Sight Safari - навигатор, который строит не самые короткие (как Гугл или Яндекс), а самые интересные пешеходные маршруты.


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


Но как узнать, где искать эти достопримечательности? Туристических путеводителей может под рукой не оказаться, да и не для всех городов и районов они есть. Часто они затрагивают только центр города, и вряд ли так уж много путеводителей охватывает спальники, типа условного Купчино. Однако даже там часто есть на что поглядеть по дороге.

Навигатор для прокладки интересных пешеходных маршрутов Приложение на Android, Навигация, Туризм, Android разработка, Длиннопост

Мой навигатор решает эту проблему. Строит маршруты, которые длиннее процентов на 20, чем кратчайшие, зато в разы интереснее.


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


Алгоритм поиска путей


Сперва пара слов о базовой идее. Алгоритм работы у сервиса такой:

1. Парсим Open Street Map

2. Выдираем оттуда объекты, представляющие потенциальный интерес у туристов, используя теги для фильтрации. Например, здания с тегом historic или tourism, объекты с тегом park или garden и т.п.

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

4. Берем популярную библиотечку для поиска путей GraphHopper

5. В областях видимости меняем веса ребер навигационного графа, чтобы маршрутам было выгодно заходить в эти области, а не вести напрямик.


Более подробное описание алгоритма можно найти на Хабре.


После того, как базовая веб-версия была готова, встал вопрос о создании мобильного приложения. Заниматься им, честно говоря, не очень хотелось - опыта в Android у меня не так много. Поначалу я пытался отделаться экспортом построенных маршрутов в KML файл - такие файлы умеют открывать многие популярные приложения с картами. Однако потом все-таки начал пилить свое.


Osmdroid - тормоза и фризы


Сперва встал вопрос выбора картографического движка. Поскольку данные я беру из Open Street Map, логично использовать и их же карты.


По запросу "OSM Android SDK" первым делом выдает библиотечку osmdroid, которая обещает быть полной заменой стандартного гуглового MapView. Поначалу все было хорошо, встроить по туториалам его удалось достаточно быстро.


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


Поскольку для нашего приложения отображение маркеров очень важно - пришлось искать альтернативу.


Mapbox


Вторым вариантом стал SDK MapBox. У них там есть куча платных фич, однако само использование MapView в своем приложении бесплатно (платно - всякие API типа роутинга, но он у нас свой собственный).


Пришлось немного подхачить отображение маршрутов. Так как их карта ожидает объект в том формате, который возвращает их API, а мы его не используем. Пришлось поковырять структуру их JSON, опытным путем выкинуть все лишнее и завернуть наш собственный маршрут в эту структуру.


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

Навигатор для прокладки интересных пешеходных маршрутов Приложение на Android, Навигация, Туризм, Android разработка, Длиннопост

Немного про UI


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


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

Навигатор для прокладки интересных пешеходных маршрутов Приложение на Android, Навигация, Туризм, Android разработка, Длиннопост

И да, кроме прямых маршрутов  (между несколькими точками) есть еще и круговые - с возвратом в стартовую точку за указанное время. Такие маршруты хорошо подходят, если не хочется уходить далеко от какого-то места (отеля, вокзала или просто места встречи с друзьями), есть пара свободных часов и хочется немного погулять.


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

Пример кругового маршрута по двум паркам на час с небольшим вокруг станции метро "Парк Победы" в Питере:

Навигатор для прокладки интересных пешеходных маршрутов Приложение на Android, Навигация, Туризм, Android разработка, Длиннопост

В Android есть типичная проблема - Activity классы быстро превращаются в этакий God-object, с тысячами строк кода и кучей логики вперемешку с отображением. Бороться с этим призваны всякие хитрые варианты архитектуры. В своем приложении я использовал MVP с помощью библиотечки Moxy. Вкратце - приложение делится на Model (данные), View (отображение, собственно Activity) и Presenter (логика, вынесенная в отдельный класс и работающая с View через интерфейс). На самом деле довольно очевидная вещь, из тех что ты сперва начинаешь сам изобретать, а потом узнаешь что оказывается у нее уже есть какое-то умное название.


Про Moxy есть хорошая статья на Хабре. Главный профит этой библиотечки - что она берет на себя заботу о сохранении состояния приложения и обработку всяких смен ориентации и прочих причин пересоздания Activity. Presenter по сути заполняет очередь команд (на основе бизнес-логики нарисовать то-то там-то, отобразить такой-то поп-ап), которая при необходимости проигрывается заново если Activity была пересоздана.


Заключение


Приложение мы пилили без малого год и все еще продолжаем его допиливать. Работает оно бесплатно и без рекламы, взять можно тут: https://play.google.com/store/apps/details?id=city.sightsafari.android


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


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


Работает пока в 100+ городах России и мира. Оставить заявки на добавление новых городов можно тут в комментариях или в нашей группе ВК.

Навигатор для прокладки интересных пешеходных маршрутов Приложение на Android, Навигация, Туризм, Android разработка, Длиннопост
Показать полностью 5
32

Тесты ПУЭ на Xamarin

Не так давно я опубликовал пару постов о приложениях для подготовки к тестированию по электробезопасности. Это простые одностраничные приложения в которых крутятся вопросы по электробезопасности. На странице показывается вопрос и несколько вариантов ответа. Пользователь жмёт в выбранный им вариант. Правильный ответ показывается сразу после выбора варианта ответа. Приложение написано на Xamarin, поэтому среди прочих тегов присутствовали Xamarin и CSharp. Но, как справедливо заметили в комментариях, о Xamarin не было ничего. Исправляюсь.

Ссылки на посты:

Запилил тесты ПУЭ

Выкатил вопросы на 5 группу электробезопасности

Решение на XamarinForms содержит несколько проектов. Главный проект и проекты для каждой выбранной на этапе создания решения платформы.

Здесь была выбрана только одна платформа, поэтому решения два.

Тесты ПУЭ на Xamarin Xamarin, Csharp, Программирование, Приложение на Android, Разработка, Длиннопост

Каждый вопрос с вариантами ответов хранится в классе QuestCase.

Переменная errors - счётчик до выхода вопроса из списка чаще показываемых вопросов. Когда происходит неправильный ответ, errors становится 5. С каждым правильным ответом errors уменьшается на 1. Когда errors становится 0, вопрос исключается из списка чаще показываемых.

Тесты ПУЭ на Xamarin Xamarin, Csharp, Программирование, Приложение на Android, Разработка, Длиннопост

Интерфейс IFileWorker нужен для работы с файлом вопросов/ответов.

Этот интерфейс описан в главном проекте

Тесты ПУЭ на Xamarin Xamarin, Csharp, Программирование, Приложение на Android, Разработка, Длиннопост

а реализован в проекте для Android в классе FileWorker.

Также этот класс содержит вспомогательный метод GetFilePath, который определяет путь к указанному файлу.

Тесты ПУЭ на Xamarin Xamarin, Csharp, Программирование, Приложение на Android, Разработка, Длиннопост

Текст каждого ответа размещается в MyLabel наследованном от Label.

MyLabel знает какой ответ в нем - верный или неверный - свойство isAnswer,

MyLabel запоминает клик по нему - свойство isClicked.

Я использовал BindableProperty для реализации этих свойств.

Тесты ПУЭ на Xamarin Xamarin, Csharp, Программирование, Приложение на Android, Разработка, Длиннопост

Это первая часть поста. Планирую ещё как минимум две.

Показать полностью 5
207

Нужна программа на смартфон с привязкой геометок к контактам

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

Нужна программа на смартфон с привязкой геометок к контактам Помогите найти, Приложение, Android

Когда эти клиенты звонят, самое частое слышу: ну вы же у нас были, у нас красные ворота/синяя крыша/зелёный гараж. Когда в одном поселке или деревне десяток клиентов, тяжело вспомнить, где там железный гараж или красный забор. Навигатор в большинстве деревень улиц и домов не видит, ставить метки на карте неудобно.
Вопрос: может, существует программа на андроид, чтобы можно было привязать геометку к контакту в телефонной книге? Чтобы при первом визите указать метку и в следующий раз не искать по памяти?

Показать полностью 1
418

Google сделали Kotlin языком первого класса для Android

В четверг на ежегодной конференции Google I/O разработчики сообщили о том, что созданный российскими программистами язык Kotlin станет «языком первого класса» для написания приложений для Android. Как пишет TechCrunch, в Google также рассказали об организации совместно с создателями языка — компанией JetBrains — специального фонда для развития Kotlin.


В Google подчеркнули, что Kotlin будет дополнительным языком и ни в коем случае не заменит Java и C++ (на сегодняшний день языком первого класса для Android является именно Java). Планируется, что инструменты Kotlin, основанные на JetBrains IDE, будут по стандарту включены в Android Studio 3.0 — официальный инструмент разработки для ОС Android.


«Поскольку Kotlin полностью поддерживается Java, вы и раньше могли писать приложения на нем, однако теперь это будет поддержано авторитетом и репутацией Google», — отмечают журналисты.


http://m.cnews.ru/news/top/2017-05-18_google_perevodit_andro...

450

Первое приложение или яСделалЬ

Первое приложение или яСделалЬ Android, Android разработка, Score Keeper Lite, Подсчет, Приложение, Не реклама

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

Приложение не преследует и не будет преследовать АБСОЛЮТНО никаких коммерческих целей. Цель данного приложения - сделать что-то конечное, цельное, наполненное каким-либо смыслом... Вот что получилось:

Первое приложение или яСделалЬ Android, Android разработка, Score Keeper Lite, Подсчет, Приложение, Не реклама

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

Приложение сделал я от первой буквы до последнего пикселя в дизайне, поэтому тег моё присутствует...


P.S. приложение абсолютно не коммерческое - никакой рекламы или оплаты нет и не будет - обещаю. Единственное, в качестве тренировки на будущее я разместил один рекламный блок в информации об Разработчике (куда, в общем-то, никто никогда не заглядывает), который можно посмотреть только самостоятельно кликнув на "Play" - никак по другому реклама никогда не выскочит:)


P.S.S. Если кому-то будет интересно - ссылку отдам в комментариях, ну или найдите в Маркете ScoreKeeper Lite вот с такой иконкой:

Первое приложение или яСделалЬ Android, Android разработка, Score Keeper Lite, Подсчет, Приложение, Не реклама

Всем Спасибо за внимание, не судите строго :)

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