<

ディープリンク

Flutter は、iOS、Android、および Web ブラウザーでのディープ リンクをサポートしています。 URL を開くと、アプリにその画面が表示されます。以下で ステップでは、名前付きルートを使用してルートを起動して表示できます。 (どちらでもroutesパラメータまたはonGenerateRoute)、または を使用してRouterウィジェット。

Web ブラウザでアプリを実行している場合、追加のセットアップは必要ありません 必要。ルート パスは、iOS または Android のディープと同じ方法で処理されます。 リンク。デフォルトでは、Web アプリは次を使用して URL フラグメントからディープ リンク パスを読み取ります。 パターン:/#/path/to/app/screen、ただし、これは次の方法で変更できます。URL戦略の構成あなたのアプリのために。

視覚的に学習したい場合は、次のビデオをチェックしてください。

Flutter でのディープリンク

始めましょう

開始するには、Android および iOS 用のクックブックを参照してください。

プラグインベースのディープリンクからの移行

で説明されているように、ディープリンクを処理するプラグインを作成した場合は、ディープリンクと flutterアプリケーション(Medium の無料記事)、 を追加してこの動作をオプトインするまで機能し続けます。FlutterDeepLinkingEnabledInfo.plistまたflutter_deeplinking_enabledAndroidManifest.xml、 それぞれ。

行動

動作はプラットフォームとアプリがサポートされているかどうかに応じて若干異なります。 起動して実行中です。

プラットフォーム/シナリオ ナビゲーターの使用 ルーターの使用
iOS (未起動) アプリはinitialRoute (「/」)を取得し、その後しばらくしてpushRouteを取得します アプリは、initialRoute (「/」) を取得し、その後、RouteInformationParser を使用してルートを解析し、RouterDelegate.setNewRoutePath を呼び出します。これにより、対応するページでナビゲーターが構成されます。
Android - (起動されていません) アプリはルート(「/deeplink」)を含むinitialRouteを取得します アプリは、initialRoute (「/deeplink」) を取得し、それを RouteInformationParser に渡してルートを解析し、対応するページで Navigator を構成する RouterDelegate.setNewRoutePath を呼び出します。
iOS(リリース済み) PushRouteが呼び出されます パスが解析され、ナビゲーターが新しいページのセットで構成されます。
アンドロイド(発売済み) PushRouteが呼び出されます パスが解析され、ナビゲーターが新しいページのセットで構成されます。

を使用するときは、Routerウィジェット、 あなたのアプリには、 新しいディープリンク時の現在のページセット アプリの実行中に開かれます。

詳細については

Flutter の新しいナビゲーションおよびルーティング システムを学習するルーター システムの概要を説明します。