Handle query parameters in Universal Links

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;

Related Article