Статьи

Общие точки входа для приложений Android

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

Многие приложения могут оказаться повышенными от «только что загруженного мной приложения» до «необходимого приложения на моем устройстве!» просто внеся некоторые изменения в способ доступа пользователей к приложению.

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

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

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

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

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

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

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

Функция «Поделиться» является хорошим примером этого умного дизайна. Приложение, которое создает контент, не нуждается в написании определенного кода, чтобы делиться этим контентом в Facebook, Twitter или Snapchat. Приложение просто сообщает операционной системе: «Эй, я хочу поделиться этим!» и операционная система проверяет, какие приложения могут обработать этот запрос.

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

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

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

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

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

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

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

Вы хотите, чтобы ваше приложение запускалось и использовалось вашим пользователем в максимально возможной степени. Обязательное приложение — успешное. Не беспокойтесь о том, чтобы запутать пользователя, предоставив слишком много точек входа. Благодаря тому, что операционная система Android спроектирована, ваше приложение будет просто доступно под рукой пользователя именно тогда, когда ему это нужно, и будет оставаться в фоновом режиме, когда оно не нужно.

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

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

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

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

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

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

Простой способ заставить пользователей «помнить» вернуться в свое приложение — это использовать уведомления. Система уведомлений Android позволяет пользователю получать расширенные уведомления. Пользователь может прочитать уведомление и, если склонен, запустить приложение.

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

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

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

Обратите внимание, что эти уведомления являются богатыми: они часто содержат информацию об отправителе и строке темы и даже первые несколько предложений сообщения. Они не просто говорят: «У вас есть новое письмо».

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

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

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

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

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

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

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

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

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

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

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

Например, медиа-приложение может указывать, что оно способно воспроизводить определенные музыкальные форматы, такие как mp3 или wav-файлы. Аналогично, приложение для обработки текста может быть способно просматривать или редактировать документы, такие как файлы doc и txt.

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

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

Как мы упоминали ранее, так работает функция «Поделиться» в Android. Допустим, вы создаете приложение для социальных сетей, позволяющее пользователям публиковать текстовые сообщения, фотографии, видеоклипы и звуковые файлы. Простейшая версия этого приложения может поддерживать сценарий запуска по умолчанию:

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

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

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

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

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

Вот пример. Графическое приложение может иметь функции, которые позволяют создавать удивительные произведения искусства. Если это приложение не предлагает возможность делиться творениями пользователя, его содержимое застревает в приложении.

Когда пользователям требуется какой-либо способ экспорта своих иллюстраций, разработчики, не очень знакомые с Android, могут испытать желание разработать свои собственные функции экспорта. Это редко необходимо. Используя неявные намерения для обмена контентом пользователя, графическому приложению не нужно знать, какие приложения могут обрабатывать запрос на совместное использование или установлены ли они на устройстве пользователя. Это ответственность операционной системы. Графическое приложение создает запрос «Эй, у меня есть этот растровый файл. Кто-нибудь может с этим что-то сделать?»

Допустим, у меня есть игра про зомби, в которую я люблю играть, и игра позволяет мне делать короткие видеоклипы. Поэтому я решил взять небольшой клип моего зомби-обезглавливания для своих друзей и попытаться поделиться им. В этой ситуации ваше приложение для социальных сетей может быть настроено в качестве добровольца, чтобы помочь пользователю, когда он решит поделиться контентом. Ваше приложение в основном говорит: «Эй, я могу поделиться видеоклипами, дайте это здесь!»

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

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

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

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

Используйте эти возможности для более тесной интеграции вашего приложения с операционной системой Android. Чем больше ваши пользователи используют ваше приложение в своих повседневных задачах, тем более ценным становится ваше приложение для них. Но по мере того, как приложения становятся все более социально осведомленными, а контент генерируется приложениями — будь то текст, изображения, аудио, видеоклипы или что у вас есть — многие разработчики приложений учатся находить интересные способы создания и обмена или использования этого контента со своими собственные приложения.