微信小程序開發(fā):你一定不知道,小程序碼是這樣綻放的
發(fā)布時間:2017-09-11 點擊次數:
小程序碼的出現
2017 年 1 月 9 號,微信正式發(fā)布小程序,最開始只能通過微信「掃一掃」識別進入特定小程序。4 月 14 號,正式開放了「長按識別二維碼」的功能,這意味著,用戶使用小程序的便捷程度將大大提高。
此后,僅僅過了 4 天,微信又推出了小程序碼,支持「掃一掃」和「長按識別掃碼」。
小程序碼雖然長得跟二維碼截然不同,但二維碼所有的功能,小程序碼同樣具備。
為什么微信要推出這樣的異形二維碼?小程序碼背后又有何故事?
別著急,今天就來給大家講講小程序碼背后的故事。
二維碼 VS 小程序碼
第一次掃小程序碼的時候,其實是抱著試一試的心態(tài)來的。
當時就在想,這么不像二維碼的碼真的能掃出來?結果一試還真可以!后面通過查找資料才發(fā)現,原來這種異形二維碼并不是微信的首創(chuàng),Facebook、Snap 等公司都已經推出過類似的異形碼:
下面這個二維碼通過圖像處理和識別技術把傳統(tǒng)二維碼中近70%的色塊抹掉,做成一種近乎無形的二維碼。它是以色列一家創(chuàng)業(yè)公司(Visualead)的作品。
阿里巴巴于2015年投資了這家公司,在旗下的網站、APP 以及云計算等產品中已經開始使用 相關技術。
此外還有很多充滿想象力的「變臉二維碼」(作者:笑臉兔):
- 掃碼預期:每張二維碼的背后可能代表一個文件,一個頁面、又或者是一個應用
- 安全性:二維碼由于其開放性,很容易成為木馬病毒的溫床,很多人會擔心掃碼之后可能使自己的手機感染病毒而放棄掃碼
- 品牌宣傳:無法滿足小程序的品牌宣傳需求
- 觀賞性:小程序碼與普通二維碼相比,看起來更美觀
- 掃碼預期:掃碼前能明確知道掃碼之后將會體驗到一個小程序
- 安全性:小程序碼目前只能通過微信產生,并且只能通過微信識別,安全性更高
- 品牌宣傳:每個小程序碼右下角都是固定的微信小程序 Logo,每見到一次小程序碼,大家就能多一次聯想到微信小程序
- 高容錯性:當一張二維碼圖片中間嵌有某些 Logo 圖片時,其實相當于是把最中間部分有用的編碼信息挖掉,再貼一張 Logo 圖片上去。而小程序碼不同,中間的 Logo 區(qū)并不包含數據編碼的部分,因此小程序碼擁有更高的容錯性
小程序碼的綻放過程
這是小程序碼最初的設計稿雛形,可以看到的確是一朵花的形狀,稍有不同的是這個雛形圖中只有兩個定位點。
而目前我們看到的小程序碼,一共有3個定位點。
這個是小程序碼的規(guī)范設計稿:
目前小程序碼一共支持 3 種容量,分別是 36 射線、54 射線和 72 射線。
- L 級容錯的小程序碼,大約 10% 的字碼可被修正
- M 級容錯的小程序碼,大約 15% 的字碼可被修正
- Q 級容錯的小程序碼,大約 25% 的字碼可被修正
- H 級容錯的小程序碼,大約 35% 的字碼可被修正
1.定位點
所以為了讓小程序碼的花瓣看起來更加均衡,需要再多做一步操作。
分隔線結束
3.掩碼操作
將小程序碼跟 32 種掩膜(又稱「mask」,可依照一定的規(guī)則生成)進行異或運算,最終選取效果最佳的作為最終的小程序碼。
4.功能性數據
獲取小程序碼
- 數量限制:接口 A、C 生成的小程序碼和二維碼加起來不能超過 10w 個,接口 B 生成的小程序碼則數量沒有限制
- 時效性:接口 A、B、C 生成的小程序碼/二維碼永久有效
- 頁面指定性:接口 A、C 生成的小程序碼/二維碼可以直接進入指定頁面,而接口 B 生成的小程序碼需要通過技術開發(fā)處理邏輯(通過參數 scene)后才能跳轉到其它頁面
- 小程序碼的尺寸
- 小程序碼的射線顏色
- 自定義 Logo 區(qū)的圖片
- 通過設置 line_color 來決定小程序碼射線的顏色,不過這個時候最好是確保射線跟背景色(白色)有一定的對比度,降低掃碼成本
- 設置 auto_color 為 true(默認為 false),微信后臺會智能根據中間 Logo區(qū)域的主色調來確定小程序碼射線的顏色
微信識別小程序碼
雖然目前小程序暫時不支持直接分享到朋友圈,但是越來越多的小程序已經通過嘗試將小程序碼與業(yè)務功能相結合,生成一張可以在朋友圈傳播的小程序碼,方便其它用戶通過長按識別小程序碼直接(從朋友圈)進入相應的小程序。
1.Webview 下長按識別
2.圖片查看器下長按識別
現階段(2017.8)經過測試發(fā)現,在普通場景下,只要微信能長按識別二維碼,就也同樣能長按識別小程序碼;不過在小程序下面,暫時只支持長按識別小程序碼哦,長按識別二維碼是不支持的。
最后
感謝大家閱讀到最后,為了表達我的感激,我決定(再次)把研究過程中遇到過的最好看的小程序碼的圖片分享給大家 :)
------------------------------------------------------------------------------------------
藍點網絡提供:網站建設、APP開發(fā)、微信小程序、400電話、軟件開發(fā)、服務器托管/租用等業(yè)務。
從2003年開始,我們始終堅守【網站建設】服務,19年從未放棄?。?/span>
售前咨詢:0311-8736 0077
售后服務:0311-8736 0066
值班手機:189 3198 6878