自從 Android Oreo 發佈以來,自動填寫功能方便了用戶在 App 內提交信息,例如信用卡、登錄信息、地址等等。如今 App 內的表格均可以自動填寫,並且用戶無須費力記住複雜的密碼,也免去了一次次填寫的麻煩。
html
用戶能夠自行選擇多種自動填寫服務 (過程相似選擇輸入法)。在默認狀況下,Google(服務)支持自動填寫,不過用戶也能夠自行添加任何三方自動填寫 App ,過程以下:android
設定 -> 系統 -> 語言 -> 高級選項 -> 自動填寫服務json
自動填寫目前支持項目:瀏覽器
自動填寫 API 徹底開放,任何想要將該服務內嵌到本身 App 的開發者均可如下載該 API。如今咱們正在和 1Password, Dashlane, Keeper 以及 LastPass 積極合做,加快三者在 Android 平臺上的認證。同時咱們將會認證密碼管理器(password manager)並將其添加到 Google Play 中,用戶能夠經過 「添加服務」 按鈕跳轉連接到 Google Play 中的頁面。安全
若是您是 App 開發者,只需要完成如下幾個簡單步驟,就能夠在 App 中輕鬆添加自動填寫功能:服務器
對 App 進行測試,若有必要須要標註視圖:網絡
大部分狀況下,讓 App 支持自動填寫功能不須要額外操做。可是爲了保證行爲一致性,咱們建議開發者經過 android:autofillHints attribute 或者 setAutofillHints ( ) method 向框架提供關於字段內容的顯式提示信息(explicit hint)。架構
若是 App 使用 WebViews,那麼開發者能夠經過 HTML Autocomplete Attributes 提供字段提示信息。有一點要注意,設備需要將 Chrome 瀏覽器升級至 61 或以上版本,WebViews 才能支持自動填寫功能。即便您的 App 採用自定義視圖,開發者也能夠經過定義元數據來添加自動填寫功能。框架
訪問此連接瞭解更多:dom
那麼像是 Captcha(驗證碼)或者消息對話框這類徹底不適用自動填寫的應該怎麼操做呢?開發者只須要將視圖參數設定爲 IMPORTANT_FOR_AUTOFILL_NO(或者將視圖層次根設定爲 IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS)。開發者得負責地使用該字段,牢記用戶能夠隨時繞過這一步驟,只要長按輸入框(EditText)並選定懸浮菜單中的自動填寫就好了。
Google 自動填寫功可以無縫分享網站和移動端 App 之間的登錄信息,便是說 Chrome 瀏覽器保存的密碼亦能夠應用在原生 App 上。可是如何保證三方 App 也能分享信息呢?這需要開發者在網站和移動端 App 之間構建明確聯繫,步驟以下:
第一步:在 yourdomain.com/.well-known…中託管 JSON 文件
若是以前接觸過相似 App Link或者 Google Smart Lock 的技術,那麼您可能據說過數字資產連接(DAL)文件。DAL 採用 JSON 文件的形式保存在您的網絡服務器 .well-known 目錄中,用於公開聲明與此網站關聯的其餘 App 或者網站。
請參閱 Smart Lock for Passwords 指南,按照指南中的步驟在服務器上正確建立而且託管 DAL 文件。就用戶登陸 App 來講,Smart Lock 雖然更爲高級,可是咱們的自動填寫功能其實採用的是相同的基礎架構來驗證 App 和網站之間的關聯信息。並且,由於 DAL 文件是徹底公開的,第三方自動填寫服務開發者也可使用關聯信息來保障實現安全性。
第二步:根據相同信息更新 App 的清單文件(Manifest)
一樣地,請根據 Smart Lock for Passwords 指南中《聲明 Android App 關聯項》條目,完成此步驟。
開發者需要根據 asset_statements 資源更新 App 的清單文件,該資源可以連接到託管 assetlinks.json 文件的 URL 地址。完成操做以後,開發者須要從新上傳 App 到 Google Play,而且填寫 「關聯提交表格」(Affiliation Submission Form),屆時關聯才正式生效。
Android Studio 3.0 中 App Links Assistant 可以幫開發者自動生成上述全部信息。打開 DAL 生成器工具(工具 -> App Links Assistant -> 打開數字資產連接文件生成器),確保啓用名爲 「支持 App 和網站之間共享認證信息」 的新複選框。
而後點擊 「生成數字資產連接文件」,將預覽信息複製到 DAL 文件中,並將文件託管在服務器和 App 上。記得覈實選定域名和證書是否正確。
Android 自動填寫功能還在初級階段,不論用戶是經過 Google 仍是三方密碼管理器來使用該功能,咱們都將繼續努力,改善體驗。
咱們的主要努力方向是:
Google 自動填寫:咱們但願用戶從一開始就可以有很好的體驗,所以全部 Android Oreo 設備都支持 Google 自動填寫功能。一直以來,咱們不斷改善字段檢測和數據質量,同時擴大支持範圍,增長保存數據類別。
WebView 支持:從 Chrome 61 開始,咱們引進了對 WebViews 表單填寫支持,同時咱們會繼續測試、加固而且改善該集成,所以即便您的 App 採用WebViews,一樣能夠享受到自動填寫功能。
第三方 App 支持:咱們正在和生態圈夥伴緊密合做,確保 App 可以完美構建在自動填寫基礎框架上。強烈建議開發者試着在 Android Oreo 上發佈本身的 App ,看看可否如期支持自動填寫。詳細信息請參閱《自動填寫框架》完整版文檔。
如遇任何問題或有任何寶貴意見,歡迎您經過留言等方式與咱們聯繫,幫助咱們進一步改進產品。