IOS4多任務、推送和通知 

有话要说?

【司徒嘉胤】原載

  中午下課的時候看到幾個軟件更新了,其中最讓我興奮的就是NewsRack了,盼了這麼久丫終於捨得更新了(NewsRack、Twitter 4 iPhone和beejiveIM是我每天必用的三個軟件)。新版本支持IOS4多任務,後台同步GoogleReader數據,終於盼到了!驗證了IOS4的多任務具有真正後臺的能力,不過基於省電考慮,將絕大部份軟件批准默認為偽多任務——假死,而真正需要後臺刷新的MOBILERSS或是NEWSRACK之類的APP,則是在後臺跑著同步的(使沒有必要後台更新操作的APP偽裝多任務假死是很高明的省電做法)。

關於IP4的多任務,個人表示已經很滿意了:Twitter沒有必要後台更新,因為有很多第三方的推送通知可用。而GR同步類閱讀軟件因為要同步大量數據,後台更新是必不可少的。Gtalk等IM軟件有第三方服務商提供多日掛號online服務以及通知假死就好了。比較難搞的是QQ。說實話有通知了以後IM軟件根本就沒有必要後台更新,但關後不顯示QQ在線狀態是比較難解決的,QQ是在線積分模式,如果給IP用戶特權會出事的。其實光就圍繞省電一個核心,蘋果都能想出來這麼棒的主意,等到我回頭去分析的時候才驚歎他們真是天才!還有另一個方面,也是基於省電考慮,而在一代時就推出的概念:

推送(Push)、通知(Notification)。我個人常把它們混為一談,實際上這二者是兩個不同的概念。

  • 對於推送,可以理解為手機上除了電話和短信以外,另一條基於互聯網的數據單向通道→只能從服務器把數據推送到手機(電話和短信是雙向的),這麼理解的話它只是一個門,開著並不費電,只有數據來的時候才耗電。推送是你定製的數據更新時服務器端引起手機端的下載(過程好比你在遠程機喚醒家裡的PC)只是數據的更新(包括文字、音頻、視頻等任何文件)。而不是手機定時向服務器請求數據,這樣既費電又費流量。比如來了新郵件,即時下載內容、附件到你手機上。但這都是後台操作的,就算下載了你也不知道,這時候就需要通知了。

  • 通知就是提醒,走的線路和推送差不多。還是郵件的例子,有新郵件到,服務器告訴手機,手機出現跳出窗口文字提醒,可伴有聲音或震動讓人知道。通知內容只能是文字,但可個別定製通知顯示內容,還以郵件為例:可定製顯示發件人、郵件標題、郵件內容摘要等。如果是IM軟件的話就是聊天內容了。我的理解:通知就是推送的可提醒版本,限制可推送內容為文字。本人只開啓通知,根據通知選擇是否去查看接收信息。

  目前有兩個系統具備推送功能:BlackBerry、IOS,剛剛在Twitter上求證了Android還沒有推送功能。最早開始使用推送業務的是BlackBerry,針對企業用戶的郵件即時推送服務,因為需要除運營商以外額外的企業服務器處理配額信息,所以服務費相當高昂。而把推送服務普極的則是iPhone,它提供給每一個iPhone用戶免費的推送業務。至於爲什麽要用推送呢?這種問題,起源是歐洲的電子郵件文化。作為企業用戶,時時刻刻守在電腦前檢查郵件是不現實的,而一個推送業務將重要的信件推送到手機上則很好地解決了這個問題,也體現出了推送服務的核心:即時。在iPhone上看來,推送服務還有另外一個重要的意義,就是之前一直提到的省電。智能機時代,開一個門給各種各樣的推送可比開著各種各樣的軟件等待數據接入來得省電得多。而善於運用通知也能比較好地人肉過濾一些不必要馬上看的郵件或者收取重要信息,提高效率。

  以Gmail為例,IP沒有開任何程序。gmail收到一封郵件→穀歌講信息以及關聯IP識別碼打包發送給蘋果服務器→蘋果服務器拆包辨別識別碼→連接手機(發出通知信息)喚醒下載資料→看到郵件。以上可以看到,IP的推送服務有多處拆包解析,攻擊或者竊取資料的難道應該不高,建議敏感資料或是商業機密不要用郵件推送。國內的話最好不要用推送了,就說QQ吧,也許你平常私人聊天是加密的,但一經推送,在服務器上就會留底。

  我只能再次感慨下,這些天殺的傢伙,怎麼想出這麼經典的電子啊!不愧是把細節做到極致的蘋果,我已經成果粉了果粉了粉了了。

Leave a Reply