iOS Universal Links: игнорировать путь с параметрами - PullRequest
0 голосов
/ 15 мая 2018

Я не могу заставить iOS Universal Links принять один тип пути, но игнорирую другой, довольно похожий. Пути, которые я хочу открыть в моем приложении, выглядят так: /details/123567, пути, которые я хочу игнорировать, выглядят так: /details?search=123456.

Сначала я занес в белый список /details/*, но это открыло оба вида ссылок. Добавление NOT /details?query=* не позволило открыть все ссылки. Я прочитал, что параметры пути игнорируются.

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "a.b.c",
        "paths": [ "NOT /details?search=*", "/details/*"]
      }
    ]
  }
}

Есть ли способ успешно различить оба вида путей?

Ответы [ 3 ]

0 голосов
/ 15 мая 2018

На самом деле на реализацию кода влияют два фактора, номер один - это порядок заданных путей. Первый путь имеет наивысший приоритет над другим путем. Вторая причина в том, что «/ *» означает совпадение подстроки. попробуйте добавить "NOT / details? search = / *" (перед звездочкой отсутствует косая черта). Если нет, то

попробуйте более конкретно указать ссылки, например, если обе ссылки

  1. https://www.domainname.com/category1/details/abc
  2. https://www.domainname.com/category2/details?search=12354/abc

тогда ваша ассоциация с сайтом приложений Apple должна быть

  {
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "a.b.c",
        "paths": [ "NOT /category1/details/*", "/category2/details/*"]
      }
    ]
  }
}

если проблема не решена, укажите абсолютные ссылки?

0 голосов
/ 16 мая 2018

Мне удалось это исправить:

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "a.b.c",
        "paths": [ "NOT /details/", "/details/*"]
      }
    ]
  }
}
0 голосов
/ 15 мая 2018

С Документация Apple :

Обратите внимание, что для сравнения используется только компонент пути URL.

Таким образом, любые параметры запроса (после ?) игнорируются.

...