Глубокие ссылки iOS (AASA)
Что такое ААСА?
Чтобы поддерживать глубокие ссылки на iOS, вам необходимо разместить на своем веб-сайте файл Apple-App-Site-Association (AASA). Файл AASA — это файл JSON, который содержит информацию о схемах URL-адресов, поддерживаемых вашим приложением. Когда пользователь нажимает на ссылку, которая соответствует одной из схем URL-адресов в файле AASA, вместо браузера открывается приложение.
Почему это важно?
Apple хочет убедиться, что ссылка, которую вы используете для открытия своего приложения, действительно принадлежит вам, и вы не пытаетесь открыть свое приложение по ссылкам из других приложений, например по ссылкам Facebook или Instagram.
Как должен выглядеть файл?
этот файл должен содержать соответствующие настройки вашего приложения, а структура файла должна выглядеть так
{ "applinks": { "apps": [], "details": [ { "appID": "YourAppID", "paths": ["*"] } ] } }
apps: должен присутствовать массив приложений, но он всегда будет пустым.
Идентификатор приложения: создается путем объединения идентификатора команды вашего приложения* (или префикса приложения Apple) и идентификатора пакета**. В приведенном выше примере 3XXXXX9M83 — это идентификатор команды, а io.branch-labs.Branchster — идентификатор пакета.
paths: массив строк, указывающих, какие пути включены или исключены из ассоциации.
- Не знаете, какой у вас идентификатор команды? Перейдите на https://developer.apple.com/account и получите его в разделе «Членство».
Хорошо.. как обслуживать этот файл?
Если вы используете FastAPI для обслуживания своего веб-сайта, вы можете легко обслуживать файл AASA, создав новую конечную точку в своем API.
from fastapi import FastAPI, File, UploadFile app = FastAPI() @app.get("/apple-app-site-association") async def apple_app_site_association(): return File("path/to/apple-app-site-association.json", filename="apple-app-site-association.json")
В приведенном выше фрагменте кода создается конечная точка apple_app_site_association, которая обслуживает файл AASA. Класс File используется для обслуживания файла, а для параметра имени файла задано значение apple-app-site-association.json, чтобы гарантировать, что файл обслуживается с правильным типом содержимого.
Вы также можете предоставить файл AASA, загрузив его на свой сервер.
@app.post("/apple-app-site-association") async def apple_app_site_association(file: UploadFile): return File(file.file, filename="apple-app-site-association.json")
Таким образом, пользователь может загрузить файл AASA на ваш сервер, используя эту конечную точку.
Не делай глупых ошибок
Важно отметить, что файл AASA должен передаваться через защищенное соединение (HTTPS), а его местоположение должно быть доступно для всех клиентов. Также важно убедиться, что файл доступен с правильным типом содержимого.
Проверка вашего файла
Вы можете убедиться, что загруженный вами файл обслуживается правильно, используя Проверку ассоциации Apple.
просто поместите свой полный URL-адрес в корень быстрого API
без — /apple-app-site-association
ссылка должна выглядеть так -
Если вы все сделали правильно, то должны увидеть следующее:
Помнить!
обслуживать файл ассоциации сайта-приложения-яблока с помощью FastAPI очень просто. Вам просто нужно создать новую конечную точку в вашем API, которая обслуживает файл, и убедиться, что он обслуживается через безопасное соединение и доступен для всех клиентов. Вы можете передать файл, указав путь к файлу или загрузив его на свой сервер.
Удачи, Шайло!