Уведомление в Google play

На написание данной статьи меня подтолкнула задача, которая была поставлена передо мной в одном из рабочих проектов: реализовать Push-уведомления в приложении. Казалось, все просто: штудируешь документацию, примеры и вперед. К тому же, опыт работы с уведомлениями уже был. Но не тут то было…

Сервис, в рамках которого реализовано приложение под Android, предъявляет довольно жесткие требования к работе Push-уведомлений. Необходимо в пределах 30-60 секунд оповестить пользователя о некотором действии. При успешном оповещении с устройства пользователя отправляется запрос на сервер с соответствующим статусом. Из документации известно, что сервис GCM (Google Cloud Messaging) не гарантирует доставку PUSH-уведомлений на устройства, поэтому в качестве backdoor варианта, при нарушении этих временных рамок, наш сервис уведомляет пользователя с помощью SMS сообщения. Поскольку стоимость SMS сообщения существенно выше чем PUSH-уведомления, необходимо максимально сократить поток SMS сообщений на клиентские устройства.

Как отключить или включить уведомления в Play Маркет

Проштудировав документацию и прикрутив пуш-уведомления, мы разослали нескольким клиентам первую сборку приложения для теста и стали ждать. Результаты были примерно следующими:

  • при активном Wifi соединении все работает идеально: уведомления доставляются, клиенты рады.
  • при активном мобильном интернете началось самое веселье.
  • включенный режим Энергосбережения (например, Stamina на устройствах Sony) влияет на работу Push уведомлений;
  • у пользователя обязательно должен быть минимум 1 активный Google аккаунт на устройстве;
  • необходимо удостовериться в том, что на устройстве установлена актуальная версия приложения “Сервисы Google Play”;
  • проверить, не отключены ли уведомления для приложения (галочка на страничке приложения в настройках телефона);
  • проверить, не ограничена ли работа фонового режима для приложения (настройка расположена в меню «Использование данных»);
  • в документации к GCM указано, что уведомления рассылаются только по определенным портам, поэтому настройки роутера, файервола и антивируса так же стоит учитывать.

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

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

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

Бывалый разработчик под Android сходу скажет, что решений задачи как минимум 2: использовать Service или AlarmManager. Мы попробовали оба варианта. Рассмотрим первый из них.

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

startForeground(int notificationID, Notification notification);

  • notificationId — некоторый уникальный идентификатор уведомления, который будет выведен в статус баре и в выезжающей шторке;
  • notification — само уведомление.

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

AlarmManager — это класс, который предоставляет работу с, грубо говоря, «будильником». Он позволяет указать время, по достижении которого система отправит широковещательное уведомление, которое позволит пробудить наше приложение и даст ему возможность выполнить необходимые действия. В работе этого метода есть некоторые ограничения, и их необходимо обработать:

  • данные о «будильниках» будут стерты после перезагрузки устройства;
  • данные о «будильниках» будут стерты после обновления приложения.

setRepeating()

который позволяет установить повторяющийся с некоторым интервалом «будильник». Прикрутив данный способ, стали тестировать, и тесты показали обратное — «будильник» не повторялся. Стали разбираться в чем дело, посмотрели документацию. И именно там нашли ответ на вопрос — начиная с 19 API lvl (Kitkat) абсолютно все «будильники» в системе стали разовыми.

Вывод — всегда читайте документацию.

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

private static void setUpAlarm(final Context context, final Intent intent, final int timeInterval) < final AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); final PendingIntent pi = PendingIntent.getBroadcast(context, timeInterval, intent, 0); am.cancel(pi); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) < final AlarmManager.AlarmClockInfo alarmClockInfo = new AlarmManager.AlarmClockInfo(System.currentTimeMillis() + timeInterval, pi); am.setAlarmClock(alarmClockInfo, pi); >else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) am.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + timeInterval, pi); else am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + timeInterval, pi); >

Хочу обратить внимание на флаг AlarmManager.RTC_WAKEUP — именно с помощью него система позволит нашему приложению «проснуться» при неактивном экране, когда устройство находится в заблокированном состоянии.

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

  • в сообщении, отправленном средствами GCM на устройство, содержится некоторый уникальный ID;
  • получив данные GET запросом в фоновом режиме проверяем, существуют ли уже запись с таким ID на устройстве;
  • если локально на устройстве таких данных нет, мы запоминаем этот ID и время его получения T1;
  • ждем PUSH с таким же ID, при получении запоминаем время T2 и проверяем разницу между T2 и T1;
  • если разница составляет больше некоторого временного критерия (значения), то на устройстве наблюдается проблема с доставкой уведомлений и для корректной работы сервиса необходимо постоянно запрашивать данные в фоновом режиме с сервера (критерий советую выбирать исходя из решаемой задачи. В нашем случае, был выбран критерий равный 5 минутам);
  • данную разницу стоит вычислять несколько раз, например 5-10 раз, только после этого делать вывод о том, что устройство действительно содержит проблему с получением Push уведомлений (таким образом исключается ситуация банального разрыва соединения, таймаута и пр.);
  • необходимо прогонять данный алгоритм периодически (например, раз в неделю, или после обновления ОС на устройстве).

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

P.S.S.
Предрекаю, в комментариях наверняка будут вопросы о расходе батарейки. Я провел несколько тестов, оставив личный телефон на ночь с включенным мобильным интернетом. Результаты были в районе 20-25% расхода заряда за 8-9 часов. Так же клиенты, которым мы отправляли тестовые сборки, не жаловались на проблемы с увеличением расхода заряда батареи.

  • Разработка мобильных приложений
  • Разработка под Android

Источник: habr.com

Эффективность и настройка push-уведомлений на Android

Как включить push уведомления на Андроид

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

Как выглядят push-уведомления на мобильных устройствах?

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

Большое преимущество push-сообщений для мобильных рассылок в том, что они выглядят как sms или сообщения из мессенджеров. Push-уведомления даже высвечиваются на заблокированном экране смартфона или планшета наравне с сообщениями от друзей в WhatsApp или Telegram. Максимальное проникновение в мир подписчика позволяет довести процент просмотров до 80%, что является невероятным показателем.

Как настроить на сайте push-уведомления для мобильных устройств

  1. Заказать индивидуальную разработку и интеграцию скрипта пуш-уведомлений. Необходим только для крупных порталов с большим количеством уникальных требований.
  2. Зарегистрироваться в пуш-сервисе и подключить его к сайту. Самый быстрый и доступный способ
  3. Зарегистрировать сайт в рекламной пуш-сети. Имеет свою специфику: такие сети подключают сайты, чтобы рекламировать через пуши товары и услуги своих клиентов. За это администраторы сайтов получают оплату. Если вы хотите продвигать только свои продукты, то такой способ не подойдет.

Лучший вариант для первого опыта использования технологии это пуш-сервис.

Как включить пуш-уведомления на мобильном телефоне

На смартфонах существует два вида push-уведомлений:

  • Notifications. Это уведомления от приложений и ОС телефона (низкий уровень заряда, скачанное обновление, новое SMS и т.д.). Включить или выключить их можно в соответствующем разделе меню смартфона или в определенном браузере.

настройка пуш уведомлений на смартфоне

  • Web-push. Это те самые уведомления, которые приходят с сайтов. Для них не нужно устанавливать дополнительных приложений.

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

Если Web- push не приходят после подписки, то вот инструкция как включить push-уведомления на Андроид:

  • Подключите телефон к активированному Google аккаунту.
  • Обновите версию Google P lay до самой последней.
  • Еще раз подпишитесь на нужные рассылки с телефона.
  • Выключите режим экономии энергии в телефоне.

почему не приходят пуш уведомления на андроид смартфоне

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

Подборка удобных сервисов для настройки push-рассылок

На основе отзывов в интернете и личного опыта создана следующая подборка сервисов:

  • Pushworld — сервис поможет рассказать об акциях, скидках, статусе заказа, забытой при оформлении корзине покупок. Основная специализация сервиса — это сложные триггерные уведомления и Rich-push.

сервис pushworld для пуш уведомлений на андроид

  • PushExpert – сервис предлагает быструю установку, расширенную аналитику, сегментацию базы и триггерные рассылки через API. При этом есть бесплатный тариф, включающий доступ к API и аналитике.
  • PushGuru – новая рекламная сеть, работающая по пуш-технологиям. Активно наращивает клиентскую базу, как со стороны вебмастеров, так и со стороны рекламодателей. Для заказчиков рекламы действует кешбек 7% от суммы пополнения счета.
  • Push4site – мощный пуш-сервис для сайта. Сотрудничает как с крупными клиентами (Kaspersky, Porsche, “Ростелеком”), так и со стартапами. Для интернет-магазинов будут полезны функции “Брошенная корзина”, сегментация подписчиков по странам и городам, отложенные welcome-сообщения. Для владельцев частных сайтов сервис стоит всего 490 руб. в месяц.

онлайн сервис push4site для настройки пуш уведомлений на смартфоне

Заключение

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

Если push-уведомления не работают на Андроид, то необходимо привязать к нему Google аккаунт, обновить Google Play и заново подписаться на интересные рассылки.

Источник: softolet.ru

Как решить проблему всплывающих уведомлений на Android 10

Android 10 наконец-то здесь, и есть несколько устройств, для которых была выпущена последняя версия ОС Android 10. Первым в списке по очевидным причинам являются устройства Google Pixel и, что интересно, все устройства Pixel, то есть от Pixel 1 до Pixel 3 (включая варианты XL) , получают обновления для Android 10.

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

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Согласно сообщениям на Pixel Forum, несколько пользователей сообщили, что есть некоторая проблема с всплывающим уведомлением на устройствах, работающих на Android 10. Проблема, о которой сообщается, в основном возникает, когда вы разговариваете по телефону, всплывающее уведомление просто не отображается. работай. Это очень раздражает в ситуациях, когда вам снова звонят, и вам нужно потянуть вниз панель уведомлений, чтобы увидеть, кто звонит вам, пока вы подключены к вызову. Однако в этом руководстве у нас есть несколько методов, которые решат эту проблему. Итак, без лишних слов, давайте сразу перейдем к самой статье;

Как решить проблему с всплывающими уведомлениями на Android 10

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

Метод 1. Включите всплывающие уведомления на Android 10

  1. Откройте меню настроек на вашем устройстве.
  2. Затем перейдите в Приложения и уведомления, а затем в Просмотреть все приложения .
  3. Нажмите на приложение, для которого вы не можете получать всплывающие уведомления из списка.
  4. Нажмите на приложение, а затем перейдите в Уведомления .
  5. Убедитесь, что в меню « Показать уведомления» включен всплывающий экран .
  6. Включите опцию всплывающего экрана, если она отключена.

Метод 2: измените настройки адаптивных уведомлений на Нет

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

  1. Перейдите в Настройки >> Приложения и уведомления >> Дополнительно >> Доступ к специальным приложениям .
  2. Затем нажмите Адаптивные уведомления .
  3. Здесь выберите вариант Нет

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

Метод 3: очистить кеш и данные хранилища приложения

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

  1. Перейдите в приложение «Настройки» >> Приложения и уведомления >> Просмотреть все приложения.
  2. Теперь найдите приложения, в которых вы столкнулись с проблемой всплывающих уведомлений.
  3. Затем нажмите на название приложения и нажмите « Хранилище и кеш» .
  4. Наконец, нажмите « Очистить кеш », чтобы очистить его кеш, а также нажмите « Очистить хранилище », чтобы сбросить приложение.

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

Итак, вот это с моей стороны в этом посте. Надеюсь, что вышеупомянутые методы смогли решить проблему всплывающих уведомлений на Android 10. Поскольку это ранняя версия Android 10, будут возникать некоторые проблемы и проблемы, которые со временем будут устранены с помощью обновлений. Сообщите нам в комментариях, помог ли этот пост вам в решении проблем или нет. До следующего поста… Ура!

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Источник: androidelf.com

Рейтинг
Загрузка ...