This feature is now available in "Dynamic App Links" for Android 15 & 16 devices! [The general documentation](https://developer.android.com/training/app-links/about#dynamic-app-links) seems straightforward, and the [technical documentation](https://developer.android.com/training/app-links/configure-assetlinks#configure-dynamic) explains the dictionary-based approach.
So, to exclude `/v/login1.php` with the parameter `type` = `c`, you should be able to use this (untested) within your `assetlinks.json` object:
```
[
{
... your existing config ...
"relation_extensions": {
"delegate_permission/common.handle_all_urls": {
"dynamic_app_link_components": [
{"/": "/v/login1.php", "?": {"type": "c"}, "exclude": true}
]
}
}
}
]
```
This feature is now available in "Dynamic App Links" for Android 15 & 16 devices! [The documentation](https://developer.android.com/training/app-links/about#dynamic-app-links) seems straightforward, with the suggested use cases:
> **Exclusions support**: You can specify certain paths or sections of a URL that shouldn't open your app, even if they would otherwise match your App Link configuration.
>
> **Query parameters support**: With the new Query parameters functionality you can define specific parameters that, if present in a URL, will prevent your app from opening. This opens up exciting possibilities for dynamic exclusions, A/B Testing and gradually enabling app linking for certain user segments.
>
> **Dynamic updates**: Make updates to your App Links configuration without needing to update your app by specifying the URL paths that your app handles directly within the **`assetlinks.json`** file hosted on your server.
The [technical documentation](https://developer.android.com/training/app-links/configure-assetlinks#configure-dynamic) explains the dictionary-based approach, so for excluding the `adm` directory you should be able to use this (untested) within your `assetlinks.json` object:
```
[
{
... your existing config ...
"relation_extensions": {
"delegate_permission/common.handle_all_urls": {
"dynamic_app_link_components": [
{"/": "/adm/*", "exclude": true}
]
}
}
}
]
```
Since other people might stumble across this question like I did, here's the rules I'm looking to eventually implemented (for now, Android 15 & 16 only is a blocker):
```json
dynamic_app_link_components: [
{"/": "/website-page", "exclude": true}, // Disable `example.com/website-page`
{"/": "*", "?": {"in_app": "false"}, "exclude": true} // Disable `example.com/anything?in_app=false`
]
```