Application.OpenURL deep link expected behavior?

I’m looking into implementation for a client contract which, to be done right, will need to open a 3rd party app to handle some security/account vetting. On Android (and plausibly other platforms) it looks like this is done most readily with a deep link and Application.OpenURL(“receverapp:whateverdata”).

However, some off-the-shelf code provided by a 3rd party specifically to open their app… looks like it just stalls out on the OpenURL call when that particular app is not installed.
That said, there are a dozen odd layers of wrapping in the 3rd party logic so I can’t be 1000% certain it’s actually getting to the OpenURL call, at least not without more time investment than it takes to write a forum post. But either way, this is a problem I think I’ll need to solve at some point even if I ditch the sample library and write it from scratch. So.

  1. What is the expected behavior when OpenURL is used with an application-specific deep link on Android and there is no installed application registered to handle that specific deep link protocol/address?
  2. If the expected behavior is the behavior I think I’m seeing- no visible response and the app blows straight through the call as if it isn’t there- is there any official way to determine whether the opening of the deep link was un/successful? Any way to query in advance if there is an application registered to handle a particular deep link code?
  3. Assuming the answer to 1 isn’t “the OS should automatically be prompting to find an app to open the link” and the answer to 2 is “yes”, would the best-practice followup on a failed deep link be a second OpenURL to… the regular old https web URL of a store app known to handle the aforementioned deep link?

The official documentation Unity - Scripting API: Application.OpenURL is quite verbose on all the types of things one could-might-un/safely do with OpenURL, but only a couple google hits and existing forum threads even mention using OpenURL for deep links, and nothing anywhere mentions error handling or even whether the call is blocking/nonblocking/asynchronous.

More digging, from Open URL - How can i check if the app URL is not available, then open the browser URL instead ? - Questions & Answers - Unity DiscussionsOpen facebook app instead safari / iOS - C# it looks like as of 7 years ago, the closest thing to a reliable process was to make the OpenURL call, and then timestamp the next command executed, hoping that the OS would fail gracefully back to your app if it didn’t support the deep link (as opposed to, reported on Android, crashing the Unity process). If technology has been at a standstill for 7 years, I’m guessing this is still viable?

Not sure if this helps, but I’m familiar with this company https://branch.io/what-is-deep-linking/

yeah, not talking about a https: link that happens to go to a specific promoted content, and not wanting to sign up for a 3rd party https: link service that, within their website, redirects to content or opens an app or whatever. Specifically looking for whether OpenURL has any of its own feedback on if it was able to open an already-application-specific link (with a given not-http/s prefix). Empirical and google evidence so far is no, OpenURL is fire-and-forget nonblocking inline and the only way to get feedback on if it did anything is to ensure RunInBackground is false/impossible, check wall-clock time before and after, and make an educated guess.

Yes, that is what Branch supports, app specific URNs and local install if the app isn’t available. Sorry I can’t be of more help.