Регистрация Android глубоких ссылок без включения поддоменов - PullRequest
2 голосов
/ 17 апреля 2020

Я пытаюсь создать глубокую ссылку, соответствующую URL-адресу, указанному в указанном домене, а не в поддоменах. Моя запись о намерениях <data /> выглядит следующим образом:

<data
  android:host="example.com"
  android:pathPrefix="/somepath"
  android:scheme="https" />

Это прекрасно работает и соответствует URL-адресам с https://example.com/somepath, как и следовало ожидать. Однако есть также URL-адреса, которые у меня выглядят как https://subdomain.example.com/somepath, которые я не хочу сопоставлять. Они также подхватываются этим вводом данных!

Я хочу СТРОГО сопоставлять на хосте и не включать никаких поддоменов. Возможно ли это в Android?

Невозможно изменить схему URL для любого набора ссылок.

1 Ответ

0 голосов
/ 17 апреля 2020

Как я вижу в документации , ваша конфигурация не будет соответствовать субдоменам.

Если вы хотите принять все субдомены, вы должны использовать символ звездочки (*) перед Ваш хост такой: *.example.com.

Итак, ответ таков: example.com не будет сопоставляться ни с какими поддоменами, такими как subdomain.example.com

, который я создал, и Activity со следующим намерением: filter

<intent-filter>
   <action android:name="android.intent.action.VIEW" />
   <category android:name="android.intent.category.DEFAULT" />
   <category android:name="android.intent.category.BROWSABLE" />
   <data
       android:host="example.com"
       android:pathPrefix="/somepath"
       android:scheme="https" />
</intent-filter>

Откроется test.example.com в окне браузера:

adb shell am start -a android.intent.action.VIEW -d "https://test.example.com/somepath/test"

Откроется мое приложение:

adb shell am start -a android.intent.action.VIEW -d "https://example.com/somepath/test"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...