I’m making an attempt to construct a deferred deep hyperlink in iOS and have been making an attempt to analysis options to perform this. By deferred deep hyperlink, I imply when the consumer doesn’t have the applying put in, they click on the deep hyperlink, set up the applying, then the applying is ready to open a selected hyperlink contained in the app by advantage of them utilizing that specific hyperlink to obtain it.
Flawed Options
Plainly there are two widespread options to this on-line, each of which appear to have important drawbacks.
-
Capturing the IP Handle
Upon clicking the hyperlink, the server captures the deep hyperlink and the IP deal with of the consumer earlier than redirecting them to the applying. As soon as the applying is lastly put in and opened, the IP deal with is distributed to the server to retrieve the deep hyperlink if obtainable and redirect the consumer inside the app.
-
Utilizing iOS Pasteboard
This choices makes use of the pasteboard as an middleman to move the deep linking knowledge to the applying after set up. After clicking the hyperlink, on Safari (or no matter net browser they’re utilizing), the deep linking URL shall be copied to the pasteboard. After set up, the pasteboard shall be checked and relying on its contents the app will navigate wherever it must go.
-
It looks like virtually each third celebration resolution to this difficulty makes use of this methodology (Department, Alter)
-
This feature additionally has a number of issues related to it, specifically:
- The app must immediate each consumer to entry their pasteboard after opening it the primary time after set up which the understandably is perhaps hesitant to grant entry to.
- If the consumer overwrites the pasteboard on this time, it’s going to render the deep hyperlink ineffective.
-
Query
Apple is infamous for its walled backyard between functions, that means that native assist for this kind of factor will not be obtainable, leaving us to provide you with our personal options. Is there every other technique to carry out this deferred deep linking to an iOS utility with out utilizing any of the aforementioned strategies that doesn’t share the identical drawbacks?