Web與Android真正的結合

“紙飛機”,剛開始只是一個簡單的想法- “能從一個屏幕扔個紙飛機到另一個屏幕”

提出這個想法人的核心理念是利用網絡的力量(即時通訊)把到世界各地所有人連接到一起。在現代網絡技術,特別是JavaScript和WebGL的發展,可以讓紙飛機實現到每個屏幕上。

紙飛機最初是 2016年的在谷歌I / O大會上提出的,與會者和觀眾可以提前30分鐘連接。在2016年國際和平日公眾推出,谷歌開發者做一個Android的實驗,這也是谷歌特色的播放功能-具有原生的Android7.0的功能,譬如當飛機其他地方被收到后,能及時豐富的已通知升級呈現。

介紹

用戶可以創建并同時增加自己設計好填充的飛機。一個簡單的動作就可以把飛機投射到虛擬世界。用戶通過訪問Pc版網站就會看到飛機飛入畫面。

之后,用戶就可以查看,看看他們的飛機飛到世界各地。飛機上的每枚郵票讀起來就像一本護照,以及可以看到3D的地球中飛行路線和距離。

除了讓自己的飛機飛出去,用戶可以通過手勢就像一張網捕捉已撲捉其他地方飛來的飛機,并可以進入虛擬現實打開它,標明自己已參觀過飛機。然后可以添加自己郵票,并把飛機重飛到飛機群。

WebView

開發紙飛機必須跨設備,使用網絡技術最新技術從50英尺的谷歌桌面到移動設備,

  • WebGL

從程式化的多邊形地鐵表面,WebGL是用來渲染3D元素的技術。用自定義GLSL著色器 照亮地球,用可變形的坐標作實現用戶打開關閉紙張的動畫。

earth_wireframe.gif

WebSockets

當用戶“拋出飛機”,這時會發送消息到WebSockets,這樣消息就被傳遞到所有的臺式電腦,這樣可以看到可視化的飛機。

WebWorkers

主線程WebWorkers主要采用多線程來計算地球表面的每個WebGL呈現的元素。

為了創建跨平臺的偉大的工程,,谷歌開發者擴展了原生的Android代碼。這使他們能夠利用網頁中的Android,將已經存在的網頁代碼的應用應用到app中,同時加入和操作系統深度整合過的豐富的通知和后臺服務。

Notifications

Firebase 云服務(FCM)用于推送通知到Android應用程序。當用戶的飛機已經被用戶拿起來甩,就會很多城市,并且顯示已行駛的里程。并發控制的的通知管理器,以確保它們不會過于頻繁到推送到android設備。

后臺 Service

我們實現了每天一次檢查本地存儲的一個后臺服務,以確定當用戶在上次運行app訪問后。如果用戶在兩周內沒有訪問,應用程序將會發送通知,邀請用戶啟動并打開該應用的一個頁面。

通信網

應用服務器部署到谷歌云平臺的網絡上運行。將連接所有設備上,使用內置的地理編碼的頭以獲取IP(用戶唯一標識符)和Socket.IO 獲取大致地理位置。

用戶連接到服務器后,可以用任何設備查看該地區飛機記錄。

 

 

來自:http://www.jianshu.com/p/1c27ce09390d

 

 本文由用戶 chatroulette.jp 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!