Как справиться со сценарием, когда два приложения могут отвечать на один и тот же домен в iOS

Как указано в заголовке, давайте предположим, что есть два приложения, которые являются братскими и сестринскими приложениями, принадлежащими одной и той же компании, но с разным брендом. Рассмотрим следующие сценарии:

  • Если на моем телефоне установлено приложение Brother, и пользователь нажимает URL-адрес, скажем, в приложении WhatsApp, то с помощью универсальных ссылок открывается приложение Brother. Здесь никаких проблем не возникает, и жизнь продолжается.
  • Если на моем телефоне установлено сестринское приложение, а братское приложение не установлено, и пользователь нажимает URL-адрес, скажем, в каком приложении, то с помощью универсальных ссылок открывается родственное приложение. Здесь никаких проблем не возникает, и жизнь продолжается.

Эта проблема:

  • Теперь, если братские и сестринские приложения установлены на одном iPhone, и пользователь нажимает URL-адрес в приложении WhatsApp. Что-то идет не так, и поведение не определено в соответствии с Apple.

Итак, вопрос в том, что теперь? В 2017 году есть ли какие-то стратегии по этому поводу? Вы видите, что на Android, когда пользователь нажимает ссылку, ОС Android открывает диалоговое окно и спрашивает пользователя, какое приложение он хотел бы использовать, чтобы открыть ссылку, и это не проблема. Что было бы лучше всего предпринять на iOS?


person user481610    schedule 22.07.2017    source источник
comment
Единственное решение, которое у меня есть до сих пор, - это иметь еще 3, которые могут поглощать универсальную ссылку и подсказывать пользователю, хотят ли они открывать братское или сестринское приложение. Это эффективно имитирует диалоговое окно ОС Android. Но тогда мне нужно другое приложение, которое будет действовать как прокси ... правда?   -  person user481610    schedule 22.07.2017
comment
Полагаю, о специализации ваших диплинков для каждого из приложений не может быть и речи?   -  person Losiowaty    schedule 22.07.2017
comment
@Losiowaty, возможно, уточнить? Может, пример?   -  person user481610    schedule 22.07.2017
comment
@Losiowaty означает, что вы можете персонализировать ссылки для приложений с помощью файла ассоциации яблочного приложения-сайта. Затем, например, вы можете использовать: https: // ‹domain› / app1 / ‹content› и https: // ‹domain› / app2 / ‹content›. Каждая ссылка будет открываться только в том приложении, которое вы хотите.   -  person Blackvenom    schedule 22.07.2017


Ответы (1)


Согласно документации Apple, вы можете указать несколько приложений в файле apple-app-site-association (AASA).

Из https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html

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

Вы сами определяете порядок. Если в приложении Brother есть больше функций, имеет смысл сначала поставить это приложение. Типичный случай, когда требуется такая настройка: у разработчика есть Free-lite версия приложения и полная платная версия приложения.

person Oleksiy Ivanov    schedule 23.07.2017
comment
Сработало бы это, если бы домены были разными для братских и сестринских приложений. Т.е. у братского приложения есть домен Brother.com, а у сестринского приложения - домен sister.com? - person user481610; 23.07.2017
comment
Когда каждое приложение имеет отдельный домен, у вас есть отдельный файл AASA. Вы можете связать каждое приложение с несколькими доменами через универсальные ссылки. Например: приложение-брат - ›[mycompany.com, brother.mycompany.com], приложение-сестра -› [mycompany.com, sister.mycompany.com]. AASA на mycompany.com будет включать оба приложения. - person Oleksiy Ivanov; 23.07.2017