Analytics and DashboardApp IndexingContent AnalyticsTechnical

Announcing the Branch Universal Object for Deep Linking and Indexing

By November 11, 2015 One Comment

Branch is a deep linking platform for app developers that helps you connect your in-app content to the users that need it. We started the company by offering a powerful linking tool that helps you publish your app content on any channel and supports deep linking in all scenarios. This is just the beginning.

Deep linking is just the foundation for a much better world. We fundamentally believe that the mobile app ecosystem is completely saturated, and the only way to fix it is by unearthing the content that resides within your app. Branch links were the first step. The Branch Universal Object is the future.

Branch Universal Object for content indexing

You can get started with Content Sharing or Deepviews by using these new methods on our dev portal. Or, setup simple deep linking for your View Controllers and Activity if you haven’t already.

What is the Branch Universal Object?

Our previous method of creating links was a single call getShortUrl, where you passed in all of the metadata and link properties in order to get a deep link back. We’re adding just one more step in between that we believe makes a lot more sense.

Here’s the old mechanism for creating a deep link (I’m going to use iOS as an example, but we support Android as well):

Here’s the new mechanism using the Branch Universal Object:

As you can see, it’s a bit more code but a lot more structured. What’s really cool about this is that once you’ve created the Universal Object, you can then do a bunch of neat things like:

0. Register a view on the content (for a new product coming soon)

1. Index the content on Spotlight Search

2. Create a share sheet that lets the user share across all channels

As you can see, the Universal Object makes the most sense. All of these actions listed are taken on the content that resides within the app.

Why Should I Use It?

For your own deep linking and content sharing needs, the Branch Universal Object eliminates the clutter of the multiple methods that you use on top of the object. For example, for a given piece of content, you might want to create a link to it, allow the user to share it, track a view on it, or index it on Spotlight. Once you define the content object with this new class, it’s simple to call all of those actions on the instantiated class.

Additionally, by leveraging the Branch Universal Object, you give us the deep link data in a much more structured format that allows us to create standards for the future products that we build. The original method of creating links worked well, but made our lives a bit difficult when it came to parsing. These future products will benefit you significantly.

What Is In the Works?

In general, Branch is pretty quiet about our plans for the future. Our promise to you is that we will only build things that will help you succeed in the mobile marketplace by fixing the broken discovery process. We promise that we’ll be able to deliver high quality users in a way that doesn’t exist today. It’s what all of us at Branch think about day in and day out.

  • Lucas Lallement

    Thanks for providing us this feature. Is it possible to use showShareSheetWithLinkProperties with $deeplink_path as a linkProperties controlParam? We don’t currently use a CanonicalIdentifier for our objects.