感谢@lawrencelry邀请我参加CocoaHeads的活动,有幸碰到iCHM和Buddyfeed的作者@RobinLu。我们三个人讨论了一下苹果的Push,内容总结于下文。

———————————–

技术:表情痛苦算站稳

首先,推送的本质是一个服务。所以如果不考虑手机厂商和运营商之间的利益争夺,由运营商实现Push最为理想。这个世界上最好的推送服务,由黑莓和运营商合作提供,不是偶然。

而苹果和Nokia等厂商则决心走另外一条路:绕过运营商。

一个“绕”字,表现出这种方案的尴尬之处。不过,技术的发展和移动网络的普及,让这个目标越来越现实。Push Notification的幕后一文,分析了苹果的Push方案。但那个解释并不完整。他只叙述了从苹果到用户这一段。@RobinLu作为开发者,为我们补完了Push拼图中的另外一块:从开发者到苹果

原来,除了苹果的Push Server以外,开发者必须自己维护另外一个Web Server,用来收集自己程序产生的推送,并且把他发给苹果的Push Server。

简要的说明如下图。点击放大

假设,BuddyFeed要支持Push的话。。。

一个BuddyFeed用户发送一个评论,首先在FriendFeed.com提交更新。之后,开发者维护的WebServer会从iPhone的BuddyFeed客户端(或者从FriendFeed.com),得到这个更新的通知。

开发者接收这个通知的服务器,上图中称作App Push Web Server。处理这个通知,变为苹果 Push Server可接受的标准形式,发送给苹果。苹果的Push Server再用Push Notification的幕后一文叙述的方式,把这个消息推送给用户。

———————————–

商业:腰身柔软易推倒

技术上还算完整?但是结合商业考量,就不是那么妙了。

这套方案需要开发者维护一个Web Server。这是个持续的开支。而看看App Store上Push程序的售价,绝大多数都是一次性付款。

IM+:$4.99,Boxcar:$2.99,GPush:$0.99!

考虑一下软件的销售额和他产生流量的关系吧。销售额升升降降都属正常,而Web Server所服务的用户,永远都是增长的!!!更多用户,等于更多流量,等于更多带宽,等于持续增长的昂贵的服务器租金。随着时间推移,当用户已经非常庞大的时候,软件的销售又趋于饱和,开发者会做出什么选择?

向已经购买该软件的用户再次收费,或者,干脆关掉他维护的Web Server!!!

苹果的Push的实现潦草的令人发指。新通知覆盖了旧的,你面对好几个程序上的红色数字,都不知道去哪里找。但是,这种设计上的问题更加致命。当销售下降到不能维持Web Server的月租金,那些廉价Push软件,以何为继?

———————————–

出路?

苹果Push Notification的出路至少有三条:

一是苹果提供为开发者提供App Push Server。

二是In App Purchases,按月收费。

三是Push广告。

目前,App Store中,已经有Push软件选择了方式二,比如Tweet Push。虽然,他更可能提供可靠而长久服务,但无论评价还是人气,都远远没有一次付费的Push软件好。

———————————–

甚至机会?个人SaaS?

ERP等企业级别的应用发展出一个概念:SaaS。Software as a Service(软件即服务)。不再销售软件,而是销售一套基于Web和软件的有弹性的解决方案,并提供支持。为此,收取月/年租。SaaS应用的这种收费方式,已经被企业广泛接受。

本文开头说过,Push即服务。iPhone上Push的实现,其实就是这种企业级概念向个人下放的结果。其实今天的个人用户中,也有大量在付费购买服务。传统网络上,有Flickr Pro的账户。移动网络上,日本大量的用户缴350日元/月得到MMS的同时享受Push Mail。黑莓BIS的用户也不少。

为iPhone用户提供高质量的Push服务,并且按月收费,也许会成为将来市场的常态。

但是苹果Push技术说明上的语焉不详,让普通用户不容易接受月租方式。Push实现的潦草,让Push本来应该体现的价值打了折扣。App Store中廉价风和价格战,更让坚持月租方式的开发者难以出头。

以上种种,都在损害这个机会。

智能手机和其上的应用市场是全新的,高速成长的领域。从iPhone到App Store,苹果难得的在设计创新的同时,实现也保持了非常高的水准。但是不得不说,Push的设计和实现,不配这个评价。

但是,相信无论苹果还是开发者,都在寻找更好的办法。苹果对Push的改进不会停止。而App Store的模式,最终应能让提供完善方案的,负责任的开发者,脱颖而出。

时间将检验一切。

再论iPhone Push Notification相关推荐

  1. push notification for iphone

    由于公司业务需求,以前一直做PHP开发,突然让我研究push notification ,一下子迷糊啦,不知所措,抓狂!但是在自己的努力下还是初有成效!现拿出来显摆一下! 1:push notific ...

  2. 当用户流失比较明显后, 如何提升活跃度? push notification 是一个有效的方式吗?...

    当用户流失比较明显后, 如何提升活跃度? push notification 是一个有效的方式吗? 添加评论 分享 按票数排序 10 个回答 赞同反对,不会显示你的姓名 Linda Jiang,友盟商 ...

  3. ×××送通知服务教程 Apple Push Notification Services Tutorial

    本文译自http://www.raywenderlich.com/.原文由iOS教程团队 Matthijs Hollemans 撰写,经原网站管理员授权本博翻译. 在iOS系统,考虑到手机电池电量,应 ...

  4. 推送技术 Push Notification

    为什么80%的码农都做不了架构师?>>>    1.BB,Nokia,Palm都先后支持了Push,目前流行的Push方式有三种. (1)短信触发:2G时代长时间的数据连接会影响电话 ...

  5. 怎样编写Apple Push Notification服务器

    http://www.iphone-geek.cn/%E7%BC%96%E7%A8%8B/%E6%80%8E%E6%A0%B7%E7%BC%96%E5%86%99apple-push-notifica ...

  6. iphone push消息的原理

    第一部分:Push原理 (以下绝大多数内容参考自.图片来自iPhone OS Reference Library) 机制简介 Push的工作机制可以简单的概括为下图 图中, Provider是指某个i ...

  7. iphone push是什么

    第一部分:Push原理 (以下绝大多数内容参考自.图片来自iPhone OS Reference Library) 机制简介 Push 的工作机制可以简单的概括为下图 图中, Provider是指某个 ...

  8. 如何在Ubuntu QML应用中使用Push Notification

    我们知道目前Ubuntu手机平台有些类似iPhone平台,是一个单任务的操作系统,虽然系统本身具有多任务的功能.如果当前的应用被推到后台的话,应用将会被自动挂起,而不会被系统所运行.在这个时候如果我们 ...

  9. APNS(Apple Push Notification services)

    苹果的推送服务APNs基本原理简单来说就是苹果利用自己专门的推送服务器(APNs)接收来自我们自己应用服务器的需要被推送的信息,然后推送到指定的iOS设备上,然后由设备通知到我们的应用程序,设备以通知 ...

最新文章

  1. tomcat accesslog日志扩展
  2. Linux-SAMBA服务器的配置
  3. Jmeter_前端RSA加密下的登陆模拟_引用js文件实现(转)
  4. mysql5.7命中率_MySQL5.7中 performance和sys schema中的监控参数解释(推荐)
  5. 每天一道LeetCode-----对序列进行排序,要求nums[0] nums[1] nums[2] nums[3] ....
  6. Xcode9 之 Xcode Server 持续集成
  7. Maven手工管理项目
  8. 线段树之单点更新,区域求和
  9. 多模态+Recorder︱多模态循环网络的图像文本互匹配
  10. github page+jekyll搭建个人博客总结
  11. Google的语音识别API,支持各种语言
  12. 搭建最简单的Drool框架
  13. Elasticsearch文档内部的父子关系
  14. 2021西湖论剑web部分wp
  15. ASP.NET MVC+Bootstrap 实现短信验证
  16. 普渡大学统计与计算机科学,普渡大学西拉法叶校区计算机科学与工程世界排名2017年最新排名第47(ARWU世界排名)...
  17. 计算机网络协议分析 第三课 PAP,CHAP,PPPoE
  18. excel中html批量转化为pdf文件,如何将大量的Excel转换成PDF?
  19. 那些你可能不知道的谷歌浏览器实用技巧
  20. 陈玉丹:初学者入门《网络推广》必学内容

热门文章

  1. bat 命令获取当前目录和子目录下的所有文件的文件名
  2. 【郝斌 C语言 笔记】自增
  3. 怎么教你如何查看电脑的蓝牙版本【解决方案】
  4. 关于no ‘read’ permission
  5. 信息安全体系建设☞流量可视化(2)sflow
  6. Python实战:导出聊天记录分析你和你的对象聊了什么
  7. 短视频平台达人为什么那么赚钱?
  8. realsense 相机的部分信息获取
  9. 视觉组考核——装甲板识别
  10. onedrive指定文件夹备份