Связанные домены iOS - субдомены, похоже, игнорируются

У меня есть две конфигурации сборки: App и App Stage.

Каждая конфигурация имеет разные Associated Domains настроены: app.mydomain.com и app-stage.mydomain.com.

Конечно, каждый сайт выставляет разные apple-app-site-association файлы: app.mydomain.com/apple-app-site-association и app-stage.mydomain.com/apple-app-site-association (HTTP 200, без расширения.json и т. д.).

Проблема в том, что только первый зарегистрированный домен (к сожалению, это Stage) работает правильно. Когда у меня установлены оба приложения, каждая глубокая ссылка (app.mydomain.com/home и app-stage.mydomain.com/home) открывает сцену приложения. Когда у меня установлен только App Sage, обе ссылки открывают его. Когда у меня установлено только приложение, ни одна ссылка не работает. Похоже, поддомен Associated Domains игнорируется и учитывается только mydomain.com.

Я предполагаю, что конфигурации сборки определены правильно, потому что я также различаю другие настройки, такие как Facebook, Google и другие.

Вы когда-нибудь сталкивались с подобной проблемой? Разрешено ли использовать разные субдомены одного домена для Associated Domains использование?

ОБНОВИТЬ:

Следуя инструкциям @clayjones94, я проверил, загружает ли каждое приложение правильный файл JSON с помощью Charles Proxy. Я обнаружил, что эта сцена приложения выбирает правильный файл, а приложение не получает ни одного файла.

Я также отредактировал URL-адрес в HTTP-запросе app-stage.mydomain.com/apple-app-site-association в Charles, чтобы убедиться, что app.mydomain.com/apple-app-site-association возвращает правильный JSON. Когда я удалил -stage из URL и повторил вызов, он выбрал другой JSON-файл, поэтому я подтвердил, что бэкэнд работает правильно для обеих конфигураций.

Сначала я подумал, что мои конфигурации сборки были неправильными. Поэтому я решил заменить приложение applinks:app.mydomain.com связанный домен с Stage's applinks:app-stage.mydomain.com чтобы увидеть, может ли конфигурация приложения получить файл стадии приложения. Это сработало, приложение загрузило JSON-файл App Stage. Опять же, это похоже на поддомен Associated Domains игнорируется и учитывается только первый зарегистрированный поддомен.

2 ответа

Когда речь заходит об универсальных ссылках (доменах приложений), нет ничего похожего на концепции доменов и поддоменов. Думаю, должна быть проблема с конфигурацией apple-site-association-file.

Пожалуйста, проверьте конфигурацию apple-site-association-относительно поля appID. Я сомневаюсь, что вы могли разместить один и тот же appID в обоих файлах.

у вас должны быть разные appID для двух конфигураций.

При извлечении файла ассоциации сайта приложений Apple ваша ОС должна загружать обе версии по отдельности. Я рекомендую удалить оба приложения и перезагрузить телефон, чтобы убедиться, что старые файлы AASA не кэшируются.

Когда вы собираетесь установить приложения обратно на свой телефон, вы можете использовать Charles Proxy, чтобы увидеть, вытягивает ли каждая установка правильный файл AASA. Поскольку у вас есть оба URL-адреса в связанных доменах, каждая установка собирает оба файла AASA. Если ваше производственное приложение не закрывается, это может быть проблемой Apple, и вам просто нужно удалить приложение и повторить попытку.

Если вы проверяете, что оба файла AASA извлекаются для каждого приложения, вам следует убедиться, что идентификаторы приложений правильные (что, как вам кажется). Если у обоих приложений есть оба связанных домена и оба файла AASA с правильными идентификаторами приложений, ваша ОС должна открыть правильное приложение в зависимости от ссылки. Если это по-прежнему не работает, это может означать, что ваши файлы AASA были подписаны правами, связанными с вашим промежуточным приложением, но не с рабочим приложением.

Я предлагаю использовать Branch для вашей универсальной ссылки. В Branch есть тестовые ссылки, которые вы можете использовать для тестирования ссылок для вашего приложения prod, и вы должны иметь возможность создать отдельное приложение для Branch для вашего промежуточного приложения, чтобы у вас были разные ссылки для обоих. Приятно, что мы выполним всю обработку и подписание AASA для вас. Сервис глубоких ссылок бесплатный, и мы выполняем отложенные глубокие ссылки:).

Другие вопросы по тегам