Buy+成為了全球首個VR購物軟件,不過這軟件在本地開發的時候還是會出現適配的問題。
本地開發的適配問題
除了工作量跟沒有經驗可以借鑒外,其實還有一個蠻重要的問題,這次所有開發用的是原生Native,而不是H5的方案。
由于雙十一所有的產品都要做一程度的保密,所以沒辦法做大規模灰度驗證。
因為按以往的開發慣例和經驗,Native的東西上線需要做一些線上的灰度,讓線上一些真實的用戶來發現一些隱藏的問題。
既然不能去做線上灰度,如何保障線上技術穩定呢?我們做了幾個方面的事情,首先,我們適配了目前70幾款主流的設備,保證其在這些設備上的運行是沒有問題的。
并且每一次改版都需要重新去適配,因為也不知道改版對兼容性會造成什么樣的問題。
特別是Android,它有4.X、5.X、6.X,甚至7.X的系統,在每個版上的表現是不一樣的,適配問題上真的是投入了巨大的人力物力。
另外,我們做了很多的降級預案,比如我們把性能比較差的機器直接列入了降級名單,讓它看全景的圖片,而不是像現在看有標定又有移動的全景視頻方案。
當然,所有的機型都可以加白名單和黑名單,也準備了很多降級開關,比如萬一崩潰比較多,而且是針對某些機型的話,也可以順手將這些機型降成全景圖片,甚至屏蔽其玩Buy+。
聽起來加白名單黑名單這件事很簡單,其實并不是這樣。
特別針對Android來說,不可能將市面上所有機器都做一輪適配,行的加白名單,不行的黑名單,這個事情是幾乎做不到的。
白名單的事每年都在提,但根本沒多少用處,因為不可能將所有機器都列出來。
唯一可能采用的方案就是黑名單,但也有問題,就是只能發現一款加入一款,這樣很難確保線上不會出現大面積崩潰。
這次我們基本上把Android 4.X以下的機器都降級了。Android上還有部分機器陀螺儀不行,這部分也全部降級了。
iOS也不是完全沒有問題,如果操作系統升上10.0時也會遇到陀螺儀調不同接口返回的情況不一樣。
總之,如果采用Native的方案,要保證線上盡量少的崩潰,需要考慮的問題是非常多的。
其實到上線的最后一刻,我們還是沒有信心說這個東西上去完全沒有問題,不會出現大面積崩潰,當然最后的結果驗證我們的努力是沒有白費的。