Android O AutoFill Framework
どうも、iPhone ユーザーの Nov です。
Android OS の進化は素晴らしいと思います。
個人的には、普段使いのスマホじゃなければ Android 一択です。
Chrome の進化も素晴らしいと思います。
個人的には、普段使いの (ry
最近は Android O から登場した Autofill Framework ってのが気になってます。
Developer Document で “Apps that use standard views work with the Autofill Framework out of the box” とか言われてるんで、Android App で普通にログインフォーム作れば、勝手に ID & Password が Autofill されるっぽいですね。
え?ID & Password 以外にも、住所やクレカ番号も Autofill されるって?
でしょうね。
Autofill Framework Sample App 動かしてみよう
ということで、Android O Beta 入れて、Autofill Framework Sample 動かしてみましょう。
Android Studio 3.0 Preview とかいうのもダウンロード必要なようです。
なんかいろいろ足りねぇとかエラー出るけど Java も Kotlin も Android Studio もよぉわからんので、まぁポチポチしていろいろインストールします。
で、Android O Beta をインストールした Nexus 5X (普段使いではない) をターゲットにしてアプリをビルド…
ジャジャーン!!
…はい、端末側の Android O Beta が古かったです。アップデートします。
普段使いじゃないから電池残量が不足してアップデートするまえにまず充電しろとか言われる。
これだから Android は… #違
で、もろもろ整えて、再チャレンジ!!
ジャジャーン!!
この Sample App の最新版リリース以降に、Android 側の API が変わったのか…?
Android Studio 3.0 Canary 2 を入れれば解決しそうな気もするが、Canary 2 が見つからない…
もういぃ!!その辺に転がってるアプリで試す!!
Cookpad で試してみよう
ジャジャーン!!
ここ数年いろいろ大変そうな Cookpad さん (普段使いではない)。
ログイン画面…うん、普通に実装されてそう。 #適当
で、ログインしてみると…
おぉ!なんかパスワード保存しおる!!
もちろん「OK」
さて、ここでおもむろに passwords.google.com にアクセスしてみましょう。
ありましたね、Cookpad。
ただ、Cookpad さんは SmartLock for Password on Android も使ってるぽいので、そちら経由で passwords.google.com にパスワード保存したんじゃね?って疑惑をもたれるかもしれません。
もひとつ別アプリでもやってみましょう。
Hotpepper グルメで試してみよう
ジャジャーン!!
Hotpepper グルメ。普段使い。 #決してステマではない
ログイン画面…うん、普通に実装されてそう。 #適当
で、ログインしてみると…
おぉ!なんかパスワード保存しおる!! #デジャブ
ログアウトしなおして再度ログインしてみたら、Autofill 効いてますね。
passwords.google.com にも保存されてる。
うん、Chrome のパスワードマネージャーとほぼ同じ挙動が、Native App 内のログインフォームにもやってきました。
あとは、Hotpepper グルメの Android App に紐づいて保存されたパスワードを、Chrome で hotpepper.jp ドメイン開いた時にも使えて、その逆もまた可能であれば、SmartLock for Password on Android と同じことが、特にアプリ側で特別な実装しなくても実現できますね。
また、1PasswordによるAndroid OのAutofillフレームワークの動作デモ とかみると、1Password に保存したパスワードを Autofill Framework 経由で各アプリが受け取れるようです。
Android の設定アプリの System > Languages & input > Advanced > Input assistance > Autofill service にいくと、いまのところ Google (= passwords.google.com) しか選択肢ないけど、きっとここに 1Password とかが出てくるんでしょう。
1Password ユーザーとしては嬉しい限りですが、ここでも twitter.com ドメインに紐づいたパスワードを Twitter Android App から呼び出せるのか、は気になるところです。
まぁ、SmartLock for Password on Android でできて、Autofill Framework でできない理由なんてどこにもないですし、できるんでしょうけど。
SmartLock for Passwords on Android 対応アプリで試してみた
ようするに Cookpad ね。
Autofill Framework 経由で保存されたパスワードが、Chrome で cookpad.com 行ってみても補完されるか試してみたんですが…
うんともすんとも言わなかったです。
別の Android 端末で別の Google アカウントに SmartLock for Passwords on Android 経由で保存されたパスワードは補完されたんですけどねぇ…
現時点の Android O では、SmartLock for Passwords on Android 対応時にサイトとアプリ紐付けしてあっても、Autofill Framework には反映されないようです。
ちぇっ…
補足
ちなみに Google さんは、OpenID Foundation で OpenYOLO っていうプロジェクトもやってて、OpenYOLO プロトコルに従ったパスワードマネージャーアプリ (1Password etc.) を Android OS 経由で呼び出せるようにしようとしたりもしてますが、これが Autofill Framework とどういう関係性にあるのかは、気になるところです。
Google さん、おんなじようなことできるもの複数実装して、命名規則もなにもあったもんじゃない感じで、ワクワクハラハラです。
最後に SmartLock for Passwords on Android 担当イケメン で同じみの @agektmr を晒して、締めさせていただきます。
ありがとうございました。