Monday, February 13, 2012

Android Push Notification推播機制(5)-Attenuation

撰寫時間︰2012/02/12 18:25
更新時間︰2012/02/14 12:13
文章更新次數︰2


一、前言
此篇為C2DM進階篇,
請先看完第1234篇後,
再來閱讀此篇。

第3篇裡我們提到,
為了防止使用者解除飛航模式後,
收到爆炸般的量的訊息通知,
因此在App Server發送訊息至C2DM時,
必須在HTTP POST裡附上collapse key。
這其實是一種保護機制,
這個機制就是Attenuation(電力衰減防護)

 二、文章開始

Attenuation機制的存在,有2個目的︰
1.保護手機不會一次收到爆炸量的訊息
2.希望使用者收到的訊息永遠是最新的
3.防止使用者的手機電力過度消耗

底下一起來看看Attenuation機制的運作方式︰

1.首先,手機和Connect Server是連線的狀況,一如以往,我們的App Server傳了一個訊息給C2DM
但這次特別的是︰這次的訊息發送之前,已經傳了數次的訊息給C2DM了

2.C2DM收到訊息,一樣將訊息儲存下來,並將訊息傳給Connect Server

3.因為之前已發送數次訊息給C2DM了,Attenuation機制在此時發生了作用

4.Attenuation機制將本來要從Connect Server傳給手機的訊息保留了一小段期間。

5.然後,再將訊息發出。

三、總結

經由Attenuation機制,
讓欲傳來的訊息得到延遲發送的功能。
在待機模式下的手機,
不用因為訊息傳來,
就要一直喚醒手機。
這麼做,
不旦是使用者希望的使用習慣,
也間接的減少電池的消耗功率。

四、備註



下一篇︰
Android Push Notification推播機制(6)-[狀況2]手機在待機下

相關文章︰
Android Push Notification推播機制(1)-簡介篇
Android Push Notification推播機制(2)-實務篇
Android Push Notification推播機制(3)-collapse key
Android Push Notification推播機制(4)-[狀況1]手機在飛航模式下
Android Push Notification推播機制(7)-[實例分享]以Chrome to Phone為例
Android Push Notification推播機制(8)-問答篇
官方技術公報 - Android Cloud To Device Messaging


No comments: