軽くドキュメントを読んだ際のメモです。
ドキュメントに関して
- おいらが読んだ時点でのドキュメントに関して言えば、和文と英文で文章がまったく異なり、リンクのタイプ分類のような基本的なレベルで異なることが書かれているなど、結構微妙な感じだった、、、。英語側のほうがまともだとは思うのだが、web links の scheme が HTTP, App Links 側が HTTP and HTTPS であると書かれているけど、実際は両方とも https を含む動作をするので、何を信じでいいのかわからない、、、。
たぶんこういうことなんだろーなということ
- Android 12 から云々という話は、端末OSの話であり、ビルド時の compileSdk や targetSdk とは無関係だと思われ。
- http, https 以外は、今まで通りの deep link.
- http, https は、
- 端末OSが Android 12 未満の場合はダイアログで選択。
- 端末OSが Android 12 以降の場合は verified であればアプリ、そうでなければブラウザに問答無用で飛ぶ。
- つまり、端末OSが Android 12 以降の端末上では、verified でない http/https のリンクからのアプリ起動は絶対にできない。
Deep links を用いていた既存のアプリをどうすべきか?
- App links に対応しないと Andorid 12 以降の端末上で deep link を踏んでもアプリに飛べないので困る。
- ユーザーに、端末のOS設定で登録してもらえば対応できるが、UX的に最悪である。
- 結論 → App links に対応する以外の道はない。
その他
- adb から
adb shell am start -W -a android.intent.action.VIEW -d "https://example.com/foo" com.example.debug
的にやる場合は、無条件で verified 扱いになるっぽい。