ディープリンク
Flutter は、iOS、Android、および Web ブラウザーでのディープ リンクをサポートしています。
URL を開くと、アプリにその画面が表示されます。以下で
ステップでは、名前付きルートを使用してルートを起動して表示できます。
(どちらでもroutes
パラメータまたはonGenerateRoute
)、または
を使用してRouter
ウィジェット。
Web ブラウザでアプリを実行している場合、追加のセットアップは必要ありません
必要。ルート パスは、iOS または Android のディープと同じ方法で処理されます。
リンク。デフォルトでは、Web アプリは次を使用して URL フラグメントからディープ リンク パスを読み取ります。
パターン:/#/path/to/app/screen
、ただし、これは次の方法で変更できます。URL戦略の構成あなたのアプリのために。
視覚的に学習したい場合は、次のビデオをチェックしてください。
Flutter でのディープリンク
始めましょう
開始するには、Android および iOS 用のクックブックを参照してください。
プラグインベースのディープリンクからの移行
で説明されているように、ディープリンクを処理するプラグインを作成した場合は、ディープリンクと flutterアプリケーション(Medium の無料記事)、
を追加してこの動作をオプトインするまで機能し続けます。FlutterDeepLinkingEnabled
にInfo.plist
またflutter_deeplinking_enabled
にAndroidManifest.xml
、 それぞれ。
行動
動作はプラットフォームとアプリがサポートされているかどうかに応じて若干異なります。 起動して実行中です。
プラットフォーム/シナリオ | ナビゲーターの使用 | ルーターの使用 |
---|---|---|
iOS (未起動) | アプリはinitialRoute (「/」)を取得し、その後しばらくしてpushRouteを取得します | アプリは、initialRoute (「/」) を取得し、その後、RouteInformationParser を使用してルートを解析し、RouterDelegate.setNewRoutePath を呼び出します。これにより、対応するページでナビゲーターが構成されます。 |
Android - (起動されていません) | アプリはルート(「/deeplink」)を含むinitialRouteを取得します | アプリは、initialRoute (「/deeplink」) を取得し、それを RouteInformationParser に渡してルートを解析し、対応するページで Navigator を構成する RouterDelegate.setNewRoutePath を呼び出します。 |
iOS(リリース済み) | PushRouteが呼び出されます | パスが解析され、ナビゲーターが新しいページのセットで構成されます。 |
アンドロイド(発売済み) | PushRouteが呼び出されます | パスが解析され、ナビゲーターが新しいページのセットで構成されます。 |
を使用するときは、Router
ウィジェット、
あなたのアプリには、
新しいディープリンク時の現在のページセット
アプリの実行中に開かれます。
詳細については
Flutter の新しいナビゲーションおよびルーティング システムを学習するルーター システムの概要を説明します。