Plunge — better deep linking for Android apps

Plunge into the depths of your app

If you build or maintain an app which has a corresponding website, then you’ll no doubt be aware of the hassle of dealing with deep linking. Ensuring your intent filters handle the right URLs and your routing logic is correct can be a real challenge. While it’s possible to write comprehensive unit tests for your routing logic, doing the same for your intent filters isn’t quite as straightforward.

Unless, of course, you use Plunge

What is Plunge?

Plunge simplifies matching URLs to callbacks when a deep link is handled by the app, and provides an easy, coherent solution to verifying the behaviour of both your intent filters and your routing logic. Plunge gives you a simple domain-specific language to handle the routing, which includes the ability to extract useful information out of the URL required to route the user correctly.

Yeah, but… what IS Plunge, really?

Well, Plunge is a UrlSchemeHandler…

… which you use in your Activity…

… which you can write tests in JSON for…

… which can be run as unit tests to test the routing logic…

… or as a Gradle task to verify the intent filters.

And that’s Plunge!

Check it out!

Plunge is available on GitHub — full installation and implementation instructions are there.

Don’t forget to 👏, and follow me on all the socials @hndmrsh. Also, check out Plunge co-author Jamie Sanson’s post for more deep linking advice.