3界面
3.1 發(fā)紅包頁面
在單人聊天窗口進入的普通(定向)紅包的頁面只需要輸入紅包金額和祝福語尘分,點擊【塞錢進紅包】,如果已經(jīng)綁定銀行卡,則調(diào)起對話框浮層【輸入密碼】恒水;如果未綁定銀行卡則跳轉(zhuǎn)到零錢支付頁面,點擊按鈕【使用零錢支付】即可饲齐,無需輸入密碼钉凌,在這個過程中,如果零錢不足捂人,則會跳轉(zhuǎn)到輸入銀行卡號的頁面御雕,點擊【下一步】之后需要接著輸入姓名、銀行預(yù)留手機號和短信驗證碼滥搭,填寫完成后即可用銀行卡支付酸纲。
這里不得不提的是一個非常人性化的設(shè)計,當點擊“改完普通紅包”瑟匆,從群手氣紅包切換到普通紅包的過程中闽坡,已經(jīng)輸入的內(nèi)容不會丟失,紅包個數(shù)不變愁溜,此時的單個金額EditView(安卓UI控件)中的值會由 總金額/紅包個數(shù) 得出并自動填充疾嗅;當點擊“改為群手氣紅包”,從普通紅包切換到群手氣紅包的過程中冕象,已經(jīng)輸入的內(nèi)容不會丟失代承,紅包個數(shù)不變,此時的總金額EditView中的值會由 單個金額*紅包個數(shù) 計算出并自動填充交惯,次泽,不用用戶重新輸入,非常貼心席爽。這也是微信“將用戶體驗做到極致”的地方之一意荤。
3.2 紅包『搶』頁面
聊天窗口會顯示出紅包樣式的聊天消息,點擊紅包后會出現(xiàn)拆的頁面只锻。
3.3 紅包『拆』頁面
點擊按鈕【拆】之后玖像,那坨黃色的東西會轉(zhuǎn)(用幾幀圖片切換形成的動畫,在IOS上比Android上運行起來更加流暢),那坨東西轉(zhuǎn)完之后頁面會跳轉(zhuǎn)到【紅包結(jié)果頁面】捐寥。值得一提的是安卓最新版本中將Html版本的紅包換成了安卓原生紅包界面笤昨,為什么這么做呢?
一是微信慣用的犧牲客戶端資源(CPU握恳、內(nèi)存瞒窒、儲存卡容量)去換取服務(wù)器端的穩(wěn)定和減少資源投入的策略,頁面資源放在本地乡洼,這樣子web前端服務(wù)器容量就可以減少投入崇裁,同時也可以減少客戶端對資源服務(wù)器的訪問量。類似的束昵,微信的聊天記錄是默認不存儲在服務(wù)器端的拔稳,而是將各種圖片語音小視頻全部塞到你手機的內(nèi)存里面,微信表情在6.0版本之前也是不保存到服務(wù)器的锹雏。
二是以往基于web的紅包頁面經(jīng)常會出現(xiàn)“媽的頁面還在loading紅包就沒了”“紅包來了卻連不了網(wǎng)是怎樣一種體驗”等等的用戶抱怨巴比,而原生的頁面因為放在本地不需要遠程加載,只需要傳輸簡單的紅包ID礁遵,發(fā)送者等少量信息即可通知客戶端顯示紅包頁面轻绞,可以減少聯(lián)網(wǎng)時間和降低網(wǎng)絡(luò)狀況對搶紅包的體驗流暢度,讓用戶搶不到紅包都不會覺得是因為微信沒優(yōu)化好榛丢,而是自己太幸福 (沒單身的手速慢铲球,哈哈)。下圖為幾種紅包“拆”頁面(大家來玩找不同晰赞,嘻嘻):
那這四個頁面分別會在什么時候出現(xiàn)呢?在5.2中會做詳細的介紹选侨。
3.4 紅包結(jié)果頁面
紅包結(jié)果頁面會顯示搶到紅包的人的列表掖鱼,其中金額最大的為手氣最佳。當有兩個或者以上金額相同的時候援制,以時間最早的一個為最佳手氣戏挡。頁面還會顯示發(fā)紅包的人極其昵稱、你自己領(lǐng)到的金額(如果沒領(lǐng)到就不會顯示)晨仑,零錢入口和轉(zhuǎn)發(fā)該紅包的入口褐墅、我的紅包記錄入口。紅包結(jié)果頁面也有很多種洪己,詳見本文的5.3部分妥凳。
3.5 搖一搖紅包
搖一搖紅包和企業(yè)紅包的隨機方法和群手氣紅包大同小異,由于沒有接觸過企業(yè)紅包的發(fā)放流程答捕,這里不多說逝钥。
為什么要有剩余紅包個數(shù)呢?
引用鵬飛在人人都是產(chǎn)品經(jīng)理舉辦的產(chǎn)品經(jīng)理大會廣州站上說的一句話“給用戶一個預(yù)期拱镐,現(xiàn)在還有沒有紅包艘款,還有多少持际,而且這個數(shù)字必須準確,不能忽悠用戶哗咆。有些朋友和我說蜘欲,他們就是在最后幾秒搖到的。所以晌柬,要讓用戶為希望而搖芒填,為了希望,把手搖斷空繁,又算什么殿衰!”。沒錯盛泡,這個數(shù)字是“準確”的闷祥,但是他并不是實時的。因為過于頻繁刷新的數(shù)字少量減少傲诵,不僅用戶沒有感知凯砍,不停的訪問數(shù)據(jù)庫剩余紅包數(shù)對于服務(wù)器也是極大壓力,所以推測微信是采用這種策略:每減少1個單位(比如說50W)的紅包數(shù)量拴竹,自動將這個值寫入緩存服務(wù)器悟衩,用戶搖紅包的時候都直接訪問緩存,而且不是每次搖都訪問剩余數(shù)栓拜,而是搖n次之后(比如搖了5次)才去請求一次剩余紅包數(shù)座泳,這樣就把傳遞到服務(wù)器的壓力減少n倍。
上圖最后那個頁面你沒見過幕与?
微信官方說挑势,當服務(wù)器壓力過大的時候,喚起讓用戶休息一下這個頁面啦鸣。這里我提出另外一種策略潮饱,也許微信也采用了這種策略:當用戶搖一搖請求紅包時,服務(wù)器壓力過大诫给,網(wǎng)絡(luò)阻塞或者隊列已滿等異常情況下香拉,會直接通知客戶端“你沒有搶到”,也就是直接返回那個搖紅包的頁面進行下一次的搖一搖動作中狂,這樣子永遠也不會顯示那個“休息一下”的頁面凫碌。
下一篇:你所不知道的微信紅包(四)——后臺分析