This change allows deeplinks to specify a fallback if the original deeplink doesn't open properly.
We add a fallbackURLs: [URL] property to the Deeplinking protocol. The BaseDeeplink implements it and automatically adds the Uber-enterprise and Uber-nightly schemes if the original scheme is uber, to make beta testing easier.
The DeeplinkManager is modified so that it uses the fallbacks if opening a deeplink is not successful.
The RequestDeeplink and DeeplinkRequestingBehavior take an additional DeeplinkFallbackType enum in the initializer which defaults to .mobileWeb. Otherwise, it can fall back to .appStore or .none.
This change allows deeplinks to specify a fallback if the original deeplink doesn't open properly.
We add a
fallbackURLs: [URL]
property to theDeeplinking
protocol. TheBaseDeeplink
implements it and automatically adds theUber-enterprise
andUber-nightly
schemes if the original scheme isuber
, to make beta testing easier.The
DeeplinkManager
is modified so that it uses the fallbacks if opening a deeplink is not successful.The
RequestDeeplink
andDeeplinkRequestingBehavior
take an additionalDeeplinkFallbackType
enum in the initializer which defaults to.mobileWeb
. Otherwise, it can fall back to.appStore
or.none
.