August 31st, 2015
After Apple announced the upcoming iOS Spotlight search functionality, we dug straight into the documentation to try it out. We thought, wouldn’t it be great if Branch developers could immediately leverage the deep linking and tracking technology that Branch offers through the Core Spotlight framework?
We’re excited to announce today that this is possible. The same Branch links that you use for emails, sharing features, referrals, and smart app banners, now work with Spotlight search. The following integration guide provides everything you need to know about Spotlight on iOS 9.
Let’s look at an example. Let’s say you’ve built an app that lets users create and share monsters, and you want those monsters to be searchable. You can add a single line of code to your share page that will:
List the content in Spotlight Local and Spotlight Cloud search
Allow you to deep link from Apple Spotlight search
Allow you to track installs and re-opens through Spotlight
Seem pretty cool huh? Let’s walk through setting up these features on iOS 9 using Branch.
In order to make your life as simple as possible, we’ve created a wrapper around both CSSearchableItem and CSSearchableIndex classes so that you don’t have to do any of the heavy lifting. Here’s the one line of code to immediately list your content on Spotlight:
It’s safe to call this multiple times. We take care of the uniqueness in order to prevent duplicate listings.
In case you want a bit more flexibility, we’ve also exposed other arguments like:
– NSSet keywords
– NSString type
Deep linking is easier than ever with Spotlight search. When a user clicks on a result in the search bar, you want to make sure the correct page will show immediately. The worst thing you could do is take them to the home screen.
In order to start deep linking from iOS Spotlight, first you need to allow Branch to receive the intents from Spotlight:
Now, on click, your Spotlight deep link data will appear in the deep link handler that you’ve registered in didFinishLaunchingWithOptions (if this is unfamiliar, check out our getting started guide).
Once you receive the parameters in the deep link handler, you can load the appropriate View Controller to display the data. Once the View Controller loads, you can retrieve the parameters via the
getLatestReferringParams method call.
When you use the in-app method
createDiscoverableContent in the Branch SDK, we automatically configure the indexable content to be trackable. You’ll see all of your clicks and installs/opens appear with the channel “spotlight” on the Branch dashboard.
Last but not least, since Branch will automatically list your content on Spotlight cloud search, it’s now possible for users who don’t have the app installed to find your content. To deliver a compelling experience to these users in addition to the ones who already have the app, try using a Deepview.
In case you’re not familiar, a Deepview is a mobile web preview of the content inside your app. Included in every preview is a call-to-action to download in the app store. Our tests have found that users are 2-7x more likely to download an app after a Deepview than sending them to an app store. Here’s what the flow looks like:
Since we automatically configure your Spotlight content for Deepviews, you can enable Deepviews with the click of a button.
It’s hard to say exactly how well this channel will work to drive new users since there’s no real way for Apple to incorporate relevancy…yet. If Google taught us anything, it’s that relevancy is a critical component of a quality search engine. That being said, Apple Spotlight app discovery is a new pathway and a way to avoid some of the barriers that the App Store has created. Even if it doesn’t convert at first, Apple will be sure to continue working to improve this feature. The first developers to best utilize Spotlight will learn a ton from their early experiences and be well positioned to acquire new users if that channel proves fruitful.
Cross your fingers for some quality search traffic. We’ll be right there with you, waiting to see how this channel performs.