- Управление push-уведомлениями на андроид: как включить и отключить
- Как настроить Push уведомления на Android?
- Как изменить рингтон для оповещений
- Режим не беспокоить
- Варианты применения Push уведомлений
- Варианты отключения появляющихся сообщений
- Способ 1: В каждом приложении
- Экспресс отключение
- Способ 2: Приложение NCleaner
- Как отключить всплывающую рекламу и уведомления от сайтов на Android
- Как отключить всплывающую рекламу на Android
- Как отписаться от оповещений сайтов
- Push уведомления в Android. Грабли, костыли и велосипеды
Управление push-уведомлениями на андроид: как включить и отключить
В среднем, на смартфон активного пользователя интернет приходит более 500 уведомлений в день. Не все приложения отправляют важные оповещения, они просто пытаются привлечь внимание для более частого использования. Рассмотрим, как настроить Push уведомления на Android с помощью разных вариантов.
Как настроить Push уведомления на Android?
Разработчики проработали несколько вариантов корректирования, чтобы при необходимости отключить оповещения от назойливых программ или наоборот указать приоритетные приложения. Настройка пуш уведомлений в системе Андроид, осуществляется в системных параметрах. Вне зависимости от модели смартфона, в них можно войти с помощью шестерёнки в панели сверху.
Выбираем пункт «Приложения и уведомления». Название актуально для версии Android 9.0, на более ранних системах раздел может называться «Уведомления». В нём перечислены:
- Список недавно запущенных программ;
- Статистика времени использования приложений;
- Программы по умолчанию;
- Разрешения и специальный доступ.
Выбираем «Уведомления». Здесь настраивается стиль отображения сообщения на заблокированном экране телефоне, наличие значков сверху и использование сканера отпечатка пальцев для просмотра актуальных оповещений.
Как изменить рингтон для оповещений
Рассмотрим, как настроить мелодию пуш уведомления на андроид. Звук настраивает отдельно с помощью внутренних инструментов. При нажатии на пункт «Звук», откроется контекстное меню с выбором программы для подбора файла. Если на смартфоне не установлено файловых менеджеров, по умолчанию будет выбрано «Хранилище мультимедиа».
Рекомендуем ознакомиться с материалом «Как создать папку на Андроид телефонах и планшетах.» В нём приведён пример лучших файловых проводников на смартфон.
Все музыкальные файлы можно прослушать с помощью нажатия. В конце списка расположена кнопка, позволяющая добавить собственный рингтон.
Режим не беспокоить
Этот режим позволяет отключить назойливые пуш сообщения от программ на андроиде. Пользователь создаёт собственное расписание работы функции и задаёт исключения. Например, отключить всё, кроме будильника или наоборот оставить только музыку и мультимедиа.
В панели «Исключения» задаётся список контактов, которые могут отправить сообщение или позвонить даже во время включённого режима. Если некоторые важные контакты беспокоят слишком часто, можно запустить режим с интервальным вызовом. При нём, человек не может звонить чаще, чем один раз в 15 минут.
Для информации: Режим включается в панели инструментов в верхней шторке или же при полном убавлении звука. Для это нужно перевести телефон в виброрежим с помощью регулятора громкости и сделать ещё одно нажатие вниз.
Варианты применения Push уведомлений
Оповещения могут отличаться по направленности и внешнему виду. В пример возьмём приложение социальной сети Вконтакте. Продукт имеет огромный перечень различных оповещений:
- Входящие звонки;
- Ближайшие дни рождения;
- Заявки в друзья;
- Появление новых комментариев;
- Входящие сообщения;
- Выход интересных материалов.
Перечислен далеко не весь список направленностей. В зависимости от типа, человеку предлагается сделать быстрое действие с оповещением. При появлении нового сообщения, можно отправить ответ без необходимости заходить в приложение или принять приглашение в группу.
Чтобы отключить или настроить индикацию для определенного типа оповещений в программе. Выбираем приложение из списка недавно отправленных или открываем полный перечень за 7 дней.
Нажимаем на нужный продукт и видим список с разными типами действий и ползунками отключения. Для каждого варианта настраивается отдельный звук или действие при режиме «Не беспокоить».
Статья «Clean Master на Android» поможет узнать, как контролировать свободное пространство на телефоне и держать в чистоте операционную систему.
Варианты отключения появляющихся сообщений
Существует несколько способов отключить оповещения. Ранее в материале уже было упомянуто системное средство регулировки работы уведомлений. Теперь рассмотрим их более подробно.
Способ 1: В каждом приложении
Открываем панель «Уведомления» в настройках смартфона. Снизу расположен список с последними приложениями, приславшими сообщение. Чтобы отключить функцию, передвигаем ползунок справа.
Если в списке «недавних» нет нужного продукта, переходим к полному перечню. Его можно отсортировать по новизне или частоте появления оповещений.
Экспресс отключение
Есть другой, более быстрый вариант отключить уведомления. При появлении нового сообщения, открываем верхнюю шторку и зажимаем палец на оповещении. Делаем небольшой свайп в сторону, но момента, пока не появится иконка шестерёнки и часов.
Нажимаем на шестерёнку, область изменит внешний вид. Появится два пункта: «Отключить уведомления» и «Показывать». Выбираем первый.
Для информации: с помощью значка с часами, пользователь может заархивировать уведомление на некоторое время. После чего оно снова всплывёт, в виде напоминания.
Способ 2: Приложение NCleaner
Независимые компании разработали специальное программное обеспечение, которое автоматически очищает панель от «мусорных уведомлений». Найти такие программы можно Play Market. Вводим в поиске «HeadsOff» или «Notification Manager». Самый популярный вариант – это NCleaner. Скачиванием приложение и открываем его.
При запуске, приложение попросит дать доступ к панели и переведёт в специальный раздел, где необходимо активировать ползунок напротив надписи NCleaner. Теперь программа будет автоматически определять ненужные сообщения и скрывать их. При необходимости, в настройках можно изменить затрагиваемые программы.
Оповещения – это не только полезная функция, позволяющая ничего не пропустить, но и важный инструментов управления для разработчиков. Приложения постоянно присылают актуальные новости, завлекая пользователей, вне зависимости от важности и момента. Поэтому важно фильтровать поток информации, даже от важных постоянно используемых продуктов.
Источник
Как отключить всплывающую рекламу и уведомления от сайтов на Android
Рекламные баннеры, всплывающие поверх основного содержимого веб-сайтов, являются, пожалуй, главным врагом большинства пользователей. Еще бы, кому понравится, когда текст статьи, которую вы читаете, неожиданно перекрывается сомнительным объявлением, продвигающим услуги по привлечению и увеличению чего бы то ни было или кого бы то ни было. Но, к счастью, ваш Android-смартфон умеет с этим бороться. Главное – активировать нужные параметры.
Данная инструкция касается предустановленного на большинство смартфонов под управлением Android веб-браузера Chrome. Именно он содержит ряд надстроек, которые позволят вам навсегда забыть о надоедливой рекламе и перекрывающих контент баннерах.
Как отключить всплывающую рекламу на Android
- Чтобы отключить демонстрацию всплывающих объявлений, необходимо запустить браузер Chrome, после чего открыть меню с настройками нажатием на пиктограмму трех вертикальных точек в правом верхнем углу;
Как отписаться от оповещений сайтов
Еще одна рекомендация, которую желательно выполнить, — отключить всплывающие оповещения от сайтов.
- Для этого перейдите на сайт, оповещения от которого больше не желаете получать, затем откройте контекстное меню и перейдите в раздел информации нажатием на пиктограмму i;
Подпишись на наш канал в Яндекс.Дзен, чтобы не пропустить эксклюзивные материалы, которых нет на сайте.
Источник
Push уведомления в Android. Грабли, костыли и велосипеды
На написание данной статьи меня подтолкнула задача, которая была поставлена передо мной в одном из рабочих проектов: реализовать Push-уведомления в приложении. Казалось, все просто: штудируешь документацию, примеры и вперед. К тому же, опыт работы с уведомлениями уже был. Но не тут то было…
Сервис, в рамках которого реализовано приложение под Android, предъявляет довольно жесткие требования к работе Push-уведомлений. Необходимо в пределах 30-60 секунд оповестить пользователя о некотором действии. При успешном оповещении с устройства пользователя отправляется запрос на сервер с соответствующим статусом. Из документации известно, что сервис GCM (Google Cloud Messaging) не гарантирует доставку PUSH-уведомлений на устройства, поэтому в качестве backdoor варианта, при нарушении этих временных рамок, наш сервис уведомляет пользователя с помощью SMS сообщения. Поскольку стоимость SMS сообщения существенно выше чем PUSH-уведомления, необходимо максимально сократить поток SMS сообщений на клиентские устройства.
Проштудировав документацию и прикрутив пуш-уведомления, мы разослали нескольким клиентам первую сборку приложения для теста и стали ждать. Результаты были примерно следующими:
- при активном Wifi соединении все работает идеально: уведомления доставляются, клиенты рады.
- при активном мобильном интернете началось самое веселье.
Некоторые клиенты писали, что испытывают задержки в доставке пушей, либо получали одновременно и PUSH и SMS, что достаточно не практично. Другие писали, что вовсе не получали уведомлений, а только SMS. У третьих, как и у нас на тестовых устройствах, все было ок. Собрав с недовольных клиентов максимально возможную информацию, стали разбираться в проблеме и вывели следующий список ограничений (этот список позже вылился в полноценный FAQ):
- включенный режим Энергосбережения (например, Stamina на устройствах Sony) влияет на работу Push уведомлений;
- у пользователя обязательно должен быть минимум 1 активный Google аккаунт на устройстве;
- необходимо удостовериться в том, что на устройстве установлена актуальная версия приложения “Сервисы Google Play”;
- проверить, не отключены ли уведомления для приложения (галочка на страничке приложения в настройках телефона);
- проверить, не ограничена ли работа фонового режима для приложения (настройка расположена в меню «Использование данных»);
- в документации к GCM указано, что уведомления рассылаются только по определенным портам, поэтому настройки роутера, файервола и антивируса так же стоит учитывать.
Разослав данную памятку по всем клиентам, мы снова стали ждать результатов. И они оказались снова «не очень». Стали копать дальше.
На данном этапе очень сильно помогла статья, написанная ребятами из Mail.ru. В ней очень подробно описаны тонкости реализации GCM на клиентской стороне, а так же моменты, в связи с которыми отказываются работать Push уведомления в мобильных сетях. В конечном счете было принято решение о том, чтобы держать свое соединение с сервером в связке с GCM.
Перед тем, как приступить к решению, стоить выделить несколько очень важных моментов, которые позволяют сузить круг потенциально «нерабочих» устройств:
- проблема возникает только при подключении к мобильному интернету;
- по данным клиентов, проблема возникает на версии андроида 4 и выше.
И так, перейдем к реализации.
Бывалый разработчик под Android сходу скажет, что решений задачи как минимум 2: использовать Service или AlarmManager. Мы попробовали оба варианта. Рассмотрим первый из них.
Для того, чтобы создать неубиваемый системой сервис, который постоянно будет висеть в фоне и выполнять нашу задачу, мы использовали метод:
- notificationId — некоторый уникальный идентификатор уведомления, который будет выведен в статус баре и в выезжающей шторке;
- notification — само уведомление.
В данном случае обязательным условием является отображение уведомления в статус баре. Такой подход гарантирует то, что сервису будет дан больший приоритет (поскольку он взаимодействует с UI частью системы) в момент нехватки памяти на устройстве и система будет выгружать его одним из последних. Нам это уведомление не нужно, поэтому мы воспользовались следующим велосипедом: достаточно запустить одновременно с первым сервисом второй и для обоих сервисов в качестве notificationID использовать одно и тоже значение. Затем убить второй сервис. При этом уведомление пропадет из статус бара, но функциональные и приоритетные возможности первого сервиса останутся.
Реализовав данный подход, мы отправили сборку на тест. По результатам выяснилось, что система все-таки выгружает сервис, а по логам мы видели, как происходили существенные временные разрывы при запросе данных в фоне с нашего сервера. Поэтому приступили к реализации второго варианта — AlarmManager.
AlarmManager — это класс, который предоставляет работу с, грубо говоря, «будильником». Он позволяет указать время, по достижении которого система отправит широковещательное уведомление, которое позволит пробудить наше приложение и даст ему возможность выполнить необходимые действия. В работе этого метода есть некоторые ограничения, и их необходимо обработать:
- данные о «будильниках» будут стерты после перезагрузки устройства;
- данные о «будильниках» будут стерты после обновления приложения.
Первыми граблями, на которые мы наступили, был метод
который позволяет установить повторяющийся с некоторым интервалом «будильник». Прикрутив данный способ, стали тестировать, и тесты показали обратное — «будильник» не повторялся. Стали разбираться в чем дело, посмотрели документацию. И именно там нашли ответ на вопрос — начиная с 19 API lvl (Kitkat) абсолютно все «будильники» в системе стали разовыми. Вывод — всегда читайте документацию.
Эти грабли не были поводом для расстройства, ведь решение задачи довольно простое — запускать единоразовый «будильник» и после срабатывания переустанавливать его. При реализации этого подхода мы наткнулись на следующие грабли — оказалось, что для разных уровней API необходимо по разному устанавливать будильники, при этом в документации ничего сказано не было. Но данная проблема решилась достаточно просто — методом «тыка» и «гугления». Ниже представлен пример кода, позволяющий правильно устанавливать «будильники»:
Хочу обратить внимание на флаг AlarmManager.RTC_WAKEUP — именно с помощью него система позволит нашему приложению «проснуться» при неактивном экране, когда устройство находится в заблокированном состоянии.
Данный подход с «будильникам» дал нам нужный результат — приложение в фоне корректно опрашивает сервер на наличие новых данных. Сейчас мы дорабатываем алгоритм. На данный момент реализуем и тестируем следующую оптимизацию, которая позволит сузить круг устройств и тем самым уменьшить нагрузку на сервер:
- в сообщении, отправленном средствами GCM на устройство, содержится некоторый уникальный ID;
- получив данные GET запросом в фоновом режиме проверяем, существуют ли уже запись с таким ID на устройстве;
- если локально на устройстве таких данных нет, мы запоминаем этот ID и время его получения T1;
- ждем PUSH с таким же ID, при получении запоминаем время T2 и проверяем разницу между T2 и T1;
- если разница составляет больше некоторого временного критерия (значения), то на устройстве наблюдается проблема с доставкой уведомлений и для корректной работы сервиса необходимо постоянно запрашивать данные в фоновом режиме с сервера (критерий советую выбирать исходя из решаемой задачи. В нашем случае, был выбран критерий равный 5 минутам);
- данную разницу стоит вычислять несколько раз, например 5-10 раз, только после этого делать вывод о том, что устройство действительно содержит проблему с получением Push уведомлений (таким образом исключается ситуация банального разрыва соединения, таймаута и пр.);
- необходимо прогонять данный алгоритм периодически (например, раз в неделю, или после обновления ОС на устройстве).
Всем добра. И поменьше подобных костылей.
Источник