There's a problem with iOS 10.3 redirects: And Adjust has a fix for it
A new security feature introduced in iOS 10.3 has created a fractured user experience. Below we take a brief look at the problem, and how we've worked to solve it.
What's happened to iOS 10.3?
In a bid to add an additional layer of security, Apple introduced a mechanism which developers should be aware of. The process looks like this: if a user clicks on a link that points to the App Store, and is then redirected to Safari (this issue does not affect other browsers), a dialogue box is prompted:
Before the update, the browser would immediately send users to the App Store without confirmation. The modal above slows that smooth journey, with the intention of making users think twice about the link they just clicked.
A larger problem comes up if a user clicks 'Cancel'. If they do, they are not sent back to the previous page, but are stuck on a blank web page, and aren’t redirected elsewhere.
Later, if they click Cancel, then back, and click the link again, Safari will show an error message with no way to return to the App Store.
Now, we’ve created an additional solution that goes beyond Adjust’s landing page. If you want the fallback to point to a specific landing page, then you can append `fallback_lp=xxxx` within the tracking URL. For example, this is what the link would look like with only the fallback parameter (assume your tracker token is “abc123” and your custom landing page is http://your-landing-page.com):
(You’d need to encode your landing page url.)
You can still work with Adjust’s fallback as before. However, this fix provides extra customizability.
Here’s how the solution works with regards to the different versions of iOS:
- If the OS is lower than iOS 10.3, the store redirect functions correctly without a fix.
- If the OS is on 10.3 and above, and if the click happens within safari (no matter if it has `fallback_lp` parameter), the user is redirected to store.
- If the OS is on 10.3 and above, and if click happens outside of safari with no `fallback_lp` parameter included, Adjust renders the current landing page.
- If the OS is on 10.3 and above, and if click happens outside of safari with the `fallback_lp` parameter included, then the click redirects to `fallback_lp`.