網(wǎng)絡(luò)是現(xiàn)代科技的核心成分,也是我們現(xiàn)代生活的核心組成,當(dāng)世界某一天斷網(wǎng)了就會(huì)造成溝通困難、無(wú)聊、心情煩躁等系列困擾,廣州網(wǎng)站建設(shè)公司的整個(gè)公司就是依靠于網(wǎng)絡(luò)實(shí)現(xiàn)和外界的對(duì)接溝通,一旦失去了網(wǎng)絡(luò)網(wǎng)站也就無(wú)法繼續(xù)訪問(wèn)、用戶(hù)流失、資源缺失等不利因素產(chǎn)生。
廣州網(wǎng)站建設(shè)公司曾有過(guò)公司斷網(wǎng)的經(jīng)歷,整個(gè)公司的網(wǎng)絡(luò)由于未能及時(shí)進(jìn)行續(xù)費(fèi),終而導(dǎo)致網(wǎng)絡(luò)無(wú)法訪問(wèn),那么這個(gè)時(shí)候整個(gè)公司處于上班狀態(tài),所以就會(huì)造成員工的輸出成為損失,按照一個(gè)員工一天150元工資計(jì)算,那么1個(gè)小時(shí)20元工資時(shí)斷網(wǎng)半小時(shí)也就損失10元/員工,假如公司有100個(gè)員工也就是虧損1000元。可想而知網(wǎng)絡(luò)故障是多么可怕的事情。
當(dāng)然這里是從公司方面而言,企業(yè)網(wǎng)站建設(shè)的過(guò)程中網(wǎng)站無(wú)法訪問(wèn)也是同樣的道理,網(wǎng)站無(wú)法正常訪問(wèn)時(shí)候就會(huì)影響到網(wǎng)站用戶(hù)體驗(yàn)度,甚至是直接讓用戶(hù)流失或者訂單丟失,這里從手機(jī)APP方面看一手機(jī)APP是如何實(shí)現(xiàn)網(wǎng)絡(luò)異常時(shí)候提醒的:
1. 不提示
網(wǎng)絡(luò)異常并不是網(wǎng)絡(luò)一旦發(fā)生異常就造成整個(gè)程序無(wú)法使用,這里所說(shuō)的不提示則是相對(duì)說(shuō)法,當(dāng)用戶(hù)執(zhí)行了請(qǐng)求數(shù)據(jù)的操作才告知用戶(hù)網(wǎng)絡(luò)發(fā)生故障。
支付寶就是一個(gè)典型的例子,即使斷網(wǎng)了,用戶(hù)基本也感知不到。只有用戶(hù)請(qǐng)求了新數(shù)據(jù),才會(huì)以 toast 通知用戶(hù)網(wǎng)絡(luò)異常。
不提示的原因是:用戶(hù)不是每次進(jìn)入到頁(yè)面都需要向服務(wù)端請(qǐng)求一次數(shù)據(jù),那么類(lèi)似的還有QQ音樂(lè)、咕咚、酷狗等終端,在斷網(wǎng)的情況下是不影響去聽(tīng)緩存或者下載好的資源的,這樣情況下沒(méi)有處罰請(qǐng)求數(shù)據(jù)的操作是沒(méi)有必要提醒用戶(hù)的。
當(dāng)然我們需要給緩存數(shù)據(jù)設(shè)置一個(gè)有效期,如果過(guò)了那個(gè)有效期,網(wǎng)絡(luò)還是沒(méi)有恢復(fù)正常,應(yīng)該及時(shí)提示用戶(hù)網(wǎng)絡(luò)故障。
2. 無(wú)緩存
當(dāng)然并不是每一個(gè)頁(yè)面都有緩存,對(duì)于沒(méi)有緩存數(shù)據(jù)的頁(yè)面,我們有兩種方案。一種是展示空頁(yè)面,另一種是展示骨架屏(Skeleton Screen)。
骨架屏顧名思義就是展示頁(yè)面的框架,當(dāng)數(shù)據(jù)請(qǐng)求完成時(shí)再渲染頁(yè)面。這種先占好位置再加載數(shù)據(jù)的模式也被稱(chēng)之為占位符,都是一個(gè)意思。
最后再說(shuō)空頁(yè)面,其實(shí)空頁(yè)面的展示方案也可以分為兩種:
提供「刷新頁(yè)面」按鈕
提供「解決方案」按鈕
兩種方案都有自己的道理,我個(gè)人更傾向于把兩種方案進(jìn)行融合。展示「刷新頁(yè)面」的按鈕,如果用戶(hù)點(diǎn)擊了還是沒(méi)有辦法請(qǐng)求到數(shù)據(jù),這時(shí)以 snackbar 的形式提供解決方案。其實(shí)解決方案都是引導(dǎo)用戶(hù)去系統(tǒng)設(shè)置里檢查/開(kāi)通網(wǎng)絡(luò)權(quán)限。
3. 持續(xù)性提示
有緩存數(shù)據(jù)的頁(yè)面,支付寶可以不提示用戶(hù),但是對(duì)于 QQ 和微信這類(lèi)即時(shí)通訊類(lèi)的應(yīng)用來(lái)說(shuō),給予用戶(hù)網(wǎng)絡(luò)故障的反饋是非常有必要的。因?yàn)槿绻唤o提示,我不知道對(duì)方突然不回我信息是我惹對(duì)方生氣了還是我網(wǎng)絡(luò)故障收不到。QQ 和微信這里統(tǒng)一采用的是通告欄,用戶(hù)點(diǎn)擊之后進(jìn)入一個(gè)展示網(wǎng)絡(luò)故障解決方案的頁(yè)面。這里可能會(huì)有人問(wèn),為什么不使用對(duì)話框,對(duì)話框也可以完成跳轉(zhuǎn)動(dòng)作啊。
我嘗試著來(lái)分析一下,如果使用對(duì)話框,那么對(duì)話框的觸發(fā)機(jī)制有兩種:
只要檢測(cè)出網(wǎng)絡(luò)不通暢,立即彈出對(duì)話框通知用戶(hù)
檢測(cè)出網(wǎng)絡(luò)不通暢,立即彈出對(duì)話框通知用戶(hù),不做二次提示
第一種觸發(fā)機(jī)制明顯不合理,因?yàn)橛脩?hù)使用微信并不一定非要網(wǎng)絡(luò)通暢,有的用戶(hù)就是想翻看一下聊天記錄。你這邊只要檢測(cè)出網(wǎng)絡(luò)故障就會(huì)彈出一個(gè)對(duì)話框,會(huì)對(duì)用戶(hù)造成很大的干擾。
第二種也不合理,如果用戶(hù)所處的網(wǎng)絡(luò)環(huán)境不穩(wěn)定,時(shí)斷時(shí)續(xù),那么一旦你第一次點(diǎn)擊關(guān)閉了彈出框,用戶(hù)就無(wú)法感知到后續(xù)網(wǎng)絡(luò)的異常。
所以微信用戶(hù)對(duì)于網(wǎng)絡(luò)故障提示的要求是在給予用戶(hù)持續(xù)性的提示前提下,還不能干擾用戶(hù)正常操作。好了好了,這個(gè)問(wèn)題我知道了,但是我不需要立即去處理。
可以滿(mǎn)足上面這個(gè)條件的控件有兩個(gè):snackbar 和通告欄,微信用的是通告欄,京東用的是 snackbar。以京東為例,用戶(hù)在使用京東過(guò)程中如果網(wǎng)絡(luò)突然發(fā)生故障,那么會(huì)從界面頂部彈出一個(gè) snackbar 來(lái)通知用戶(hù),用戶(hù)點(diǎn)擊之后會(huì)進(jìn)入一個(gè)頁(yè)面,展示一些解決方案。其實(shí)在上面我也提到過(guò),所謂的解決方案就是讓用戶(hù)去系統(tǒng)設(shè)置頁(yè)檢查/開(kāi)通網(wǎng)絡(luò)權(quán)限,我們可以像網(wǎng)易云音樂(lè)一樣直接提供一個(gè)跳轉(zhuǎn)鏈接,節(jié)省用戶(hù)操作步驟。
snackbar 和通告欄的區(qū)別在于 snackbar 的位置是固定的,只要你的網(wǎng)絡(luò)不暢通,那么它一直會(huì)出現(xiàn)在界面頂部。這是因?yàn)榫〇|對(duì)于網(wǎng)絡(luò)的訴求比微信要更強(qiáng),沒(méi)有網(wǎng)絡(luò)微信用戶(hù)還可以翻看聊天記錄,京東用戶(hù)沒(méi)有網(wǎng)絡(luò)還能干什么?沒(méi)有辦法瀏覽商品,更不用說(shuō)剁手了,京東比微信更需要用戶(hù)去解決網(wǎng)絡(luò)故障的問(wèn)題。
4. 網(wǎng)絡(luò)切換
除了斷網(wǎng)與弱網(wǎng)情況,另一個(gè)需要考慮的問(wèn)題是網(wǎng)絡(luò)切換。當(dāng)網(wǎng)絡(luò)從 4g 切換至 wifi,我們用 toast 來(lái)提示用戶(hù)沒(méi)有任何問(wèn)題,甚至不提示也沒(méi)事,不會(huì)對(duì)用戶(hù)產(chǎn)生太大的影響。但是反過(guò)來(lái)說(shuō),wifi 突然斷掉,切換至 4g 網(wǎng)絡(luò),我們還能如此淡定嗎?
當(dāng)我用 wifi 觀看視頻,突然 wifi 斷掉,會(huì)自動(dòng)切換至 4G 網(wǎng)絡(luò)。為了避免讓用戶(hù)在不知情的情況下耗費(fèi)大量的流量,我們應(yīng)該給用戶(hù)一個(gè)網(wǎng)絡(luò)變更的提示,用戶(hù)確認(rèn)之后才可以繼續(xù)觀看。提示的方式目前來(lái)說(shuō)主要界面內(nèi)嵌和對(duì)話框,嗶哩嗶哩和網(wǎng)易云音樂(lè)這里用的都是界面內(nèi)嵌。
有意思的是在網(wǎng)易云音樂(lè)中,如果你聽(tīng)歌過(guò)程中 wifi 突然斷掉,那么 4G 網(wǎng)絡(luò)會(huì)繼續(xù)緩存歌曲,而 QQ音樂(lè)是不會(huì)繼續(xù)緩存的。僅從這點(diǎn)上來(lái)說(shuō),我個(gè)人覺(jué)得騰訊做的更貼心。
從以上四個(gè)內(nèi)容中我們可以看到不同的軟件是可以采取不同的措施的,那么網(wǎng)站建設(shè)如果一旦發(fā)生網(wǎng)絡(luò)故障或者資源型的故障應(yīng)該如何提醒用戶(hù)呢?這里有以下四點(diǎn)建議:
1、引導(dǎo)用戶(hù)切換檢查網(wǎng)絡(luò)
一般情況下網(wǎng)站訪問(wèn)出現(xiàn)故障問(wèn)題時(shí)候第一需要解決的就是用戶(hù)自己的網(wǎng)絡(luò),當(dāng)用戶(hù)網(wǎng)絡(luò)發(fā)生問(wèn)題時(shí)候?yàn)g覽器方面是會(huì)提醒資源情況的。
2、引導(dǎo)用戶(hù)刷新重新訪問(wèn)
當(dāng)用戶(hù)能夠看到網(wǎng)站的提示頁(yè)面時(shí),應(yīng)該引導(dǎo)用戶(hù)重新訪問(wèn)資源,確保用戶(hù)不會(huì)因?yàn)橘Y源無(wú)法訪問(wèn)而終止訪問(wèn),引導(dǎo)能夠讓用戶(hù)認(rèn)為網(wǎng)站是可以訪問(wèn)的。
3、引導(dǎo)用戶(hù)重啟瀏覽器
有些時(shí)候網(wǎng)站沒(méi)有問(wèn)題、網(wǎng)站也沒(méi)有問(wèn)題,就是因?yàn)闉g覽器問(wèn)題而無(wú)法顯示問(wèn)題,這個(gè)時(shí)候并不能排除瀏覽器故障,所以這里也應(yīng)該解決下用戶(hù)終端問(wèn)題。
4、舒緩用戶(hù)情緒
一旦網(wǎng)站無(wú)法訪問(wèn)了,用戶(hù)情緒第一次將會(huì)是有點(diǎn)突然,第二次必然煩躁,第三次必然是很厭惡的,那么這個(gè)時(shí)候就需要我們對(duì)用戶(hù)的情緒進(jìn)行安撫了,具體的安撫方法就因人而異了。