Open3
【Flutter】Deep Links ★
DeepLinkとは
ディープリンクとはDynamic LinksやApp Links, Universal Linksなどの総称。
用語
Deep Links
: ウェブサイトやアプリケーション内の特定のページやコンテンツへ直接リンクする技術の総称。Deep Links技術のソリューションとしてCustom Url Scheme, Android Deep Links, App Links, Universal linksが提供されている。
scheme (custom scheme)
:
Android Deep Links
:
Android App Links
:
Custom Url Scheme
:
Universal Links
:
参考
Dynamic Links
GoogleのFirebaseが運用するDeep Linkサービス。
仕組み
導入手順
Flutter
- FlutterプロジェクトとFirebaseプロジェクトを連携させる
- AndroidManifest.xmlに以下を追記
<manifest> <application> <activity> <!-- ここから --> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:host="hogehoge.page.link" android:scheme="https"/> </intent-filter> <!-- ここまで追記 --> </activity> </application> </manifest>
-
Runner.entitlements
に以下を追記<plist> <dict> <!-- ここから --> <key>com.apple.developer.associated-domains</key> <array> <string>applinks:hogehoge.page.link</string> </array> <!-- ここまで追記 --> </dict> </plist>
- DynamicLinksを発行する
ホワイトリストに追加する
Deep Linkをテストする
Simulator/emulatorでDeep Linkの挙動をテストしたい場合は以下をターミナルから実行する
Android
adb shell am start -W -a android.intent.action.VIEW \
-c android.intent.category.BROWSABLE \
-d "scheme://myApp/page1/1"
iOS
xcrun simctl openurl booted customscheme://ourApp/page/2