Ionic 3 & Android 8: Оптимизация батареи блокирует уведомления для Android версии 8 и выше - PullRequest
0 голосов
/ 10 июня 2019

это была серьезная проблема.Я не знаю, как другие разработчики внедряют push-уведомления на китайские телефоны с Android версии 8 и выше.

Я использую cordova-fcm-plugin для реализации push-уведомлений на стороне клиента и FCM на стороне сервера для запуска уведомлений.Все работало нормально до Android версии 7. Для Android версии 8 и выше, в некоторых китайских телефонах, таких как One Plus, Oppo, Xiomi и т. Д., Они представили функцию под названием Battery Optimization.По умолчанию все установленные приложения оптимизированы для работы от батареи.

Из-за этого, если приложение удаляется с помощью пролистывания из панели приложений.Тогда приложение не будет получать никаких push-уведомлений.Но такие популярные приложения, как WhatsApp, Gmail, Skype и т. Д., Помечены белым цветом, поэтому они будут продолжать получать уведомления, даже если приложение будет убито.

Если я зайду на Настройки -> Аккумулятор -> Оптимизация батареи , выберите приложение и не оптимизируйте его, тогда уведомления будут приниматься, даже если приложение убито.Но я не могу просить пользователей сделать это.Я хочу программное решение для этого.

Пожалуйста, дайте мне знать, как я могу этого достичь?Примечание: я уже пробовал cordova-plugin-doze-Optimize, но без изменений.

1 Ответ

0 голосов
/ 10 июня 2019

Во-первых, вы не должны использовать этот плагин, он не обновлялся в течение двух лет, но Android-API давно обновился. cordova-plugin-firebase поддерживается более активно.

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

"android":{   
    "priority":"high"
  },
"apns":{
    "headers":{
      "apns-priority":"10"
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...