热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

极光、友盟推送SDK在应用被杀死后无法收到通知的问题

问题描述最近在集成极光SDK的过程中,发现在我的华为P9测试机上,应用被用户杀死后,无法收到Push通知,只有在应用还在后台的情况下,才能收到通知。这段时间用华为P9,觉的系统定制

问题描述

最近在集成极光SDK的过程中,发现在我的华为P9测试机上,应用被用户杀死后,无法收到Push通知,只有在应用还在后台的情况下,才能收到通知。

这段时间用华为P9,觉的系统定制做的很不错,运行流畅,与我的nexus5X原生Android7.0手机相比,简直一个在坐高铁,一个在拉马车。相比而言,nexus5X并没有对应用权限做太多的定制,这让应用可以肆无忌惮的自启动和相互启动,各种唤醒机制忙的不亦乐乎,这让开发和产品都很爽,各种需求都实现了,但是用户就不爽了,回想前段时间我还有想把nexus5X摔了的冲动。

官方解释

下面是极光官方对App被杀死后无法收到push通知的回复:

《极光、友盟推送SDK在应用被杀死后无法收到通知的问题》 极光杀死无法收到push的回复.png

再度分析

  • 由于android原生系统默认并没有禁掉App自启动和通知栏显示的相关权限,所以正常情况下(用户手动强制停止除外) 集成极光SDK后极光会通过各种广播机制来重启push服务,也就能收到push消息。
  • 反观国产定制化系统,小米、华为等,不可否认它们做的很不错,像App自启动这种权限默认开启,带来的问题就是应用常驻后台,不管怎么杀都杀不掉,App(BAT都TM流氓)之间总能通过自启动和App相互启动来唤醒,这就带来了一个问题,内存使用越来越大,用户感觉手机怎么越来越卡,可能就会产生和我一样想把手机摔了的冲动。
  • 这也就是为什么用三星的觉的手机越用越卡,现在用小米、华为(至少是我现在用的华为P9)的手机却一直都很流畅的原因。

推送SDK怎么解决这个问题

  • 在手机默认关闭应用自启动权限的情况下,App就不能自己唤醒,那该怎么收到push消息呢?不可能让用户自己开启App吧,这TM还叫什么通知。
  • 你多虑了,像极光/友盟这类App,在一个手机上所有即成这个Push SDK的App都会共享一个长链接,不然你也能想象会浪费多少资源。
  • 这样就能得出一个结论,如果你的App用的是极光SDK,那么只要你的手机上有一个使用极光Push SDK的App被用户启动了,那么,你的App就能收到通知消息。友盟也是一样。
    所以我们需要考虑的就是,哪个推送SDK的用户比较多,你就用这个平台的SDK,这样就能增加你的App收到Push消息的概率。当然,如果你的手机上一个App都没用过你使用的推送平台,那你就只能祈祷上天了。

推荐阅读
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 本文总结了几个常用的Android开发技巧,包括检测设备上是否安装特定应用、获取应用的版本名称、设置状态栏透明以及如何从一个应用跳转至另一个应用的方法。 ... [详细]
  • 深入理解Redis集群机制
    本文旨在深入探讨Redis集群的工作原理,包括其架构设计、数据分布策略、节点通信及故障恢复机制等方面的内容。 ... [详细]
  • React Native 开发者如何高效替换 Android 图标与布局资源
    针对未接触过 Android 开发的 React Native 开发者,本文提供了详细的指南,帮助他们了解如何轻松替换 Android 应用中的图标和布局资源,包括对 APK 结构的基本认识及多种替换方法。 ... [详细]
  • Windows 系统中 Flutter 与 IntelliJ IDEA 的环境配置指南
    本指南详细介绍了如何在 Windows 操作系统上设置 Flutter 开发环境,并集成至 IntelliJ IDEA 中,适合初学者及专业人士参考。 ... [详细]
  • Sass 是一种 CSS 的预处理器,通过使用变量、嵌套、继承等高级功能,使得 CSS 的编写更加灵活和高效。本文将介绍 Sass 的基本语法及其安装使用方法。 ... [详细]
  • 远程访问用户 Kindle通过电子书实现控制
    介绍自2007年以来,亚马逊已售出数千万台Kindle,令人印象深刻。但这也意味着数以千万计的人可能会因为这些Kindle中的软件漏洞而被黑客入侵。他 ... [详细]
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • 概述集成过程和第三方平台注册官网已经说的很详细了,具体请参考:快速集成|Mob文档中心http:wiki.mob.comsdk-share-android-3-0-0第三 ... [详细]
  • 本文详细解析了LeetCode第300题——最长递增子序列的解题方法,特别是如何使用动态规划来高效解决问题。文章不仅提供了详细的代码实现,还探讨了常见的错误理解和正确的解题思路。 ... [详细]
  • Qt应用开发:创建基本窗口
    本文介绍如何使用Qt框架创建基础窗口的两种方法。第一种方法直接在main函数中创建并显示窗口;第二种方法通过定义一个继承自QWidget的类来实现更复杂的功能。 ... [详细]
  • 本文探讨了Lua中元表和元方法的使用,通过具体的代码示例展示了如何利用这些特性来实现类似C语言中的运算符重载功能。 ... [详细]
  • 【Java数据结构和算法】008栈
    目录0、警醒自己一、栈的应用场景和介绍1、栈的应用场景一个实际的场景:我的思考:2、栈的介绍入栈演示图:出栈演示图 ... [详细]
  • 万事起于配置开发环境
    万事起于配置开发环境 ... [详细]
  • 本文探讨了如何利用数组来构建二叉树,并介绍了通过队列实现的二叉树层次遍历方法。通过具体的C++代码示例,详细说明了构建及打印二叉树的过程。 ... [详细]
author-avatar
豆豆马捷
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有