Поддержка одного домена в двух разных приложениях, поддерживающих универсальные ссылки.

У меня есть приложение, которое поддерживает универсальные ссылки, и в настоящее время оно находится в магазине приложений.

Скажем, он поддерживает домен www.example.com и, таким образом, через него можно легко открыть универсальные ссылки. У нас будут applinks:www.example.com в связанных доменах.

Теперь скажите, хочу ли я выпустить другое приложение, и оно также поддерживает тот же домен. Теперь, как iOS будет отличать, какое приложение открывать через универсальные ссылки..?

2 ответа

Решение

Я нашел решение, оно довольно простое, хотя. Моя проблема заключалась в том, что мое первое приложение поддерживало все страницы, заявив

"*" в разделе путей файла apple-app-site-association. Теперь все, что мне нужно сделать, это добавить НЕ перед одним из путей, которые я хотел бы обработать вторым приложением.

как "НЕ / Кабины". Я еще не проверял, работает ли это или нет. Я опубликую обновление, как только я закончу с ним.

Для поддержки Universal Links с одним доменом в двух разных приложениях, вам нужно внести изменения в существующий apple-app-site-association файл, по адресу https://{домен}/apple-app-site-association.

Для поддержки одного приложения

Для поддержки одного приложения это выглядит так

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "1234ABCDE.com.domain.myapp",
                "paths": ["*"]
            }
        ]
    }
}

Для поддержки нескольких приложений

Для поддержки нескольких приложений вам нужно добавить еще одну пару ключ-значение в details массив applinks в apple-app-site-association, Это выглядит так

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "1234ABCDE.com.domain.myApp",
                "paths": ["*"]
            },
            {
                "appID": "1234ABCDE.com.domain.mySecondApp",
                "paths": ["*"]
            },
            {
                "appID": "1234ABCDE.com.domain.myThirdApp",
                "paths": ["*"]
            }
        ]
    }
}

Общий формат apple-app-site-association файл

Файл выглядит так:

{
"applinks": {
    "apps": [ ],
    "details": [
        {
            "appID": "{app_prefix}.{app_identifier}",
            "paths": [ "/path/to/content", "/path/to/other/*", "NOT /path/to/exclude" ]
        },
        {
            "appID": "TeamID.BundleID2",
            "paths": [ "*" ]
        }
    ]
}
}

Рекомендации

Как поддержать Universal Links в iOS App и настроить сервер для него?

Пример файла Apple App Site Association

{
    "applinks": {
        "apps": [],
        "details": [{
            "appID": "D3KQX62K1A.com.example.photoapp",
            "paths": ["/albums"]
            },
            {
            "appID": "D3KQX62K1A.com.example.videoapp",
            "paths": ["/videos"]
        }]
    }
}

Важно: порядок словарей в массиве определяет порядок, в котором система следует при поиске соответствия. Первое совпадение побеждает, позволяя вам назначить одно приложение для обработки указанных путей на вашем веб-сайте, а другое приложение - для обработки остальных.

Ссылки: https://developer.apple.com/documentation/uikit/core_app/allowing_apps_and_websites_to_link_to_your_content/enabling_universal_links

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