zoukankan      html  css  js  c++  java
  • APP消息推送及疑问解答

    消息推送是每一个APP必不可少的一部分

    就baiwei而言:

    IOS的消息推送用的苹果的服务器 APNS
    Android 用的极光推送(JPush)
    它们都是免费的

    IPhone(APPLE)的工作机制可以简单的概括为下图:

    iPhone自3.0之后推出消息推送机制,原理是消息由服务器统一处理。

     

       图中,Provider是指某个iPhone软件的Push服务器,

    APNS 是Apple Push Notification Service(Apple Push服务器)的缩写,是苹果的服务器。

    上图可以分为三个阶段。

    第一阶段:Provider把要发送的消息、目的iPhone的标识打包,发给APNS。

    第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发到iPhone。

    第三阶段:iPhone把发来的消息传递给相应的应用程序, 并且按照设定弹出Push通知。

    从上图我们可以看到。

    1、首先是应用程序注册消息推送。

    2、 IOS跟APNS Server要deviceToken。应用程序接受deviceToken。

    3、应用程序将deviceToken发给PUSH服务端程序。

    4、 PUSH服务端程序把要发送的消息发给APNS服务。

    5、APNS服务将消息发送给iPhone应用程序。

    APNs和iPhone保持15分钟的心跳式长连接,维护手机和服务器的联系正常,否则手机会不停发起连接,直到连接到服务器为止。程序不必实时开启和主动检查更新,当收到APNs消息时,iPhone会弹出对话框Push消息并伴随着声音,用户可以选择“view”或者“close”。即使用户当前处在离线状态,用户收到消息之后激活程序,再通过程序链接应用服务器下载邮件或者录音。

    ------------------------------------------------------------------ -------------------------------------------------------------------------------------------------------

    Android消息推送存在已知问题:

    在APP被杀死的情况下,收不到后台的消息推送。

    推送成功了,为什么有部分客户端收不到推送?

    1.程序上:请在logcat查看日志,确定客户端的jpush是否集成成功,网络是否有问题
                 请看日志或使用接口 isPushStopped来检查是否调用了stoppush
                 检查手机的JPush高级设置中是否设置了“允许推送时间”
    2.设备上:手机的应用中是否勾选了“显示通知”

    3.由于第三方 ROM 的管理软件需要用户手动操作
    小米【MIUI】
    自启动管理:需要把应用加到【自启动管理】列表,否则杀进程或重新开机后进程无法开启
    通知栏设置:应用默认都是显示通知栏通知,如果关闭,则收到通知也不会提示
    网络助手:可以手动禁止已安装的第三方程序访问2G/3G和WIFI的网络和设置以后新安装程序是否允许访问2G/3G和WIFI的网络
    MIUI 7 神隐模式: 允许应用进行自定义配置模式,应用在后台保持联网可用,否则应用进入后台时,应用无法正常接收消息。【设置】下电量和性能中【神隐模式】
    华为【Emotion】
    自启动管理:需要把应用加到【自启动管理】列表,否则杀进程或重新开机后进程不会开启,只能手动开启应用
    后台应用保护:需要手动把应用加到此列表,否则设备进入睡眠后会自动杀掉应用进程,只有手动开启应用才能恢复运行
    通知管理:应用状态有三种:提示、允许、禁止。禁止应用则通知栏不会有任何提醒
    魅族【Flyme】
    自启动管理:需要把应用加到【自启动管理】列表,否则杀进程或重新开机后进程无法开启
    通知栏推送:关闭应用通知则收到消息不会有任何展示
    省电管理: 安全中心里设置省电模式,在【待机耗电管理】中允许应用待机时,保持允许,否则手机休眠或者应用闲置一段时间,无法正常接收消息。
    VIVO【Funtouch OS】
    内存一键清理:需要将应用加入【白名单】列表,否则系统自带的“一键加速”,会杀掉进程
    自启动管理:需要将应用加入“i管家”中的【自启动管理】列表,否则重启手机后进程不会自启。但强制手动杀进程,即使加了这个列表中,后续进程也无法自启动。
    OPPO【ColorOS】
    冻结应用管理:需要将应用加入纯净后台,否则锁屏状态下无法及时收到消息
    自启动管理:将应用加入【自启动管理】列表的同时,还需要到设置-应用程序-正在运行里锁定应用进程,否则杀进程或者开机后进程不会开启,只能手动开启应用
    三星
    内存一键优化:需要将应用加入【白名单】列表,否则系统内存优化后,会杀掉应用进程

    --------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------

    疑问解答:

    问题一:魅族手机收不到消息推送了

    再后来才发现,不是收不到了,而是放到了不重要通知里面了。

    怎么放到正常通知里面呢,因为我还有通知的震动和声音的测试,各种百度,各种调功能权限,还是不行。

    最后,终于得到一点信息,那就是魅族通知有记忆功能

    解决办法就是,多发几次通知,一定要点开,记住,一定要点开(当然,点击要有个动作才行,要不你还得左滑删除,这样是不行的),这样多测试几次。

    我大概测试了不到10次,然后就从不重要通知移除了,变成了有声音震动的正常通知了。

    问题二:Android APP切换到后台、或手机锁屏后自动清理后台应用以延长待机时间,导致APP不能收到消息推送

    平时我们后台的“一键清理”,总是一言不合就关闭全部APP,为了保障APP不为任何外部力量撼动,给它“加把锁”吧

    解决办法之一:

         点击左下角菜单键,进入多任务后台,选定需锁定APP,下滑,左上角出现上锁标记,此时一键清理,锁定APP不会被关闭!

     

     

     

     

    -----------------------------------------Have a good day!---------------------------------------------------------------------------------------------------
  • 相关阅读:
    Python 脚本退出
    数组对象从大到小:
    小程序中使用倒计时
    倒计时
    将数字转化为汉字
    turn.js中文API 写一个翻页效果的参数详细解释
    前端数据可视化echarts.js使用指南
    视频及MP3 播放浅析 Jplayer参数详细
    https://blog.csdn.net/cddcj/article/details/52193932
    让一些旧浏览器变牛逼的库 ========兼容性
  • 原文地址:https://www.cnblogs.com/ww-xiaowei/p/8473771.html
Copyright © 2011-2022 走看看