Deep Linking
In order to enable deep linking to all supported screens, you will need to register a URL Scheme in your target’s Info.plist
. This value should be provided by VenueNext integration support.
If you already have an App Scheme that you support or are planning to support, please let VenueNext know in case you have any issues.
To add a URL Scheme to your Info.plist
:
- Add a
URL types
array to yourInfo.plist
- If no items have been added, under the
Item 0
dictionary, add aURL Schemes
array entry - The
Item 0
in theURL Schemes
array should be a value type of String. Add your app scheme name here.
In your AppDelegate, add the following:
public func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
let canHandle = VenueNextWeb.canHandle(url: url)
if canHandle {
VenueNextWeb.handle(url: url, presenter: presenter, completion: nil)
}
return canHandle
}
Deeplink examples and format
Query Parameter Legend
pt = Product Type
mid = Menu UUID
eid = Event UUID
iid = Item UUID
vid = Variant UUID
// The following are filters for the revenue center lists. The below are only to be used in conjunction with Product Type (pt).
f_nwt = No Wait Times (Boolean)
f_st = Service Type (pickup, delivery, none) - Case Sensitive
f_l = Locations (comma delimited, URI encoded) - Exact matches only
f_c = Categories (comma delimited, URI encoded) - Exact matches only
Testing Deep Links
Once integrated, an easy shortcut to test a deep link via xcrun
CLI is:
xcrun simctl openurl booted "<DEEP_LINK_HERE>"
Deep linking to Product Type Menus
<APP_SCHEME>://vn/rvc?pt=<PRODUCT_TYPE>
// e.g
vndemoapp://vn/rvc?pt=all
vndemoapp://vn/rvc?pt=food
vndemoapp://vn/rvc?pt=merchandise
vndemoapp://vn/rvc?pt=experience
Deep linking to Product type Menus with filters
Filters do not work for the Experience product type
<APP_SCHEME>://vn/rvc?pt=<food/merchandise>&f_nwt=<true/false>&=f_st=<pickup/delivery/none>&f_l=<comma,delimited,uri,encoded,list>&f_c=<comma,delimited,uri,encoded,list>
// e.g.
vndemoapp://vn/rvc?pt=food&f_nwt=true&f_st=pickup&f_l=Upper%20Deck&f_c=Finger%20Foods
vndemoapp://vn/rvc?pt=merchandise&f_nwt=false&f_st=delivery&f_l=Upper%20Deck,Lower%Deck,Upstairs,Downstairs&f_c=Finger%20Foods,Alcohol
Deep linking to a specific Food & Beverage or Merchandise Menu
<APP_SCHEME>://vn/rvc/menu?pt=<PRODUCT_TYPE>&mid=<MENU_UUID>
// e.g.
vndemoapp://vn/rvc/menu?pt=food&mid=55559869-3e16-4acd-87e5-a35f7e49a8de
Deep linking to an Experience Menu
<APP_SCHEME>://vn/rvc/menu?pt=experience&mid=<MENU_UUID>
// e.g.
// Experience Menu without an Event pre-populated
vndemoapp://vn/rvc/menu?pt=experience&mid=399f78b7-5576-48e2-abd8-99d390c042ee
// Experience Menu with an Event pre-populated
vndemoapp://vn/rvc/menu?pt=experience&mid=399f78b7-5576-48e2-abd8-99d390c042ee&eid=eb224e64-bcc5-4cc8-9109-e9893da6c228
Deep linking to a specific Food & Beverage or Merchandise Menu Item
<APP_SCHEME>://vn/rvc/menu?pt=<PRODUCT_TYPE>&mid=<MENU_UUID>&=iid=<ITEM_UUID>
// e.g.
vndemoapp://vn/rvc/menu?pt=food&mid=55559869-3e16-4acd-87e5-a35f7e49a8de&iid=796f81a3-2409-4b5d-8c5b-78687624b400
Deep linking to a Detailed Experience Menu view
<APP_SCHEME>://vn/rvc/menu?pt=experience&mid=<MENU_UUID>&iid=<ITEM_UUID>
// e.g.
// Detailed Experience Menu view without event pre-populated
vndemoapp://vn/rvc/menu?pt=experience&&mid=399f78b7-5576-48e2-abd8-99d390c042ee&iid=e048b2a6-2aaf-46ee-8df1-19f821189972
// Detailed Experience Menu view with event pre-populated
vndemoapp://vn/rvc/menu?pt=experience&sid=399f78b7-5576-48e2-abd8-99d390c042ee&mid=399f78b7-5576-48e2-abd8-99d390c042ee&eid=c7b19487-f24b-433e-aaf9-29f150893b22&iid=e048b2a6-2aaf-46ee-8df1-19f821189972
Deep linking to user’s Order History
// Order History
<APP_SCHEME>://vn/order/activity
// e.g.
vndemoapp://vn/order/activity
// Order Receipt
<APP_SCHEME>://vn/order/receipt?uuid=<RECEIPT_UUID>
// e.g.
vndemoapp://vn/order/receipt?uuid=5cdd721d-5950-45b7-abdc-b4b5e74675d2
Deep linking to user’s Wallet and sub pages
// Wallet
<APP_SCHEME>://vn/wallet
// e.g.
vndemoapp://vn/wallet
// Virtual Currency Activiity
<APP_SCHEME>://vn/wallet/virtual-currency/activity
// e.g.
vndemoapp://vn/wallet/virtual-currency/activity
// Scan and Pay
<APP_SCHEME>://vn//wallet/scan-and-pay
// e.g.
vndemoapp://vn/wallet/scan-and-pay
// Send Virtual Currency
<APP_SCHEME>://vn/wallet/virtual-currency/transfer
// e.g.
vndemoapp://vn/wallet/virtual-currency/transfer
// Benefits and Rewards
<APP_SCHEME>://vn/wallet/virtual-currency/awards-rules
// e.g.
vndemoapp://vn/wallet/virtual-currency/awards-rules
// My Info
<APP_SCHEME>://vn/profile/settings
// e.g.
vndemoapp://vn/profile/settings
// My Badge
<APP_SCHEME>://vn/wallet?showBadge=1
// e.g.
vndemoapp://vn/wallet?showBadge=1
// My Payment Methods
<APP_SCHEME>://vn/wallet?showPayments=1
// e.g.
vndemoapp://vn/wallet?showPayments=1
// Scanner
<APP_SCHEME>://vn/wallet/scanner
// e.g.
vndemoapp://vn/wallet/scanner
// QR Code
<APP_SCHEME>://vn/wallet/qrcode
// e.g.
vndemoapp://vn/wallet/qrcode
// Load Tickets
<APP_SCHEME>://vn/wallet?showExchangeServiceDialog=1
// e.g.
vndemoapp://vn/wallet?showExchangeServiceDialog=1