[譯] Android Dev Summit 2018 應用(instant app 的總結 + 開源)
建立 Android Dev Summit 應用併發布具有即時體驗的應用程式包的總結。
11 月 7 日和 8 日,在加利福尼亞州山景城的Android Dev Summit 舉辦時,會議使用的應用程式已經發布給所有與會者及遠端觀眾。

Android Dev Summit 應用
從 IO-Sched 到 ADS-Sched
The Android Dev Summit 應用( adssched )基於 Google I/O 應用(iosched)開發,這是一個 在 Github 上可用的 開源專案。移除了一些不需要的功能,比如:
- 預約 [ main commit ]。此功能與應用的每一層深度耦合,嚴重增加了資料庫的複雜度。在 I/O 應用中,我們使用了一個 endpoint 來指明一個使用者是否是註冊的與會者。未註冊的與會者具有不同的使用者體驗。在 adssched 中,所有的使用者都是相同的,這使得業務邏輯更加簡潔。
- 地圖 [ commit ]。會議只有兩條路線,因此不需要地圖。這在底部導航中釋放了位置,讓我們能夠將議程提升到醒目的位置。
我們還添加了一些新功能:
- 通知 [ commit ]。使用 AlarmManager 在已加星標的專案開始時間 5 分鐘前設定提醒。
- 即時應用 [ commit ]。從一個 Android Studio 專案構建一個 instant app 非常容易。我們使用 flavor 來生成兩個不同的 bundle(installed /instant)這是目前的要求,但是在將來你能夠上傳單個 bundle。
即時應用統計資訊
這是我們第一次釋出會議應用程式作為即時應用,我們很好奇有多少人會使用這個模型。

安裝的應用程式與即時體驗的應用程式使用情況對比 [10 月 30 日至 11 月 15 日]
大約 25% 的即時使用者(佔總使用者的 15%) 跳轉到已安裝的應用 :

即時體驗使用 + 已安裝的應用使用情況
採納:
- 在會議召開一週前公佈應用程式時,我們看到大約 40% 的使用者通過即時應用體驗程式 。即時應用可以通過在搜尋結果和 Play 上的 立即嘗試 按鈕訪問。

“立即嘗試”按鈕可提供即時體驗
- 在會議期間,該數字 下降到 30% ,可能是由於通知的可用性。
- 同樣有趣的時,會議結束後安裝次數減少,即時應用使用者數量增加。使用者似乎發現了通知時兩者之間的唯一區別。
在釋出即時應用之前,請按照本指南設定分析,併為即時安裝流程新增事件(遺憾的是我們沒有!)。
新增即時體驗後的分析
運作良好的:
- 認證 機制不需要修改。Firebase Auth 和 Google Smart Lock for Passwords 負責一切,因此即時應用登入體驗非常流暢。
- 使用者在 Android 手機上 搜尋 峰會即可找到即時應用。

Google 搜尋結果顯示峰會的即時應用
- 從即時應用到 安裝應用程式的流程 由 Google Play 無縫處理。

Google Play 從即時應用到安裝應用的流程
可以改進的地方:
- 問題 activity-alias 標籤阻止了應用程式在即時應用啟動後出現在啟動器上。它出現在 最近 頁面上,但這遠非理想中的效果。由於時間限制,我們未能及時釋出 錯誤修復程式 。
- 即時應用無法直接提供 通知 功能。但你可以通過 Play 服務傳送推送通知(目前處於測試階段)。但這需要後端程式碼的支援,所以我們決定從即時應用轉化到安裝應用後才可展示通知。這也是兩者間的唯一區別。
開源 adssched
IOSched 原意始終是一個示例(從包名可以看出)用以學習目的以及作為其他會議應用程式的基礎。但是,I/O 具有的某些要求使得其相對常規會議應用的需求複雜很多(例如預定系統)。
Android Dev Summit 的規模和要求與其他會議類似, 因此更適合 Fork 並重用。新版本僅需要 Firebase 專案(我們建議使用第二個暫存專案,連結到 Debug 構建型別)和一個託管 會議 JSON 資料檔案 ,它的格式很簡單。
如果你需要我們幫助為會議建立分支,隨時可以在 Github 專案上 開啟一個問題。
這個即時應用實驗取得了成功並 帶來了非常有趣的資料 ,但我們的需求非常簡單,因此完整的應用也足夠小。我們只有一個即時入口點,使用者群體也有限。我們等不及想要看看開發人員會在哪些場景使用即時應用程式以及社群會用 adssched 構建什麼新東西了!
致謝:Ben Weiss(adssched 即時應用功能的所有者),Nick Butcher(魔法 GIF 的創造者)
感謝Nick Butcher 和Ben Weiss。
如果發現譯文存在錯誤或其他需要改進的地方,歡迎到 掘金翻譯計劃 對譯文進行修改並 PR,也可獲得相應獎勵積分。文章開頭的 本文永久連結 即為本文在 GitHub 上的 MarkDown 連結。
掘金翻譯計劃 是一個翻譯優質網際網路技術文章的社群,文章來源為掘金 上的英文分享文章。內容覆蓋 Android 、 iOS 、 前端 、 後端 、 區塊鏈 、 產品 、 設計 、 人工智慧 等領域,想要檢視更多優質譯文請持續關注 掘金翻譯計劃 、官方微博、 知乎專欄 。