Поддержка одного и того же домена в разных приложениях, разработанных разными командами

Я просмотрел этот пост но это не решает нашу текущую проблему. Мы ищем партнерских отношений с данной компанией на предприятии, и вопрос в том, могут ли наши файлы ассоциации сайтов Apple содержать идентификаторы команд и приложений друг друга, но при этом отвечать на один и тот же домен? то есть наш сервер будет содержать:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "1234ABCDE.com.ourdomain.ourApp",
                "paths": ["*"]
            },
            {
                "appID": "D3KQX62K1A.com.theirdomain.theirApp",
                "paths": ["*"]
            }

        ]
    }
}

Это означает, что наше приложение может иметь applinks:ourdomain.com в связанных доменах нашего приложения. Их сервер будет содержать:

{
        "applinks": {
            "apps": [],
            "details": [
                {
                    "appID": "1234ABCDE.com.ourdomain.ourApp",
                    "paths": ["*"]
                },
            {
                "appID": "D3KQX62K1A.com.theirdomain.theirApp",
                "paths": ["*"]
            }

            ]
        }
    }

Затем в связанных с ними доменах они также могут иметь: applinks:ourdomain.com. Так что, если пользователь нажмет URL-адрес нашего домена.com и его приложение будет установлено, оно откроет свое приложение? Я хочу посмотреть, сможем ли мы открыть их приложение, когда один из наших URL-адресов нажат, и у пользователя установлено приложение. Что произойдет в сценарии, если у пользователя установлены оба наших приложения?


person user481610    schedule 23.07.2017    source источник


Ответы (1)


Общий ответ

Это, безусловно, сработает — именно так должны работать универсальные ссылки. Вы выполняете две обязательные части:

  1. Проверка «контроля» домена с помощью файла apple-app-site-association.
  2. Запрос проверки домена с использованием права applinks: внутри приложения.

Неважно, кто официально владеет доменом, если присутствуют обе части.

Что касается того, что происходит, когда оба приложения устанавливаются одновременно, Apple (конечно) права: это не определено. Это означает, что Apple специально решила не поддерживать эту ситуацию, поэтому нет гарантия того, что произойдет. Чтобы избежать этого, вы не должны использовать "paths": ["*"] для обоих приложений; вместо этого сделайте что-то вроде "paths": ["/ourApp/*"] и "paths": ["/theirApp/*"], чтобы различать ссылки на основе пути.

Информация для конкретной отрасли

Поскольку вы упомянули Branch.io (полное раскрытие: я в команде Branch), я также расскажу, как это обычно работает на нашем сервисе.

Мы предоставляем и размещаем файл apple-app-site-association автоматически для каждого приложения, поэтому вам не нужно беспокоиться о технических деталях. Когда у нас есть два приложения, заинтересованные в партнерстве друг с другом таким образом, процесс прост:

  1. Вы хотите открыть их приложение.
  2. Вам предоставляется ключ ветки их приложения.
  3. Вы используете ключ филиала их приложения для создания ссылок, часто с помощью добавление параметров запроса.
  4. Эти ссылки автоматически откроют их приложение, точно так же, как если бы они создали ссылки.
person Alex Bauer    schedule 24.07.2017