In this article I'll show how to handle query parameters in Universal Links.
Currently #(inline-links) and ?(query-parmeter) not supported by Universal Links
. Apple not provided any format to support Inline-Links
& Query-Parmeter
in apple-app-site-association
file.
In order to do indexing to www.mywebsite.com?parameter=something, I'm using the following json file.
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TEAMID.BUNDLEID",
"paths":[ "*" ]
}
]
}
}
If you want to limit the indexing only to some parameter for example query_parmeter1
and query_parmeter2
then you need to handle this in UIApplicationDelegate method [UIApplicationDelegate application: continueUserActivity: restorationHandler:]
something like this
-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{
if ([userActivity.activityType isEqualToString: NSUserActivityTypeBrowsingWeb]) {
NSURL *url = userActivity.webpageURL;
if ([url.query containsString:@"query_parmeter1"]) {
//handle code for query_parmeter1
}else if ([url.query containsString:@"query_parmeter2"]){
//handle code for query_parmeter2
}
}
return YES;
}