Bumble Konstantin Yakushev Aug 23, 2018

Universal Links for Android and iOS

Article Summary

Konstantin Yakushev from Bumble reveals the brutal truth about universal links: Apple and Google's 'simple' solution is riddled with undocumented bugs that break user experience. Here's how Badoo's team catalogued every dragon and built a system that actually works.

When Badoo (now Bumble) set out to implement universal links for seamless app-to-web sharing, they discovered that redirects fail, SafariViewController breaks everything, and one mysterious iOS button permanently disables deep linking. This deep dive chronicles their journey from failed third-party solutions to a custom implementation handling millions of links.

Key Takeaways

Critical Insight

Badoo built a production universal link system by working around five major undocumented platform bugs, using dual domains, custom URL shortening, and strategic HTML previews to ensure links work across iOS, Android, and web.

The article includes a complete implementation checklist and reveals why Facebook still forces you to use ancient badoo:// scheme links for ads in 2018.

About This Article

Problem

Konstantin Yakushev's team at Badoo found a problem with AppsFlyer's universal link setup. The links were being redirected through onelink.me, a third-party domain, which meant Safari would open instead of the app even though the SDK was integrated correctly.

Solution

Badoo decided to build their own universal link system instead. They used two registered domains, m.badoo.com and mlink.badoo.com, that pointed to each other. This approach gave them full control over how links behaved and removed the need for external redirect services.

Impact

The custom system worked well for Badoo. Millions of users could now share content on Facebook, Telegram, and email and have universal links work properly. They no longer depended on branch.io or AppsFlyer's infrastructure.