APP網(wǎng)絡請求超時反饋設計與思考

最近我負責了一個網(wǎng)絡請求超時的反饋設計,借此機會我也順便通過此文記錄了一下整個思考過程,整理一下自己的思路。

當我們在使用APP的時候,偶爾會碰到網(wǎng)絡狀態(tài)不好的情況。那么對于網(wǎng)絡狀態(tài)不好的情況有哪些分類呢?和開發(fā)大致的討論了一下主要有下面幾種:

1、用戶所處環(huán)境網(wǎng)絡信號不好(用戶向服務器請求超時)

2、服務器沒有正常接收請求或沒有回復

3、手機停機

4、手機沒開wifi或則流量等

這幾種狀態(tài),在沒有網(wǎng)絡時,對于開發(fā)而言可能在處理相關情況的時候,判定條件會有所不同,但對于用戶而言,其實也就是一種情況——沒網(wǎng)。

如果恰好用戶正在買東西,都要下單了,結果網(wǎng)絡中斷了一會會。這時候一個良好的反饋設計將發(fā)揮良好的作用。比如像沒怎么考慮這方面設計的APP,可能直接反饋一個空白頁,用戶只能退回到上一步,如圖:

但是如果一個設計良好的APP將已下面的方式展示:


對比一下,下面一種設計可以讓用戶在當前頁面進行重試刷新,避免了用戶重復操作之前的步驟

而且如果再加上一個好的設計,可以起到彩蛋的作用,就像挺多APP在設計下拉刷新時的彩蛋,給用戶帶來一些驚喜。想象一下用戶本可能因為網(wǎng)絡的問題十分郁悶,彈出來一個俏皮的頁面是能夠緩解用戶的不滿的情緒。

所以思考了以上,我設計了如下這個界面(產(chǎn)品是關于汽車后市場的):


通過一句詼諧的話,不僅貼合我們產(chǎn)品本身(關于車的),又能比較好的描述了網(wǎng)絡不好這個情況。

之后在與開發(fā)PK的時候,我提到一點能否讓所有的網(wǎng)絡連接失敗的情況都跳轉這個頁面,得到的答復是這樣做容易造成多次請求,導致生成過多的請求超時頁面,引起APP崩潰。更好的解決方式是將每一個需要請求服務器獲取數(shù)據(jù)的界面都進行修改,單獨顯示。為了保證開發(fā)的進度,我暫時放棄了一部分的分支頁面的修改,僅讓開發(fā)先改主要流程的頁面。

當然做到這一步其實還是思考的比較簡單的,上面那種設計只是更加適合于要跳轉其他頁面的情況,還有一種是當前頁面請求服務器,比如下面這種情況:


如果點擊保存,網(wǎng)絡請求超時,這時候彈出另一個頁面就遮擋住了之前的信息,對于用戶是一個不好的體驗,這種情況下更適合采用上圖返還一個toast提示,然后用戶可以很快捷高效的進行再一次的保存操作。

當然這些僅僅是針對于我們這個電商產(chǎn)品,不同的產(chǎn)品,面對的也是不同的情況。

比如對于新聞類的、咨詢類的,這類APP一般都會有緩存,比如緩存好一個列表頁,下一次進入APP即使沒有網(wǎng)絡,也不會碰到什么內(nèi)容都沒有的情況而是加載之前緩存的列表。以及之前閱讀的文章也會緩存下來,下次再閱讀不需要再次請求服務器。再舉一個例子就是我們大家都很熟悉的微信朋友圈,沒有網(wǎng)絡的情況下也是可以查看之前加載過的內(nèi)容。如果特意去查看一下微信占用的空間,你會發(fā)現(xiàn)緩存占了很大的一塊,這里面就包括朋友圈內(nèi)曾經(jīng)加載過的內(nèi)容以及圖片等。這類產(chǎn)品在出現(xiàn)網(wǎng)絡請求超時的情況就不需要跳轉另一個頁面,多此一舉還影響用戶體驗。而且說白了像跳轉另一個頁面這種處理方式是一種簡單粗暴的方法。這里可以順便引用一句話叫l(wèi)ess is more,做的越少動靜越小,對用戶的體驗影響越小越好。這樣對于用戶也是一種心理暗示——這都不是事,不要慌。所以最好的做法是能讓用戶在出現(xiàn)異常情況下可以很輕易的再次重試,使得用戶能夠淡化對于異常情況的敏感以及反應過激。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,324評論 25 708
  • API定義規(guī)范 本規(guī)范設計基于如下使用場景: 請求頻率不是非常高:如果產(chǎn)品的使用周期內(nèi)請求頻率非常高,建議使用雙通...
    有涯逐無涯閱讀 2,944評論 0 6
  • iOS網(wǎng)絡架構討論梳理整理中。。。 其實如果沒有APIManager這一層是沒法使用delegate的,畢竟多個單...
    yhtang閱讀 5,494評論 1 23
  • 同樣是使用Java語言,為什么做MobileAPI的開發(fā)人員寫不了Android程序,反之亦然。我想大概是各行有各...
    lookid閱讀 941評論 1 2
  • 我們的夢想不大,卻很難實現(xiàn),面對人潮,只能拼命的去爭取,那些別人輕而易舉就能夠得到的東西,我們卻需要花費幾倍甚至幾...
    清風伏筆閱讀 729評論 0 10

友情鏈接更多精彩內(nèi)容