关于苹果推送的一些限制,给产品同学参考

大家都知道苹果有很多限制,没有android灵活。所以很经常有些需求下来就发现android很容易就可以实现,ios却不可以。这里就简单的把我能想到的给产品朋友列列,方便大家更好的提需求。

远程推送:分为普通远程推送、后台远程推送、静默远程推送  顾名思义推送的触发都是服务端触发。

普通远程推送:我们最常见的那种推送,有横幅不管app在前台后台还是进程完全杀死都能收到,产品可以定推送文案和声音(默认是系统叮一声,也可以自定义)还可以控制应用图标右上角的数字。当然这些数据都是通过服务推给app的。收到推送时app在前台,可以实行代码(想要什么功能让研发写就好了),app在后台和进程杀死状态在收到通知的时候都不运行任何代码(简单来说啥也干不了都是系统自己控制,ios10及以上有个推送扩展下面介绍),只能用户点击这条通知唤醒app后才能运行对于代码实行对应功能。

普通远程推送+推送扩展:ios10以下的收到普通推送app在后台或进程杀死状态想要做点别的事情(不管是什么功能都是需要运行代码的),是不可以的。但是ios10及以上有一个推送扩展可以做一些简单的功能,如请求个接口更新个啥、播放个啥、下载个啥等都可以,但是有时间限制 30秒后应用又会进入休眠状态了。

后台远程推送:后台推送横幅、声音和角标至少要有一个(如果都没有的话就是后台推送的一种特殊情况静默推送)iOS7开始允许应用收到通知后直接在后台(background)状态下运行一段代码,而无需用户点击,可用于从服务器获取内容更新。使用场景:(多媒体)聊天,Email更新,基于通知的订阅内容提前同步等功能,提升了终端用户的体验。普通后台推送是可以带声音和角标的 ,这个在app进程完全杀死也是起作用的,就是不运行代码。

静默远程推送:静默推送是后台推送的一个子集,可以做到用户无感知的情况下进行后台内容更新,因为它没有横幅和声音、角标,但是在收到静默推送后可以运行一小段代码。但是它也有不足的地方,就是app进程杀死后就无法收到了。而且是ios7及以上才有静默推送

注意:后台推送,静默推送,推送扩展能够实行的代码都是比较有限的,不是用于CPU频繁工作或者长时间运行任务,而是用来处理长时间运行的网络请求队列。

本地推送:不需要服务器触发,app自行添加的推送,简单来说就是在app运行的时候把推送内容托管给系统,到达条件就催发推送,不管app在前台还是后台、进程杀死状态都可以收到推送。常用了定时提醒用户完成一些任务如:清理垃圾、记账、买衣服、看电影、玩游戏等

最后教大家一个绝招,找现有app看效果,人家如果实现了,就没有理由实现不了。而且技术可以通过破解别人的app、并反编译查看实现方案,加快实现。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,866评论 25 708
  • 写作原因:网上看了很多推送文章都没有完美的解答我的疑惑;主要有以下两点,1:推送来了我点击应用图标进入应用怎么取到...
    Thebloodelves阅读 4,544评论 26 71
  • 网上介绍iOS Push的文章有很多,但是大部分都总结得非常零散,加上之前也一直没好好总结过,对某些地方也不求甚解...
    纸简书生阅读 2,876评论 1 29
  • 最近一段时间工作量比较大, 抽不出时间来整理博客, 趁今天任务量较小的时候整理下关于环信推送的问题, 介绍. 集成...
    imGeek阅读 2,740评论 1 3
  • 顽童声高, 鸟鸣声急, 鞭炮声紧, 流水声脆, 黄昏夜晚, 我已词穷, 只愿美景入吾心, 吾当留一处, 慢慢品
    旗袍姐姐阅读 233评论 0 1