Starting the Link4:43 with Ben Deitch
In this video we'll learn how deep links work and start setting one up!
[MUSIC] 0:00 Hi, this is Ben, and I'm here to tell you a little bit about Deep Links and Android. 0:04 Deep links, 0:09 unlike regular links, are a way to link a user to somewhere inside your app. 0:10 A good example of this is the Wikipedia app. 0:14 If you search for something in Google, for example, voxel and then 0:17 you click on the Wikipedia link provided you have the Wikipedia app installed. 0:23 You get the option to open this link right in Wikipedia and if we do that. 0:28 It doesn't just open to the front page of Wikipedia, 0:35 it opens right to the voxel page. 0:38 This is a deep link. 0:40 Instead of just linking us to the app itself 0:41 it linked us to the specific part of the app that we're interested in. 0:44 Pretty cool right? 0:47 And actually they're really easy to set up too. 0:49 It's just a few extra lines near Android manifest to make your activity 0:51 receive the event. 0:55 And then you've just got to handle the event in your activity. 0:56 So let's take a couple of minutes and create an app that uses deep links. 0:59 The app we're going to make is going to be a pretty simple one. 1:03 We're going to make it work with the Treehouse tracks page and when the track 1:06 is selected the user will have the option to open that link in our app, and 1:10 then our app will just display the name of the track that was selected. 1:14 So first things first we're going to need to create an app. 1:18 So let's choose start a new android studio project and 1:21 then let's name it DeepLinks and just accept all the defaults. 1:25 Now that we've got our app, let's modify the manifest to let MainActivity receive 1:35 an intent whenever we click on a link to one of the tracks. 1:40 To do this, we need to add a few entries to the intent-filter for MainActivity. 1:44 The first thing we need to add is another action. 1:50 But before we do that I'm going to take out the space between the main action and 1:53 the launcher category. 1:57 And lets add a couple of lines at the bottom to give us a little more room. 2:00 Specifically we need to add the view action. 2:03 The view action is the most generic action you can use on a piece of data. 2:06 And when a view action is encountered, 2:11 Android would do its best to show that data and the right way. 2:13 For example clicking on a phone number usually takes us to the dialer, 2:17 so let's add a new action element. 2:22 And for the name, let's use 2:25 android.intent.action.VIEW. 2:30 Nice, after a view action, we need to add a couple of category entries. 2:36 The first category we need to add is the default category. 2:41 If you want your activity to be able to receive implicit intense, 2:44 then you need to declare the default category. 2:48 An implicit intent is just any intent where the target isn't directly specified. 2:51 So the intent that gave us the choice of using the Wikipedia app or 2:56 the browser was an implicit intent. 3:00 Okay so let's add the default category, 3:03 category android name default. 3:08 And then the other category we need to add is the browserable category. 3:11 Any activity that can be opened directly from the browser must support this 3:16 category. 3:20 So category with android name of BROWSABLE and then close the tag. 3:22 Also if you'd like to learn more about the BROWSABLE category, 3:30 there's a helpful link below in the teacher's notes. 3:33 Last but not least, we need to add a data element. 3:36 The data element tells Android which URL we're supporting. 3:39 So let's add a data element and then inside we need to set three properties. 3:43 Since we want the app to receive an intent, 3:50 whenever a user tries to navigate to one of the tracks on the Treehouse website 3:52 we need to make this point to the tree house tracks page. 3:57 To specify the tracks page, we need to set the scheme, host, and 4:00 the path prefix properties. 4:04 So let's specify the scheme as HTTPS. 4:06 The host as teamtreehouse.com and 4:11 the path prefix as /tracks and 4:17 then let's close off our data tag. 4:23 All right we're all set up in the manifest to start receiving 4:29 an intent whenever a user tries to browse to the Treehouse tracks page. 4:34 Coming up we'll handle that intent and see which track the user selected. 4:38
You need to sign up for Treehouse in order to download course files.Sign up