關於華為手機採用信鴿推送的效能驗證
最近採用華為Honour8測試開發的APP,測試人員一直反饋手機無法收到信鴿的推送訊息,於是對信鴿在華為手機上的效能做了一個驗證,為了保證嚴謹,從以下幾個方面做了驗證:
1.檢測華為手機推送設定2.測試信鴿推送通道3.雲端呼叫故障資訊推送介面4.信鴿SDK版本5.華為手機系統問題6.網路原因導致7.APP相容性問題測試情況具體描述如下:
1.檢測華為手機推送設定
經過檢測,華為手機推送設定均為開啟狀態,APP推送也未關閉。
所以首先可以排除是由於手機設定不正確導致。
2.測試信鴿推送通道
採用信鴿demo,使用與APP版本相同的SDK(V3.1)進行測試,測試次數為30次。
使用小米5手機和華為手機做對比性實驗,同時安裝相同版本的信鴿demo,同時對兩臺手機做推送測試,小米5手機接收成功次數為30次,成功率為100%,華為接收成功11次,成功率僅為33%,而且集中在某一段時間內始終收不到推送。
但在相隔一天後,採用同樣版本的信鴿SDK(V3.1)測試,同樣測試30次,成功率為100%.
所以排除信鴿推送通道的問題.
3.測試雲端呼叫故障資訊推送介面
使用小米手機和華為手機,安裝相同APP版本,採用不同賬號登入,並繫結同一臺裝置。
使用介面除錯工具呼叫雲端推送介面進行測試,測試次數為20次,小米手機收到故障提醒測試未20次,成功率100%,華為手機收到次數為0,成功率0%.
但在第二天,採用同樣的方法測試,測試次數為20次,收到提醒的概率為100%,信鴿後臺的推送資料也顯示推送送達情況為已送達。
所以排除雲端故障資訊推送介面的問題。
4.測試信鴿SDK版本
使用信鴿SDK版本為3.1時,推送30次,成功率為33%,但是將信鴿SDK切換到3.2版本後,華為手機接收成功率顯著提高,傳送30次,成功率為100%
但在相隔一天後,採用同樣版本的信鴿SDK(V3.1)測試,同樣測試30次,成功率為100%。
所以排除是由於版本差異引起的問題
5.測試是否為華為手機系統問題
通過測試信鴿demo,可以排除是華為系統問題,那麼唯一的不確定因素就是華為系統和網路因素。
經過對該款華為手機的調研,該款手機在開發上為了省電,當APP在後臺執行時,會將應用從執行池中清理掉,這種狀態下,應用將無法收到推送訊息。
6.測試APP相容性問題
通過排查原因2和原因3,APP相容性問題基本可以排除,手機端可以收到推送資料。
最終結論
通過本次的調研,排除是由於手機設定,信鴿推送通道,雲端推送介面,信鴿SDK版本等因素,且在手機端是可以收到推送訊息的,但是在某一個集中的時段,會收不到裝置訊息,最終將問題定位到網路狀況和手機系統問題。