Smarter sharing and onboarding with Firebase Dynamic Links and Firebase Invites – Google I/O 2016

Just another WordPress site

Smarter sharing and onboarding with Firebase Dynamic Links and Firebase Invites – Google I/O 2016

RAGHAVAN MENON: Welcome to this talk I am Raghavan, a product leader on Firebase TODD KERPELMAN: I’m Todd Kerpelman I am a developer advocate, also on Firebase Yeah! Get excited RAGHAVAN MENON: Yeah In this talk– TODD KERPELMAN: Now I’m going to sit down RAGHAVAN MENON: In this talk, we’re going to cover Dynamic Links So as you know by now, these are part of Firebase And Firebase is a suite of products that help you develop your app, grow your user base, and earn money And in this talk, we will help you use Dynamic Links to make your marketing URLs much more effective So Dynamic Links are mobile deep links that work like you always want them to So once upon a time, URLs used to be really easy, right? You’d click on them, and you’d go to a web page But then, people began using deep links, which link directly into an app And they actually enabled some very nice experiences You could click on a link on a mobile web page, and it could take you directly into an app where, for example, you could make a reservation right there from the app, without losing any contact This was really nice But here’s the problem If you want to provide the best experience when a link is clicked, that depended on quite a few things For example, if the link was clicked, was the app installed? And if the app was installed, how the app gets opened depends on which platform and which OS version it is If it is iOS 9, if it’s Android M, you could open it using [INAUDIBLE] deep links But if it happened to be clicked on an older platform, well, you’ve got to use a custom scheme, or something else And even if it was on your platform, like on iOS 9, if the link was clicked in a web view, well, web views don’t open universal links It depends on the containing app that contains it And if the app was not installed, well, you had to make a choice Do I install the app, or do I take them to a mobile web view? And even that depends on where the user is coming from and what they’re doing So this can get a little complicated Even worse, sometimes, you create a link, and that takes the user to the App Store to install the app And when they install the app and open it, you have lost all context The app does not know where you came from, or why you’re here So we created dynamic links to solve some of these issues So let’s have Todd come on up and explain how to build smarter links for your apps TODD KERPELMAN: All right Thanks Raghavan, for delivering all the sad, depressing news Now, I get to deliver all the happy news, which is that we have Dynamic Links And these are, basically, links that behave the way you want them to by intelligently changing their behavior based on what’s going on, on your user’s device So including things like what platform they’re on, and whether they have the app installed or not And most importantly, they can retain that link information through the App Store installation process, so that when users open your app for the first time, you can still get information about the link that brought the user to your app in the first place And to demonstrate why that’s important, let’s show you a little example, here This is John and Mary, and they have a recipe app, Recipe Wrangler It makes cooking sort of fun And they’ve decided that they’re excited about their app, and they want to promote it to some of the users of their current apps through an email campaign So they decide they’re going to run a little email campaign It looks like this They’ve got some lovely pictures And then, they want to add some “try out our app” buttons, and so they add a couple right in their email for, hey, check it out on Android and check it out on iOS So great idea They have a few issues slash concerns For starters, we need these two buttons, one to get people to the App Store, and one to get people to the Play Store It’s sort of twice the ugliness, and you also have the issue of, what happens if your iOS user accidentally clicks that green button and goes to the Play Store? What’s going to happen? They’re going to get confused, and probably not follow through on that email There’s issues around analytics and measuring, like, how many people are actually clicking on these links? And are the people that are getting into your app through this email campaign, are they actually valuable users? Are they more valuable than, perhaps, people who found the app organically? Are the vegetarian users more or less valuable than the dessert people? How could you measure this? All the typical analytics stuff that you want to know for these types of things And then issue number three, the welcome process for the app right now is going to be the same for all users, whether they went to the app, either through the Vegetarian Vittles email blast, or they got there through the Kiki Concoctions– that’s what we called it– that email And it’s be kind of a crappy experience for your vegetarian user who says, oh, this looks like a fun app And they go into Recipe Wrangler, and they open it up, and the very first thing they get are recipes for steak dinners, and pork chops, and stuff And they might just say, well, I guess this app isn’t for me, and close it and never come back to it So luckily, for our presentation, this is the kind of thing Dynamic Links are good for

So let’s look at how we would construct one of these, if we feel like building our URL by hand For starters, all Dynamic Links are going to start off with this kind of domain You’ve got a little sub-domain You’ll notice that abcde is a unique code that will be associated with your app That gets created for you when you create a project in Firebase Then you’ve got app.goo.gl After that, this is the link parameter And this is essentially the URL that contains the information that your app will read in when it’s first opened And we’ll talk a little more later about how you actually get this information, but it’s important to know that this is sort of the important information that your app is going to read in It also kind of plays double duty If a user opens this Dynamic Link on an unsupported platform, such as a desktop web browser, or perhaps a non-Android or iOS phone, they will also go to this link Next up, we’re going to add the package name This is basically so that we can direct your Android users to the entry for your app on the Play Store Similarly, we will add in the App Store ID, so that we know where to send your iOS users who do not have the app installed And then, we’re going to add in all our campaign tracking using UTM tags Now, if you’ve done any kind of Play Store tracking, or Google Analytics tracking, maybe this looks familiar to you If you don’t know what this is, essentially, you can think of it as a hierarchical way of representing your marketing campaigns So you sort of have this uber campaign, and then within that, you’ll have mediums that represent different places where these campaigns exist, like in an email or in a QR code, or what have you And then you can drill down from there So that ends up with an awfully large link Luckily, we do have a URL shortener that can shorten this for you, although both of these, I suppose, are fine, if you just are putting them in the href tag of an email And we also have a place on the Firebase console where you can create these links yourself, if there are non-technical members of your team who aren’t super excited about URL escaping, and stuff So you can always add this in yourself, select your apps from the dropdown list, and it will generate the large Dynamic Link or the shortened version for you But you can always use that expanded format, if you want to create these links dynamically For instance, you might want to create these links dynamically on your client, and you can do that just by sort of building up these URLs, like we showed earlier So what happens when a user clicks on this link? Well, if they have the app installed, they’ll be taken right into the app, right? And then, at that point, the Dynamic Link will be passed into your app Firebase Analytics will automatically read in all of those UTM tracking codes and make sure it gets recorded properly And then, that link parameter will get passed into your app for it to process and do whatever it wants to with it If the user does not have the app installed, then we will take your user to either the Play Store or the App Store, depending on what platform they’re on, when they click on that link And then, the first time your user opens up the app, Firebase Dynamic Links will go out, and it will look and see if there are any pending deep links for this user, for this application If it finds any, it will then deliver it to your app At this point, again, Firebase Analytics will automatically process any UTM tracking tags you had associated with it And then that link parameter will, once again, get passed into your client app that it can deal with however it sees fit So what does this get us, after creating this giant link? Well, for starters, we only need one button So that kind of deals with issue number one We don’t have to worry about our user clicking on the wrong version, or anything like that, and it looks a little nicer, despite my crappy art skills But what about tracking where users are coming from? So Firebase Dynamic Links will automatically let you know how many users clicked on any individual link So we can certainly see the number of times all of our various email campaign links got clicked, but is this getting us quality users? Is this getting us users that actually are going to do things like sign up for our newsletter from within the app, or make an in-app purchase, or subscribe to the premium version, or whatever it is that we want them to do, probably, to make some money? And that’s what you can find out with these attribution tags So basically, Firebase Analytics lets you define certain important events in your app, like making an in-app purchase, or signing up for a newsletter, or sharing the app with your friends, as these important conversion events And then, you can look at any of these conversion events, and break it out by all of the UTM parameters that get passed in, campaign media type, and so on This is all done automatically for you So you can see, are these email campaigns, are they more or less effective, not just in getting us users, but, say, users that then share the app with their friends? And how does this compare versus users who find your app organically or through other means? You can find all of that out using Firebase Analytics Similarly, if you want to find out, gosh, are dessert fans spending more or less money in our app

than our vegetarians? That’s also something you can break out using Firebase Analytics, and then you can decide which group of your users, maybe, is a little more important for your app, and you can kind of focus your attention on them So that really helps us deal with issue number two And so, how do we customize that warm welcome? So that’s with that link parameter that we pass in through these dynamic links And you’ll notice, here, we have this URL that basically looks like it’s saying, hey, let’s show the user a welcome, and maybe you want to feature cakes, or feature vegetarian recipes Assuming that we have logic on our app to read that in and customize that initial set of recipes that we show to our user, we can then make sure that users who went into our app by clicking on that link in our Vegetarian Vittles email now get vegetarian recipes I know on the screenshot there it looks like a hamburger on the bottom left, but it’s a veggie burger, trust me And so, this is the sort of thing that can really increase retention for your app users, when they open up your app and they immediately get content that is important and relevant to them, right? You know that whatever app they clicked on was probably important It was enough to drive them to install your app in the first place So you can kind of double down on that information, and make sure that you present your users with content that they care about right away, so that they don’t have to go digging through your app to actually find whatever content is relevant to them And so, that’s the sort of thing that can really kind of increase retention and get people coming back to your app So how does that link parameter get actually passed into your code? How can you kind of deal with it? We’ll go into a few implementation details On iOS, you’ll be reading in a dynamic link through one of two different ways, depending on your situation You’ll either get this through a custom URL scheme– and if you’ve never implemented custom URL schemes before, it’s not too bad Basically, what you do is, over in your info section, you’re going to create a new URL type, and you’re going to have your URL type set to your bundle ID If you’ve added Google sign in in an iOS app before, this should probably look familiar to you And then, within your application open URL options method, you’re going to get passed in that full Dynamic Link You’re going to pass that off to the Firebase Dynamic Links library, and basically ask it, hey, can you take this URL and turn it into a Dynamic Link object? You’ll either get back nil– in which case maybe it’s a URL that’s intended for Google sign in or Facebook sign in, or so on– or you’ll get back an actual dynamic link object, at which point you can get that link parameter by looking at the URL property, and then your app can actually process it in whatever way makes sense for your app The other way you’ll get it is through universal links To get that working, you’re going to need to turn on the associated domains capability within your Xcode project, and make sure that the app.goo.gl domain is listed as an associated domain That’s your way of saying, it’s OK to send universal links to me through these Dynamic Links And then, once again, you’re basically going to take that URL that comes in, pass it off to the Dynamic Links library The only difference here is, you’ll actually get back that final object in a completion handler, just in case we have to make that one network call to expand the short link into a long link And then, once we have that, we have our link parameter, and we can pass it into our app and do whatever we want to it, analyze it and figure out what content we should be displaying to our users By the way, don’t freak out about universal links If you’re like, ah, I haven’t set this up for my site, yet It’s on my to-do list somewhere, but I just haven’t done it yet You don’t need to set up universal links for your own website to get Firebase Dynamic Links working Basically, you just have to set it up on the client, because we’re sending you universal links from our own little website that we’ve created that just serves your Dynamic Link And if you want more information about this, I’m doing a whole presentation on Firebase for iOS developers at 1 o’clock today, so you can go and check that out for more information That’s a shameless plug On the Android side of things, there are a few ways you can implement this This is one strategy, which takes advantage of app inks And now, I’m going to preface this section by saying, I’m the iOS guy Probably most of you in this audience will understand this part better than me But you know what? Here we go I’m going to try it anyway So first off, you’re going to set up app links, or, if you’re on earlier versions of Android, intent filters for the URLs that your app can handle And this is, basically, your way of telling Android to automatically redirect certain URLs to certain activities within your app It says, you know what, these various web URLs, my app can handle those When you do this, Google Play services is smart enough to look at any of these incoming Firebase Dynamic Links And it’ll realize that, if that link parameter equals an app link for which your app is already registered, well, it’ll sort of do the work for you It’ll open up your app to the appropriate activity based on this link parameter You do still need to do a little bit of work on your client First off, you’re going to need to call getInvitation in the onCreate part of your app This basically looks for any pending Dynamic Links that might not have been passed into your app, possibly because your app wasn’t installed So if your user installs your app because of a Dynamic Link,

then they open it up, then you would call getInvitation to then read in the Dynamic Link That third argument of true that’s highlighted there basically says, go ahead and automatically go to whatever part of my app, whatever activity that link parameter would have normally sent me to And so, basically, in this callback, you don’t actually need to do anything We’re just kind of bringing out some debug information On the other hand, if your app is running, and Google Play services has already directed them to the appropriate activity in your app, that’s great But you are going to want to call getInvitation in that deep link activity to essentially consume that invitation from Google Play services, and just make sure it doesn’t get called again in the future And by the way, don’t freak out about app links, either If you don’t have app links set up for your app, that is totally fine as well You’ll just need to do the work yourself to kind of take in that link parameter and parse it, and not leave it up to Google Play services to figure it out for you So Android people, did that make sense? Did that sound like– all right, I’m getting the thumbs up Good So thank you So my only question is, what’s a manifest file? Just kidding I know that much So this is going great, right? We’ve got some successful email campaigns going In fact, now, one of our favorite bloggers, Grillin’ with Jill, has decided that she wants to include links to Recipe Wrangler from right within her blog And well, gosh, that seems like a great idea for Dynamic Links too, right? Imagine, you click on the link for a recipe, and Firebase Dynamic Links sends you directly to that recipe within the app Well, that is awesome And gosh, if they don’t have the app installed, then we can also send them to the Play Store or the App Store And isn’t this fantastic? This is going to send us all these new users, and this could be the beginning of a beautiful referral program So they send all these Dynamic Links off to Grillin’ with Jill She adds them in some of her various posts And imagine everyone’s shock when, the next day, people aren’t quite happy with the experience So here’s the deal If you have some kind of obvious, why not try this in our app, sort of button, it’s fine for that to take people directly to the App Store or the Play Store, right? That is a perfectly fine experience People are generally expecting that to happen when they click on a button like that But people are probably not expecting this kind of experience if they’re clicking on something that looks like it should just be taking them to another website You’ve probably surprised them in a bad way, and you get the not-quite-happy emoji guy So one way you can address this is by adding fallback parameters to your Dynamic Links And this, basically, tells the device that, instead of going to the Play Store or the App Store, why not take the user to another web page that you have specified? So it basically looks like this, when you’re constructing the giant Dynamic Link You can add one fallback URL for Android, another one for iOS devices Note that these, right now, are the same, but they don’t have to be We can direct them to different fallback pages that might have different marketing material with different screenshots and different device shots, which is always nice Maybe in the future, if Recipe Wrangler has instant app support on Android, which still looks like magic to me, maybe you’ll only have the fallback page for iOS It kind of depends So by using these fallback pages, users who still have Recipe Wrangler installed will directly go there, which is great But for those that don’t, well, it can go to whatever fallback page they specify And maybe, if all of their material is also available on their website, then great, we can show the web page directly within the device But we could also, maybe, send them to a marketing page that tells them a little bit more about Recipe Wrangler, and how awesome it is, and you should go and install it, and that sort of thing And then, of course, within this button, which now definitely looks like it should be taking you to the App Store or the Play Store, we can add in another Firebase Dynamic Link where we don’t have those fallback pages specified And this will definitely take our users to the App Store or the Play Store, so they can go ahead and install the app We give these to our Grillin’ with Jill blogger, and we’re back in action We still get the benefit, by the way, of using Dynamic Links by seeing how many people are clicking on these various links in the Firebase console We still get different behavior based on the platform that people are using But we also, now, have a much better experience, because now we’re doing what our users are probably expecting, when they click on a link that looks like a web page, or one that looks like it takes them to the app So now, this might shock you, but Recipe Wrangler, not an actual app But we have a few situations where Dynamic Links are being used in the real world by some actual companies that really exist And I’m going to ask Raghavan to come back on up and walk you through some of those RAGHAVAN MENON: OK Thank you, Todd That was great So let’s see how people are actually using Dynamic Links in the real world So these links are great, if you want to provide a great experience, as Todd explained And one of the big use cases is to actually take people through an app install and, coming out on the other side, make sure the context is propagated And so, we’ll see how some apps are doing that So this is [INAUDIBLE]

This is a Korean app for couples And you can see that the sender has shared something on their anniversary, and the developer wants this particular shared item to be open in the app, because this app does not actually have a website They only have an app, so you have to always take them to an app install, if they want to see it So Dynamic Links are great for that That particular link is actually a Dynamic Link And if the app is not installed, it takes them to the app install flow And when the app opens for the first time, it actually shows the item In this case, the item was a photograph that’s also great to be used as a background So this is a case where Dynamic Links are being used to set up a pair relationship in your app, and it’s also great, for similar use cases, to set up group relationships So one person in that group, or the pair, has the app, and you want to onboard the others in that group Dynamic Links are great to be used for invites And the first person can invite the others, and all the others get personalized, warm welcomes to invite them to get into the app This is a second use case where, before dynamic links, this particular flow starts off in an email saying, hey, check this thing out in the app And the user has to actually go through the app install process, and the app doesn’t know they came for this particular content So it takes them through its default onboarding screen, and at the end of that, the user has to go back and find the search option in app, and then search for the content And they might have forgotten what it was, so they’ve got to go back to the email, get the content, and come back and search for it So it takes them more than a dozen clicks to actually get to their content So with Dynamic Links, this makes it very, very nice and clean The app, when it opens, knows what they came here for, and they see the content right away So it goes down to just four clicks, in this case So what is the benefit of doing something like this? So one of our partners, actually, has been using this in exactly this scenario And what they found is that Dynamic Links increased their retention after four weeks by 92%, for users who came in from these links So this has a big impact on retention This is a third use case, which is, if your product actually has a desktop service– this is Google Maps– you can use Dynamic Links to effectively convert desktop users to app users, if you think the app can provide them with a better experience So here, once the user has searched for some content, something they actually care about, you can give them the option, in this case, to email it to yourself– email it or text it to themselves– and the email or the message that comes to their phone, when they click on it, if the app is present, correctly opens the app Not present, go through the install flow And when they come onto their site, they have the content right there And if the link or the message is open on a platform where there is no app for the service, that’s totally fine, because you can configure the link to be opened in that case, too This use case converts mobile web users to app users This is actually Shazam And they are doing a promotion with a very unique marketing campaign, where you can actually scan a particular logo on Coke bottles, and that will lead you to a very unique lip sync experience, where you can record a lip sync video and share it on social media And here, it’s being shared on Facebook And so, when somebody actually clicks on their friend’s shared lip sync video, it takes you to a mobile web page where they can play it And on this page, this is an opportunity for them to actually convert this user to an app user It is a call to action that says, make your own lip sync video and share it on social media And here, if you did not have Dynamic Links, they would need to have two bottoms there, one that says, if you have the app, click here If you don’t have it, download it And then, hopefully, you can figure out in the app how you can come back to this place So Dynamic Links is perfect here It’s one button that works in both cases, and, in both cases, leads you to the right place So we’ll look at a few cases where apps were using these Dynamic Links for onboarding users, converting mobile to web, mobile to app, and desktop to app One of the most common cases is actually sharing So let’s see how these can be used for sharing So going back to Todd’s example, it turns out, our food blogger isn’t the only one who wants to share recipes Our users for that app also want to share recipes, too, and this is very easy All you have to do is, in Recipe Wrangler, for each recipe, allow them to make a Dynamic Link for that particular recipe, which they can now post and share on social media or by email And so, everybody can pass the recipes around And as the recipes get passed around, well, Recipe Wrangler, our food app, gets more users

So that’s great And since they use Dynamic Links, they get all the benefits that we have talked about It works on both app install or uninstall cases on both iOS and Android in all these scenarios All they have to do is to add some boilerplate code Just create the deep link, and then find the email contact, and then find the SMS contact And maybe, if you want to be really good, have a recommendation engine that can suggest who you should share this with Because they may not want to scroll through 200 people in the contact list to find the people they want to share with And then have a pretty email that’s pre-formatted, which they can modify, so that they can customize it And then, ideally, send the emails from the app itself, without having to go into an email client So it does take a little bit of work, but Dynamically Links are great in this kind of flow Now, if only this could be a little easier, that would be really great, but this shows you how Dynamic Links can be used So thank you very much for coming TODD KERPELMAN: No, wait, wait, wait! We’re not done yet RAGHAVAN MENON: We’re not? TODD KERPELMAN: No We got one more feature RAGHAVAN MENON: Oh, yeah You forgot about that Thank you, Todd TODD KERPELMAN: [INAUDIBLE] invites My gosh Don’t end yet See, we recognized that the whole process of creating all of these links and sending them off through email and SMS is kind of valuable Also kind of a pain to do And so, we decided to standardize the process for you in one nice little package Now, you’re still more than welcome to go ahead and generate your own Dynamic Links and serve them however you want You can still do that But for SMS and email, which tends to be two of the most common situations, we have a solution that you can use right away So generally, this is how it would work On iOS, you’re basically going to create an invite builder, and you’re going to give it a bunch of parameters that sort of change its initial behavior What the deep link Info is going to be, for people that receive this invite, that’s the important one, as well as, maybe, what you want the default outbound message to be from that user, and if you want to customize the call to action button, or that sort of thing Once you do that, you’re going to open up the dialogue, and it will appear as a view controller right on top of your current app On Android, almost the same process You’re going to create an intent You’re going to set all the various parameters around what you want the default message to be for your user, what you want the deep link Info to be, and so on And then, you’re going to launch it to get the UI And what you get– on iOS, anyway– is something that looks a little like this A few notes about this invite dialog You’ll note that we are mixing in SMS and email, and that’s fine That’s good It turns out, a lot of users, they only have either the email address or the phone number of their recipients, right? They don’t have both, and having them in one convenient location is awfully nice Also, you’ll notice that we have some suggestions from Google based on folks that we think you might want to talk to, based on who we think your best friends are, or at least who you want to communicate with And so, that can be very useful, if your best friends happen to be William and Zena, and you don’t want to scroll through 300 contacts to get to those people So it’s kind of nice What your recipients will see, by default, is a message that looks a little something like this So you’ll notice, the subject line is the customized user message that your user has sent to people And then, the actual content of the email is what we have automatically grabbed from the App Store or the Play Store for you So you can see the description, which is directly from the App Store, and the screenshots, and so on And this is pretty good for delivering a nice looking email with eight lines of code But if you do want to do a little more, and have a little more control on what this invitation looks like, you can add in an email content parameter And so, this is a parameter where you would generate a whole bunch of HTML, or you would supply in a whole bunch of HTML, and that would control what the email invitation looks like to those recipients So this not only lets you design your invitation exactly the way you’d like, but it also means, because it’s happening right there in your app, you can customize that invitation as you’re sending it So you can really have custom invites based on the content that your user wants to share For example, this is what Yummly did They decided, instead of just sharing– if you want to share a recipe, instead of the email just containing some generic info about the Yummly app, they said, well, gosh, we have all this recipe info right here Let’s put that into the email And so, what you get is a little bit more about the recipe You get to see the picture of the chocolate peppermint cookies, which look delicious– maybe because it’s lunchtime– and a little bit of a snippet of the recipe to get you interested And then, you’re a little more inspired to click on that link that says, why, yes, I would like to install the Yummly app Oh, man These guys really have a good recipe app already Looks like it’s back to the drawing board for John and Mary Oh, all right, that’s good They got a backup plan

So the process for receiving invites, its almost the same as for receiving a deep link On iOS, instead of passing the URL you get into the Firebase Dynamic Links library, you’re going to pass it into the Firebase Invites library And then you’ll get back an object that looks like an invite, and you can then parse it as you need On Android, you actually don’t need to do anything If you have already implemented Firebase Dynamic Links, the code is exactly the same for dealing with incoming Firebase invites So that’s kind of nice So now, let’s move on to the one bit of bummer news So on Android, you don’t need to be signed in at all to send or receive an invite Anybody is free to send any invitations they want Anybody is free to accept any invitations And that’s all great On iOS, you also don’t need to be signed in to receive an invite You get an invite coming in, go ahead, and you can click on that email, and it’ll take you to your app, and so on And so, maybe you can see where we’re going here You do, however, have to be signed in with Google to send invitations on iOS Now, maybe, for some of you, that’s not a problem Your app already uses sign in, and Google is one of your preferred sign in providers And you’re like, oh, this is fine Most of my users are signing in with Google anyway But maybe it is a problem Maybe your app doesn’t have sign in at all, or maybe you’re not adding Google sign in to your app And so, you say, well, OK That’s still not a big deal I’m just going to put Firebase invites in my Android app, so my Android users can still share with each other And that’s fine, and my iOS users, they won’t be sharing, but I’ll still kind of get some viral effects from sending off all these invites So here’s the one problem with that It turns out that Android users and iOS users sometimes still talk to each other In fact, frequently They’re often friends That a whole Montagues and Capulets thing And so, the problem is that your Android users are going to send these invitations not only to other Android users, but also to iOS users as well The iOS users are going to click on that invitation They will at least go through the process of installing your app, but then, if you haven’t implemented any kind of Firebase Invites logic on the app, it’s not going to know what to do with that invitation And it’s just going to give your users the generic home screen, instead of that great recipe that your users are trying to share, and they’re going to be kind of sad and confused So what I recommend is, at the very least, if you’re adding Firebase Invites on Android, make sure that you add the ability to receive invites on iOS Like you saw, the code is very nearly identical to the deep link parsing we did earlier And this will make sure that your Android users can still send invites to whoever they want, and they will get accepted, and your iOS users won’t be confused And then, again, totally up to you whether you want to add in sending invitations on iOS So there you go That is Firebase Invites in a nutshell Raghavan, you want to take us home? RAGHAVAN MENON: Thank you, Todd That was great So let’s recap So in this talk, we covered Dynamic Links, and so now, you know how to use them to make great marketing URLs for your app and your product And we also looked at Invited, which is an out-of-the-box invite flow for very effective sharing and invites on SMS and email For more information, please head over to our docs and support And we also have a playground set up for you to create Dynamic Links and play with it, and that’s at fdl-links.appspot.com So just go there, and it’s valid during I/O, and you can go and create some Dynamic Links and play with them, and try all the parameters out This is all the remaining talks going on So we’ll be around after this talk, and happy to answer any questions off the stage Thank you TODD KERPELMAN: Thank you [MUSIC PLAYING]