Вопрос о схеме мобильного приложения глубоких ссылок
У меня установлено приложение Medium на моем iPhone.
При выполнении поиска в приложении Google Chrome, когда я нажимаю на ссылку medium.com в результатах поиска, оно открывает мое приложение Medium.
Как это может случиться? Как Google Chrome может интерпретировать https://medium.com/ на средний://?
1 ответ
Таким образом, особенность, на которую вы ссылаетесь, это Universal Links и требует как серверной, так и клиентской модификаций.
На стороне сервера / веб-сайта необходимо добавить файл AASA (Apple App Site Association). Этот файл представляет собой просто файл JSON, который содержит конкретные ссылки на приложения для соответствующего идентификатора приложения. Образец показан ниже.
{
"applinks": {
"apps": [],
"details": [{
"appID": "ABCDEBBQ.com.medium.ios",
"paths": ["*"]
}]
}
}
Если вы заметите ключ пути в JSON выше, вы увидите, что там есть символ звезды или подстановочный знак. Это просто означает открыть любой URL на домене моих сайтов. Например, www.medium.com/topposts откроется в среднем приложении iOS. Следует отметить, что вы можете явно определить свои пути для включения или исключения.
На стороне клиента (XCode) вы должны настроить возможность связанных доменов внутри вашего приложения и указать службу applinks для вашего домена в этом случае www.medium.com
Наконец, вам нужно добавить возможность к идентификатору вашего приложения на портале для разработчиков.
После завершения всей этой конфигурации у вас должна появиться "ссылка" между вашим веб-сайтом и приложением.
Apple обрабатывает всю эту логику внутренне в iOS, и, поскольку она является закрытым исходным кодом, я не могу дать вам точные детали реализации, но справедливо то, что когда вы посещаете домен (medium.com) на вашем устройстве iOS, он загружает файл AASA из веб-сервер (файл AASA должен быть размещен на безопасном сервере и может быть загружен только через HTTPS), а затем операционная система проверяет, есть ли на устройстве соответствующее приложение, соответствующее appId, указанному в файле AASA. Если и пути, и идентификаторы приложений совпадают, то на телефоне запускается среднее приложение iOS.
Вот как это работает. Я надеюсь, что я сформулировал это достаточно хорошо.