Search Header Logo
Flutter Deeplink

Flutter Deeplink

Assessment

Presentation

Education

University

Medium

Created by

Thea Choem

Used 3+ times

FREE Resource

33 Slides • 4 Questions

1

Deeplink Implementation at VTenh

Thea Choem

media

2

​​Who am I?

  • ​Name: Thea Choem

  • Mobile Developer at BookMeBus

  • Student at NIPTICT (Generation 6)

media

3

Poll

Deeplink, Have you heard about it before?

Yes 😉

No 🤷

Have implemented 😎

4

​What is Deeplink?

https://medium.com/wolox/ios-deep-linking-url-scheme-vs-universal-links-50abd3802f97

https://stackoverflow.com/questions/46169025/android-deep-links-and-app-links-confused

media

5

​Content: Steps to Deeplink

  1. ​Hosting verification files

  2. Setup Deeplink

  3. ​Handling the incoming link in the app.

media

6

1. Hosting verification files

7

​1.1. Android

Host assetlinks.json under /.well-known/assetlinks.json

media

8

​Examples:

www.vtenh.com/.well-known/assetlinks.json

www.google.com/.well-known/assetlinks.json

Read more: https://simonmarquis.github.io/Android-App-Linking/#app-links

9

​1.2. IOS

Host the .well-known/apple-app-site-association

media

10

​​Where to get appID? 🤷‍♂️

eg. ​Q123456789.com.vtenh.app.store

Read more: https://developer.apple.com/account/#!/membership/Q123456789

media

11

2. Setup Deeplink

12

Packages

Run this command with Flutter:

media

Read more: https://pub.dev/packages/uni_links

13

Get initial & Stream links

media

lib/main.dart

14

​2.1. Android Configuration

Make sure to set android:launchMode="singleInstance"

media

​android/app/src/main/AndroidManifest.xml

15

​Launch modes (launchMode)

  1. ​standard

  2. singleTop

  3. singleTask

  4. singleInstance

Read more: https://medium.com/android-news/android-activity-launch-mode-e0df1aa72242

16

There are 2 types of Android Deeplink:

  • ​Deep Links can have any custom scheme and do not require a host, nor a hosted file.

  • ​​App Links only work with HTTPS scheme and require a specified host, plus a hosted file - assetlinks.json

​(

17

​2.1. Android Configuration

Add string value to android resources - strings.xml

media

android/app/src/main/res/values/strings.xml

18

​Add intents filter: Deep Links (HTTPS)

media

19

​Add intents filter: Deep Links (HTTP)

media

20

​Add intents filter: App Links

media

21

web page not embeddable

close #1 configure android deeplink by theachoem · Pull Request #4 · theachoem/flutter-deeplink-example · GitHub

You can open this webpage in a new tab.

22

​2.2. IOS Configuration

Set schemes:

ios/Runner/Info.plist

media

23

​2.2. IOS Configuration

Set associated domains:

ios/Runner/Runner.entitlements

media

24

web page not embeddable

close #2 configure ios deeplink by theachoem · Pull Request #5 · theachoem/flutter-deeplink-example · GitHub

You can open this webpage in a new tab.

25

3. ​Handling the incoming link in the app.

26

Flutter Navigations:

media

27

What will we do:

media

28

Packages

Run this command with Flutter:

media

Read more: https://pub.dev/packages/flutter_deep_linking

29

media

30

Generate the route:

media

31

Navigate to the url:

media

32

web page not embeddable

close #3 configure route & navigation by theachoem · Pull Request #6 · theachoem/flutter-deeplink-example · GitHub

You can open this webpage in a new tab.

33

We've done, Quiz time!

34

Multiple Choice

How many types of android launchMode?

1

1

2

2

3

3

4

4

35

Multiple Choice

What is the recommend launchMode for android deeplink?

1

​standard

2

singleTop

3

singleTask

4

singleInstance

36

Multiple Choice

Where to host android verification files?

1

.well-known/

assetlinks.json

2

well-known/

apple-app-site-association

37

Thank you for your attentions

Any question?

media

Deeplink Implementation at VTenh

Thea Choem

media

Show answer

Auto Play

Slide 1 / 37

SLIDE