🍋
Deep Link/Deep Linkingまわりのあれこれ
👉Goal
色々なところ(Google検索結果,Twitter,Facebook,note,Gmail,自社Webサービス,他アプリ)から、
スマホにアプリインストールされている場合は、アプリ起動したい。を実現する技術群を調べる。
👉Summary
Deep linkという技術カテゴリに色々な実現方法がある。ややこしや。
- 各モバイルプラットフォーム(iOS,Android)が提供している
- Universal Links
- Android App Links
- MBaaS(Firebase)が各モバイルプラットフォーム提供技術をより使いやすくして提供している
- Firebase Dynamic Links
- 各3rd Partyサービスが独自に提供している
- Twitter Cards
- Facebook App Links
- 昔の方法...
- Custom URL Scheme
👉Deep Link/Deep Linking
ディープリンク(Deep link)、ディープリンキング(Deep linking)は、あるウェブページから他のウェブサイトのトップページ以外の各コンテンツ(ウェブページ・画像等)に直接ハイパーリンクを張ること。
他サイトの画像などを自サイト内に直接参照(「表示」など)させること(→直リンク)とは異なり、単にリンクアンカーによりポインタを示すのみの行為を指す。
👉Deep Linkの(関連)技術
末尾がにs
がつくのか、つかないのかとか正式名称覚えるの大変。
# | 技術 | 提供元 | 概要 |
---|---|---|---|
1 | Universal Links | iOS |
http のリンク経由でiOSアプリを起動できる |
2 | Android App Links | Android |
http のリンク経由でAndroidアプリを起動できる |
3 | Firebase Dynamic Links | Firebase | デフォhttps://{your_subdomain}.page.link?.. を作成。 カスタムドメイン設定可能 |
4 | Firebase App Indexing | Firebase | Googleの検索結果からアプリを起動したい!ときに使える。 |
5 | Smart App Banners | iOS | iOS SafariでのみAppleストア導線を表示できる。Android対応したい!Chrome対応したい!ときに不便😢 |
6 | Custom URL Scheme | iOS, Android |
myapp://{PATH} のように独自スキーム。重複可能やアプリインストール前提なので不便😢"古い"方法っぽい。LINEは非推奨
|
7 | Cards | ツイートから直でアプリに遷移できる。Twitter以外のリンクも飛ばしたいときに不便😢 | |
8 | App Links | Facebookの投稿から直でアプリに遷移できる。Facebook以外のリンクも飛ばしたいときに不便😢 |
👉 Webサーバーでの対応
iOS: Universal Links
Supporting Associated Domains | Apple Developer Documentation
https://<fully qualified domain>/apple-app-site-association
https://<fully qualified domain>/.well-known/apple-app-site-association
のように、JSONファイルをサーブすると、インストール時やアップデート時にHTTP Requestがあり、Responseを端末内で保持する模様。
Ref: iOSアプリのユニバーサルリンクの仕組み - lasciva blog
Android: App Links
Android アプリリンクを検証する | Android デベロッパー | Android Developers
https://domain.name/.well-known/assetlinks.json
のようにJSONファイルをおくことで、アプリとウェブサイト URL の両方のオーナーであることを証明する必要がある模様。
参考サービス
具体的なJSONの中身の参考。
Discussion