Опишіть ваш проєкт
Наші спеціалісти звʼяжуться з вами найближчим часом
Надіславши запит, ви отримуєте:
  • Лист чи дзвінок від нашого менеджера
  • Оцінку свого проєкту
  • Особисту зустріч, за необхідності
  • Конфіденційність гарантовано!
maxim_kaschjev
Ваш менеджер
Максим Кащєєв
Із задоволенням відповімо на всі ваші запитання
Задати питання
Правила маркетингу

Чому не приходять push-повідомлення?

У кожної компанії, що займається розробкою сайтів і додатків, є свої списки улюблених клієнтів і проектів. Ми любимо своїх замовників, особливо тих, хто, крім готового продукту в кінці, хоче самостійно розібратися в технологіях і піднятися до рівня фахівця. У хід ідуть будь-які методи, але особливою популярністю користуються "тортури питаннями" (будь-який тестувальник відпочиває).

Ми збираємо їх, аналізуємо і знаходимо відповіді - результатами ж вирішили поділитися з вами.

Технічний портрет розроблюваного додатку

Ми займалися створенням мобільного додатку для магазину одягу, чия архітектура була побудована на базовій Activity (для відображення інформації використовуються фрагменти). Для завантаження даних із сервера використовувалася бібліотека Retrofit, а для їхнього зберігання - вбудована залежна база SQLite. Для виконання запитів на сервер і для вибірки з бази були обрані Loader'и.

Щоб додаток був інтерактивним і давав змогу обмінюватися повідомленнями, ми підключили push-повідомлення. В даному випадку використовуються ВК і Facebook SDK для реалізації авторизації/реєстрації через соціальні мережі та виглядає це так: коли користувач надсилає повідомлення, він надсилає запит з цим повідомленням на наш сервер. Він формує запит із повідомленням і даними про користувача, якому адресувалося повідомлення, і відправляє всю інформацію на сервер Google. Той формує з цього запиту push-повідомлення і відправляє на пристрій користувача. Наш додаток приймає цей пуш, парсить (обробляє) його і відображає в чаті - комунікація реалізована.

Виникла проблема: коли додаток починає працювати у фоновому режимі або чому push-сповіщення приходять тільки після запуску?

Із цим питанням звернувся до нас клієнт, оскільки досвідченим шляхом він зіткнувся з такою дилемою: під час запуску з другого пристрою додаток працює добре, але як тоді працює "автозавантаження"?

Розповідаємо. додаток починає працювати у фоновому режимі одразу після встановлення, а підписка на push-повідомлення здійснюється після пройденої реєстрації в додатку.

Якщо користувач не зареєструється в ньому, то в нього не працюватимуть пуш-повідомлення.

Існують й інші варіанти пояснення, на які слід звернути увагу:

  1. Пуші працюють через сервіс GCM (Google Cloud Messaging), тому якщо на пристрої відсутні Google Play Services, їхня робота нестабільна або виробник вніс свої доопрацювання в їхню роботу, то пуш-сповіщення не працюватимуть повністю або ж у їхній роботі спостерігатимуться перебої. У разі відсутності сервісів Google Play на телефоні, навіть зареєструватися на пуші не вийде. Звісно, можна це зробити і "примусово": якщо після реєстрації підписка на push-сповіщення на сервері не вдалася, то потрібно продовжити спроби під час кожного заходу в додаток до успішного результату. Причиною цієї ситуації можуть бути проблеми з роботою сервісів Google Play - у такому разі спроба підписатися може так нічим і закінчитися.
  2. Причина некоректного функціонування криється в неідеальному робочому середовищі. Ми рекомендуємо нашим клієнтам для тестування, і називаємо ідеальним середовищем, використання телефонів Google Nexus (на них стоїть "чистий" Android без жодних змін, а також робота ОС і сервісів на ньому ідеальна), стабільна робота сервера та інтернет-з'єднання. За таких умов запити видаватимуться правильно, без помилок і максимально швидко. У такому разі додаток буде швидко завантажувати нові дані, відображати їх, і не виникатимуть проблеми з неправильним відображенням інформації. В інших телефонах (зі зміненою операційною системою - китайські бренди, Samsung, HTC тощо) можна очікувати не тільки нестабільну роботу сервера, а й обмежені можливості розроблюваного додатка (через системне видалення багатьох методів-функцій) - так, push-повідомлення можуть бути взагалі не передбачені.
  3. Не забуваємо про головне - push-повідомлення надходять тільки в разі стабільного інтернет-з'єднання. Якщо цього немає, то повідомлення прийде щойно зв'язок буде відновлено.

Резюме

  • Ідеальне середовище (бездоганний інтернет, "чиста" платформа) на те й ідеальне, тому попереджайте клієнтів про всі можливі помилки та обмеження функціоналу додатку.
  • Не бійтеся запитань клієнтів - вони ретельно шукатимуть недоліки в роботі і знайдуть їх! Подякуйте і виправте баги оперативно.
  • Насамперед, створюйте додаток для користувачів, орієнтуйтеся на їхні технічні можливості та не створюйте непотрібних речей.
Поділіться своєю емоцією від статті
Давайте обговоримо Ваш проєкт
Ми з радістю зробимо безкоштовну оцінку вашого проєкту
Або просто завантажте файл з презентацією або описом
Моісєєв Артем
Business Development Manager
Моісєєв Артем