The older paths
element in the site association file that is used by iOS 12 and earlier only examines the path of the url.
From the documentation:
Note that only the path component of the URL is used for comparison. Other components, such as the query string or fragment identifier, are ignored.
If you only want your app to handle urls with a specific query string then you will need to check the query string in the URL once your app receives it.
If the query string doesn't meet your requirements then you can pass the URL to openURL
to have it opened in Safari.
In iOS 13, the components
key in your site association file can specify a query string match.
{
"applinks": {
"apps": [],
"details": [
{
"appID": "47BSW6D45T.com.acno.AppBundleId",
"paths": [
"*"
],
"appIDs": ["47BSW6D45T.com.acno.AppBundleId"],
"components":[
{
"/": "*",
"?": { "v": "*" },
"comment": "Matches any URL whose path starts with / and which has a query item with name 'v'"
}
}
]
}
}