53

For example, i have case in my flutter app when user can recover his password. In that case user will receive link on e-mail, and i want by clicking on that link, my flutter app will open, and route to specific screen.

Vadziec Poplavsky
  • 709
  • 1
  • 6
  • 12
  • 3
    You can use Firebase Dynamic Links , I wrote a post about that : https://medium.com/@diegoveloper/flutter-firebase-dynamic-link-6f1b79278ce0 – diegoveloper Dec 13 '18 at 22:01
  • @diegoveloper thanks! This is what i actually try to find – Vadziec Poplavsky Dec 14 '18 at 05:17
  • There is a nice plugin for this, https://pub.dev/packages/uni_links it also has a detailed explanation on how you need to configure iOS and Android for it to work (which is the hardest part imho); another nice source of information is [this blog post](https://medium.com/flutter-community/deep-links-and-flutter-applications-how-to-handle-them-properly-8c9865af9283) – Edoardo Dec 30 '19 at 09:50

5 Answers5

15

You'll want to view this from the perspective of: How do I open my iOS/Android app from a URL, ie. App Deep Linking.

They each have their own respective implementations:

Or you can go with more comprehensive SDKs that are capable of doing both for you:

TWL
  • 6,228
  • 29
  • 65
6

So here , you must use a dynamic link. The best solution is the use of Firebase Dynamic Links .

One of the advantages of Firebase Dynamic Links: Convert mobile web users to native app users

With Dynamic Links, you can seamlessly transition users from your mobile website to the equivalent content within your app. And because the links survive the app install process, even new users can pick up where they left off on your mobile site without missing a beat.

enter image description here

Another solution is to switch to native solutions: Android and iOS.

Kab Agouda
  • 6,309
  • 38
  • 32
2

You can use app_links, that supports Android App Links, Deep Links, iOs Universal Links and Custom URL schemes handler (desktop included) for Android, iOS, macOS, web and Windows.

adelarsq
  • 3,718
  • 4
  • 37
  • 47
2

You dose not need to use any package to just launch app from url (if
you dont want to get data from link)

          <!-- App Link sample -->

            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="https" android:host="myapp.flutter.com" android:pathPrefix="/success" />
                <data android:scheme="https" android:host="myapp.flutter.com" android:pathPrefix="/failure" />
            </intent-filter>

            <!-- Deep Link sample -->
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <!-- Add optional android:host to distinguish your app
                     from others in case of conflicting scheme name -->
                <data android:scheme="app" android:host="success" />
                <data android:scheme="app" android:host="failure" />
                <!-- <data android:scheme="sample" /> -->
            </intent-filter>
  • Just copy and paste in AndroidManifest.xml bellow code and launch in browser "app://success" or "app://failure".
  • Remember launch "app://success" or "app://failure" not search
desertnaut
  • 57,590
  • 26
  • 140
  • 166
0

Firebase Dynamic Links is no longer recommended, as per 2023

enter image description here

You may proceed with App Links or Universal links

Heshan Sandeepa
  • 3,388
  • 2
  • 35
  • 45