Skip to content

Commit f31d6ec

Browse files
authored
FAQs deeplinking (#359)
* add warning about link generation failures * add faqs * update refs
1 parent 6db7fd1 commit f31d6ec

File tree

1 file changed

+49
-4
lines changed

1 file changed

+49
-4
lines changed

docs/ff-concepts/navigation-routing/deep-dynamic-linking.md

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ keywords: [FlutterFlow, Deep Linking, Dynamic Linking, Concepts]
1010
# Deep & Dynamic Linking
1111

1212
:::danger[Support for Dynamic Links]
13-
On August 25th, 2025, Firebase Dynamic Links will be shut down. Read more about the [**announcement here**](https://firebase.google.com/support/dynamic-links-faq). It's recommended to start exploring alternative solutions like [**Branch.io**](#deep-links-with-branchio) for link management and deep linking.
13+
On August 25th, 2025, Firebase Dynamic Links will be shut down. Read more about the [**announcement here**](https://firebase.google.com/support/dynamic-links-faq). It's recommended to start exploring alternative solutions like [**Branch.io**](#branch-deeplinking-library) for link management and deep linking.
1414
:::
1515

1616
Adding deep and dynamic linking allows you to share a special type of link that takes the user right
@@ -831,7 +831,7 @@ The `handleBranchDeeplink` action receives a `linkData` object that contains all
831831
832832
- **`page`:** The target page or screen the link is meant to open (e.g., paywall). This is a custom parameter set by the user when generating the link.
833833
834-
- Any custom parameters added during link creation (e.g., `campaign`, `productId`, `referrer`, etc.)
834+
- Any custom parameters added during link creation (e.g., `campaign`, `productId`, `referrer`, etc.). Ensure the key and value is both `String` and `String`.
835835
836836
This lets you write flexible, conditional navigation logic based on what was shared.
837837
@@ -864,7 +864,10 @@ This lets you write flexible, conditional navigation logic based on what was sha
864864
865865
<p></p>
866866
867-
867+
:::tip
868+
Keep **"Allow Navigate Back"** checked when navigating from the Home Page to ensure it stays in the stack. This is applicable to any navigation from the Home Page, not limited to deeplinking navigation logic.
869+
This allows the user to return to the Home Page at any time and ensures that deep link logic defined there continues to work.
870+
:::
868871
869872
870873
Use the link data from this callback to:
@@ -899,7 +902,7 @@ The action accepts the following parameters:
899902
- **`description`** – (Optional) A short description of the content.
900903
901904
- **`metadata`** – A dynamic map of custom parameters to include with the link
902-
(e.g., page: "imageDetails", imageRef: "abc123", etc.).
905+
(e.g., page: "imageDetails", imageRef: "abc123", etc.)
903906
904907
- **`linkProperties`** – A dynamic map for configuring how the link behaves
905908
(e.g., set the `feature`, `channel`, `campaign`, or `stage` for analytics).
@@ -997,3 +1000,45 @@ Now in your `handleBranchDeeplink` action callback, add the additional logic to
9971000
</div>
9981001
9991002
1003+
### FAQs
1004+
1005+
<details>
1006+
<summary>Why isn't my deep link working when I navigate to another page from the home page?</summary>
1007+
1008+
It's likely because you're navigating in a way that removes the Home Page from the stack for example, disabling "**Allow Navigate Back**" in the Navigate Actions.
1009+
1010+
Since the deep link handler is defined on the Home Page, it gets disposed and can’t respond when a deep link is triggered.
1011+
1012+
✅ Solution:
1013+
1014+
Keep the Home Page in the stack by enabling "**Allow Navigate Back**" on any navigation actions from your home page (not limited to navigation logic in onLinkOpened action callback).
1015+
1016+
This ensures the Home Page stays active and can continue handling deep links.
1017+
1018+
</details>
1019+
1020+
<details>
1021+
<summary> Why is my Branch link generation failing?</summary>
1022+
1023+
This often happens because one or more of the inputs passed to the action (like `metadata` or `linkProperties` or `customParams` when using `createLinkProperties` helper function) contains invalid JSON formatting.
1024+
1025+
Branch expects these values to be passed as a map of plain `String` key-value pairs, not as nested JSON, objects, or dynamic types.
1026+
1027+
Ensure both **Key and Value's expected type** is `String` and `String` and try again.
1028+
</details>
1029+
1030+
<details>
1031+
<summary> Why isn’t deep linking working when testing from a simulator? </summary>
1032+
1033+
Deep linking, especially Universal Links and deferred deep linking may not work reliably on iOS or Android simulators/emulators due to platform limitations.
1034+
1035+
Simulator Limitations:
1036+
- **iOS:** Simulators cannot verify Universal Links properly (no App Store, limited AASA domain support).
1037+
1038+
- **Android:** Some versions fail to auto-verify App Links or handle deferred deep links without Play Services.
1039+
1040+
✅ Recommended:
1041+
1042+
Always test deep linking on a physical device for accurate behavior.
1043+
1044+
</details>

0 commit comments

Comments
 (0)